University of Cambridge

Job Opportunities

Jobs

PhD Studentship in Task-Based Parallelism (Fixed Term)


Fixed-term: The funds for this post are available for 48 months.

The Project

Applications are invited for a PhD student to work on hardware or software for exploiting task-based program parallelism in novel computer architectures.

Our research group has developed a number of approaches for increasing the performance of applications through parallelisation. Building on the success of the HELIX automatic parallelising compiler, our Selective Replay Vectorisation technique and our Janus binary paralleliser, we seek to develop architectures and compiler optimisations that can exploit fine-grained task-level parallelism for future microprocessors. We wish to identify opportunities for task-level parallelism, extracting parallelism when beneficial, and dealing with cross-task data dependences via speculation or synchronisation. The successful candidate will develop new analyses and transformations suitable for deployment within the compilation toolchain or processor core that can realise this system, working closely with a team of PostDocs and PhD students, as well as project partner, Arm.

Research Group

Our group consists of PostDocs and PhD students investigating performance, reliability and security in future many-core systems. The position is within the Computer Architecture Research Group at the University of Cambridge Computer Laboratory, a vibrant and internationally leading environment. Collaboration with researchers at other universities and industry around the world is encouraged and there are strong links within the group with local, national and international companies.

Candidates

We seek candidates with a strong background in Computer Science (1st class honours degree or equivalent, although a Master's is particularly desirable) with a particular interest in compilers, binary modification or computer architecture. Experience of writing code for a tool such as LLVM, DynamoRIO or gem5 would be helpful, as would familiarity with working in teams with robust engineering practices (version control, continuous integration, automated testing). An awareness of the challenges and potential solutions to parallelism extraction would be useful.

This position is open to applicants from anywhere in the world; all university fees will be paid by the project and the successful candidate will receive a stipend at the UKRI rate (https://www.ukri.org/our-work/developing-people-and-skills/find-studentships-and-doctoral-training/get-a-studentship-to-fund-your-doctorate/), currently £15,609 per year.

More Information

The funds are available for a start date in October 2022 but there is flexibility to enable a start at other points in the year.

Further details may be obtained from Dr Timothy Jones, email timothy.jones@cl.cam.ac.uk

Please provide a Curriculum Vitae (CV) and a covering letter outlining your relevant past experience, drawing particular attention to relevant hardware or software experience and linking to one or more examples of code written (e.g. a GitHub handle). If there are specific areas you would like to research, please indicate these in the letter.

Students wishing to pursue a PhD at the University of Cambridge are required to submit a short research proposal outlining the work they intend to carry out during the PhD. Candidates should get in touch to discuss this before applying, outlining their ideas for initial research directions.

Please quote reference NR28958 on your application and in any correspondence about this vacancy.

The University actively supports equality, diversity and inclusion and encourages applications from all sections of society.

The University has a responsibility to ensure that all employees are eligible to live and work in the UK.