Research Associate in Programming Language and System Support for High-Performance Data Processing

Job summary

The Department of Computing is a leading department of Computer Science among UK Universities, and has consistently been awarded the highest research rating from the Higher Education Funding Council. 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. We are looking to hire a...

Job listing information

  • Reference ENG00197
  • Date posted 15 February 2018
  • Closing date 30 March 2018

Job description

Job summary

The Department of Computing is a leading department of Computer Science among UK Universities, and has consistently been awarded the highest research rating from the Higher Education Funding Council. 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.

We are looking to hire a motivated Research Associate interested in working on a project at the intersection of programming languages and systems, supervised by Dr Alastair Donaldson and Dr Jana Giceva in the Department of Computing.

The aim of the project is to revisit the system support for data processing algorithms on modern and future hardware. The work will cross multiple systems boundaries such as compilers, runtime and operating system support and could influence the design of future hardware architectures, especially accelerators. The end goal is to achieve both robust and high performant data processing on modern and future hardware. Example directions of research include the following:

  • Investigate novel intermediate representation for flexible yet high-performance data processing on modern accelerators.
  • Explore compiler and runtime support for such intermediate representations.
  • Explore possible co-design of such intermediate representations with automated testing and verification techniques.
  • Investigate whether and how such intermediate representation blocks can be used to influence the design of new hardware architectural features in future accelerators.
  • Explore whether additional programming language support is required or beneficial.

Duties and responsibilities

Some interesting potential challenges when building system support for data processing (also when using the proposed IR) across heterogeneous architectures include:

  • Understanding the implications of the underlying memory model and thread/task execution model for a compiler and runtime support
  • Evaluating the impact of data transfer and memory management
  • Improving the existing support for concurrent execution and multi-programming (multi-tenancy)
  • Understanding what operating system support is required to enable efficient use of acceleration and what type of OS support (if any) is required from the accelerator’s-side.
  • Exploring how existing accelerators can be leveraged for high performance data processing and what new architectural features could be used to accelerate their execution

Essential requirements

The breadth of the project allows for some flexibility in the profile of applicants. For example, candidates with the following experiences can be a good fit:

  • Background in implementing high-performance data processing algorithms (e.g., graph processing, databases, data mining, machine learning, etc.). Familiarity with optimization and architectural issues on modern processors. Expertise related to concurrent and multi/many-core software and/or working with accelerators (e.g., GPUs).
  • Expertise in working with and developing system software (e.g., operating systems, runtime systems, compilers).
  • Experience in formal verification techniques or automated testing
  • Interest in broadening their expertise in the context of the project.

All applicants require the following qualities:

  • A strong computing background with solid programming skills
  • Experience in building and working with large software systems and tools, and proven knowledge in systems or programming languages.
  • A desire to learn about many-core systems in detail.
  • A strong research track record and publications in a relevant area with an ambition to lead high-quality research
  • You must have excellent verbal and written communication skills.

The successful applicant will have or be near completing a PhD (or equivalent) in an area pertinent to the subject area. 

For informal inquiries about this position please contact Dr. Alastair Donaldson or Dr. Jana Giceva. For further information on their research interests see http://multicore.doc.ic.ac.uk/ and https://www.doc.ic.ac.uk/~jgiceva/.

*Candidates who have not yet been officially awarded their PhD will be appointed as Research Assistant within the salary range £32,380 - £34,040 per annum.

Further information

In addition to completing the online application, candidates should attach:

  • A full CV, with a list of all publications
  • A two-page research statement indicating what you see are interesting research issues relating to the above post and why your expertise is relevant
  • Transcripts of all degree results

Should you have any queries regarding the application process please contact Georgina Tennant: g.tennant@imperial.ac.uk

Documents

About Imperial College London

Imperial College London is the UK’s only university focussed entirely on science, engineering, medicine and business and we are consistently rated in the top 10 universities in the world.

You will find our main London campus in South Kensington, with our hospital campuses located nearby in West and North London. We also have Silwood Park in Berkshire and state-of-the-art facilities in development at our major new campus in White City.

We work in a multidisciplinary and diverse community for education, research, translation and commercialisation, harnessing science and innovation to tackle the big global challenges our complex world faces.

It’s our mission to achieve enduring excellence in all that we do for the benefit of society – and we are looking for the most talented people to help us get there.

Additional information

Please note that job descriptions cannot be exhaustive and the post-holder may be required to undertake other duties, which are broadly in line with the above key responsibilities.

All Imperial employees are expected to follow the 7 principles of Imperial Expectations: 

  • Champion a positive approach to change and opportunity
  • Communicate regularly and effectively within, and across, teams
  • Consider the thoughts and expectations of others
  • Deliver positive outcomes
  • Encourage inclusive participation and eliminate discrimination
  • Develop and grow skills and expertise
  • Work in a planned and managed way 

In addition to the above, employees are required to observe and comply with all College policies and regulations.

Imperial College is committed to equality of opportunity, to eliminating discrimination and to creating an inclusive working environment. We are an Athena SWAN Silver award winner, a Stonewall Diversity Champion, a Disability Confident Employer and work in partnership with GIRES to promote respect for trans people.