[TYPES/announce] Postdoc position at Imperial College London in "Reliable Many-Core Programming"

Alastair Donaldson alastair.donaldson at imperial.ac.uk
Mon Apr 25 10:39:10 EDT 2016

[Apologies if you receive multiple copies.]

I am looking to recruit a postdoc for a Research Associate position in 
my Multicore Programming Group at Imperial College London, to work on 
program analysis, verification and testing techniques for many-core systems.

The post is for 2.5 years (with some flexibility in start date and 
duration), and will be funded as part of my recently-awarded EPSRC Early 
Career Fellowship project, “Reliable Many-Core Programming” 
Department of Computing at Imperial provides a vibrant and stimulating 
research environment in the heart of London, with leading research 
groups working on programming languages, verification and testing.The 
department of is consistently recognised by high research ratings. In 
the 2014 REF assessment, the department was ranked third (1st in the 
Research Intensity table published by The Times Higher), and was rated 
as "Excellent" in the previous national assessment of teaching quality.

Many-core CPU and GPU architectures offer tremendous potential for 
building exciting next-generation applications.However, they present a 
real challenge to software developers and platform vendors, because (a) 
writing high-performance code in many-core programming models is 
difficult and error-prone, and (b) building highly optimizing compilers, 
drivers and runtime systems for these programming models is a large and 
complex task.

My recent work, with my research group and collaborators 
internationally, has demonstrated that formal specification, 
verification, program analysis and testing techniques can be very 
effective in the early identification of reliability issues across the 
many-core stack, including errors in next-generation architecture 
designs, bugs in many-core compilers, ambiguities and errors in 
many-core language specifications, subtle defects in many-core software, 
and problems in high-level translation tools that generate many-core 
code from higher-level representations.

The aim of the “Reliable Many-Core Programming” project is to devise 
novel techniques to aid in the engineering of rigorous many-core 
software stacks, by investigating:

·Formal techniques for precisely specifying many-core programming 
language semantics

·Program analysis and verification techniques for reasoning about the 
behaviour of massively parallel many-core code

·Translation validation methods for checking the correctness of 
automatic transformations from high-level languages into optimized 
many-core code

·Automatic test case generation to identify defects in low-level 
compilation tools targeting many-core platforms

With a strong emphasis on tool support and automation, the project will 
involve collaboration with four key industrial partners – AMD, ARM, 
Imagination Technologies and NVIDIA – as well interaction with Prof 
Albert Cohen (INRIA) and his research group.

The breadth of the fellowship project allows for some flexibility in the 
profile of applicants.For example:

·The project would be a good fit for a practically-minded applicant who 
has experience working on compiler frameworks, expertise related to 
concurrent and multi/many-core software (e.g. familiarity with 
OpenCL/CUDA), and some familiarity with optimization and architectural 
issues.I would expect such a practically-minded candidate to be 
interested in learning about more formal techniques and developing their 
theoretical background according to the needs of the project.

·The project would also be suited to a more theoretically-minded 
applicant, with a strong background in formal verification and reasoning 
about concurrent programs.There is plenty of scope for such a candidate 
to work on the theoretical foundations of many-core programming, but I 
would seek to appoint a researcher who is also enthusiastic to learn 
about practical aspects of many-core systems, and willing to invest a 
portion of their time in software engineering work and empirical evaluation.

·A candidate with a profile lying between the above examples would be ideal.

The main qualities I am looking for in an applicant are (a) a strong 
research track record in a relevant area, (b) ambition to lead 
high-quality research, (c) excellent communication skills, (d) solid 
programming skills, and (e) a desire to learn about many-core systems in 

I actively encourage an applicant who wishes to explore their own 
research ideas within the scope of the project, and a research statement 
is required as part of the application.My research group, and Imperial 
in general, also offer many opportunities to help postdocs develop as 
independent researchers (e.g. through Imperial’s postdoc development 

Please have a look at our group’s web pages and recent publications 
(http://multicore.doc.ic.ac.uk/) to see whether the sort of work we do 
excites you, and please contact me if you are interested in applying for 
the position (alastair.donaldson at imperial.ac.uk).

For formal details on how to apply, look at our department’s vacancies 
(http://www.imperial.ac.uk/computing/job-vacancies/) and search for 
“Reliable Many-Core Programming”.

Best wishes

Alastair Donaldson

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.seas.upenn.edu/pipermail/types-announce/attachments/20160425/ab01a129/attachment-0001.html>

More information about the Types-announce mailing list