Dr Alastair Donaldson


alastair donaldson

In the following table, contact information relevant to the page. The first column is for visual reference only. Data is in the right column.

Job title: Senior Lecturer
Division: Department of Computing
Organisation: Imperial College London
Tags: Fellowship: Early Career Fellowship, Imperial College London
Related theme: ICT


I am a Senior Lecturer in the Department of Computing at Imperial; I joined as a Lecturer in 2011. Previously, I was: Visiting Researcher, Microsoft Research Redmond (during 2011); EPSRC Postdoctoral Research Fellow, Oxford (2009-2011); developer at Codeplay Software (2007- 2009). My PhD is from the University of Glasgow.

My Fellowship

Many-core processors, including highly parallel CPUs and massively parallel graphics processing units (GPUs) are key to building efficient next-generation software. Many-core processors are present in practically all consumer devices, including smartphones and tablets. As a result, the general public in developed countries interact with many-core software daily. Many-core technology is also used to accelerate safety-critical software in domains such as medical imaging and autonomous vehicle navigation. It is thus important that many-core software should be reliable.

However, as evidenced by my prior research work, writing reliable many-core software is extremely challenging, as is providing the underlying infrastructure, including compilers and drivers, to allow many-core software to operate efficiently on a particular device.

My long-term vision is that the reliability of many-core programming can be transformed through breakthroughs in programming languages, verification and testing research, enabling automated tools to assist programmers and platform vendors in constructing reliable many-core applications and language implementations. The aim of my Fellowship is to undertake foundational research to investigate a number of open problems in these areas, whose solution is key to enabling this long-term vision. These open problems relate to programming language formalisation, advanced methods for formal verification, translation validation for high-level languages that compile to low-level many-core code, and intensive testing of many-core vendor implementations. Collectively, progress on these problems promises to enable engineering of high-assurance many-core stacks.

Partnership with leading many-core vendors, AMD, ARM, Imagination Technologies and NVIDIA, provides excellent opportunities for advances from my Fellowship to have broad industrial impact.

Motivation to Apply

Among the grants that an academic can apply for, an EPSRC Fellowship is unique in being relatively long-term and in freeing the academic from non-research responsibilities to a large degree. I have what I believe is a strong vision for how to make significant progress towards reliable many-core programming. Rather than making partial progress through management of a number of smaller research projects, I applied for a Fellowship to enable me to be deeply (and technically) involved in leading a large, longer-term research project. This will, hopefully, allow me and my group to make big steps towards this vision.

Career benefits of Fellowship

My hope is that the Fellowship will benefit my career by allowing me to make more significant progress on the scientific questions that I am tackling than I would otherwise be able to, both by supporting research staff in my group and enabling collaboration with industrial partners, but principally by allowing me to devote the majority of my time directly to the proposed research. This has the potential to further the international reputation of my research group, leading to my group, Imperial College London, and the UK, being recognised as world leaders in the rapidly-growing many-core field.

Advice for future applicants

My principal piece of advice is to propose a project that you would really dream of leading, rather than by constructing a project proposal that you believe would be regarded as attractive to others, but that you are not passionate about leading. I tried the latter for a Fellowship in the past. It was unsuccessful, and I came away with a proposal that I had spent a lot of time on but that I ultimately discarded because I did not believe in it. For my EPSRC Early Career Fellowship, I proposed a project that I really had faith in, and that I would have pursued funding for (via other sources) even if I had been unsuccessful. I think that this helped me come across well in my interview, and had I been unsuccessful I would have taken comfort from the fact that I had fleshed out an idea that I really believed in and still wanted to pursue.

Related to this, I would advise an applicant to question whether, at the time of applying, the applicant would be one of the names that an expert in the applicant’s broad field would name if the expert was asked to mention a handful of "rising stars" in the field. This is important because for a Fellowship, the applicant’s track record, and their suitability to lead the proposed work, is evaluated at least as seriously as the technical content of the proposed work itself.

Finally, and perhaps this is obvious, I would advise an applicant to get several rounds of feedback on their proposal from peers who they believe might be very critical. I significantly re-wrote my Fellowship proposal based on (at the time) very painful feedback from a recent successful recipient of an EPSRC Fellowship. It was worth it.