Fighting for Software Correctness in a Massively Parallel World

Alastair Donaldson

Senior Lecturer, leader of the Multicore Programming Group, Department of Computing, Imperial College London

The rise of multi- and many-core architectures has led to an explosion in both the number of systems on the market that exhibit massive parallelism, and the range of languages and libraries for programming these systems. This creates exciting opportunities for developing high performance applications, but the resulting heterogeneity in platforms and programming models presents a serious challenge for software developers and language implementers. Developers must grapple with a rapidly changing ecosystem of tools, and are faced with concurrency-related errors that only occur non-deterministically and evade traditional debugging methods. Implementers are constantly playing catch-up to make their compilers conform to the latest parallel programming language specs, while ensuring generation of efficient code for current and next-generation architectures. In this practically focussed talk I will demonstrate first-hand some of the perils associated with many-core programming, showcasing the effects of data races, relaxed memory behaviours and compiler defects. I will then give an overview of state-of-the-art techniques, both from the Multicore Programming Group at Imperial and from other researchers, that can help in the fight for correctness in this ever-changing massively parallel world.

About Alastair Donaldson

Alastair Donaldson is a Senior Lecturer in the Department of Computing, Imperial College London, where he leads the Multicore Programming Group. His group’s research focuses on methods for achieving both high performance and reliability in the design of software for multi- and many-core architectures, with a strong emphasis on tool support. Key tools from the Multicore Group include GPUVerify, a static analyser for GPU kernels, and CLsmith, a fuzzer for testing many-core compilers. Alastair was Coordinator of the FP7 project CARP: Correct and Efficient Accelerator Programming. He has published more than 50 peer-reviewed papers in formal verification and multicore programming, and has recently served on the Program Committees of the POPL, PPoPP, CAV and ESOP conferences. Before joining Imperial, Alastair was a Visiting Researcher at Microsoft USA, a Research Fellow at the University of Oxford and a Research Engineer at Codeplay. His PhD is from the University of Glasgow.

Sponsored by