Computer Laboratory

Research Group

I'm lucky enough to work with a range of fantastic people here in the Computer Lab on a variety of research themes. My current research group members are:


Tobias Kohn (PostDoc)
Tobias studies optimisations in Python, particularly in the context of scientific applications. He investigates the possibilities for, and limitations of, performance improvements of both Python as a language, as well as its current implementations. The focus of his research is on static analysis and program transformations.


Aida Miralaei (PhD Student)
Aida's PhD is on processing-in-memory for machine learning algorithms. In particular, she is looking at moving the inference phase of binarised convolutional neural networks into DRAM.


Joe Isaacs (PhD Student)
Joe is working on techniques to pass semantic information from programmer to compiler and then static analysis that uses this to break data dependences.


Márton Erdős (PhD Student)
Márton's research is looking into hardware support for fine-grained parallelism, including microarchitectures and speculation. He has previously worked on the Janus binary paralleliser and developed techniques for use-after-free mitigation.


Jasmin Jahić (PostDoc)
Jasmin is working on the Janus binary paralleliser, finding new ways to extract thread-level parallelism from applications.


Mahwish Arif (Research Assistant)
Mahwish is investigating static and runtime techniques to improve applications' performance on multi/many-core processors as well as enhancing their security properties.


Nandor Licker (PhD Student)
Nandor is studying techniques for static optimisation of binaries.


I generally take on one or two bright and enthusiastic people to join my group each year. If you are looking to do a PhD with me, I've prepared a page to give some information about the application. I typically advertise postdoc opportunities as they arise, both below and on my Twitter account.

Previous Group Members

I'm always sorry when someone leaves the group, but pleased for them that they can spread their wings and explore pastures new! Here's a list of my not-forgotten research group members and where they headed:

Sam Ainsworth
Was PhD student, then PostDoc, went to the University of Edinburgh as a lecturer. Sam worked on data prefetching through indirect memory accesses, reliability and security techniques in both hardware and software.
Peng (Tom) Sun
Was PhD student, went to Arm. Tom worked on speculative vectorisation hardware.
Ruoyu (Kevin) Zhou
Was PhD student, then PostDoc, went to Huawei. Kevin developed the Janus automatic binary parallelisation tool.
Hsi-Ming Ho
Was PostDoc, went to Sheffield Hallam University as a lecturer. Hsi-Ming brought a theoretical background to the group and worked on static analysis.
Xiaochun (Dennis) Zhang
Was PostDoc, went to Arm. Dennis explored the limits of automatic parallelisation within compilers.
Martijn Bakker
Was Research Assistant, went to a finance company in London. Martijn worked on the POETS project.
Jyothish Soman
Was PhD Student, went to the DTG. Jyothish's investigated methods for continuing processor execution despite permanent errors.
Negar Miralaei
Was PhD Student, tragically died shortly before finishing her dissertation. Negar worked on characterising processor ageing and its effect on applications.
Konstantina Mitropoulou
Was PostDoc, went to Intel. Konstantina's research explored soft error detection using the compiler.
Niall Murphy
Was PhD Student, co-advised with Robert Mullins, went to ARM. Niall was investigating the use of speculation for DoAcross parallelism.
Vasileios Porpodas
Was PostDoc, went to Intel. Vasileios developed schemes to improve the coverage of SLP vectorisation.
Dan Jones
Was PostDoc, went to the University of Oxford. Dan was looking at accelerating graph computation.
Amitabha Roy
Was PostDoc, went to EPFL, now Intel. Amitabha developed a scheme for optimised cache coherence.
Georgios Tournavitis
Was PostDoc, went to Intel. George investigated cache coherence optimisations.


I welcome visitors to my group for long or short stays, and at times these have led to successful long term collaborations. Here are some of the past visitors to my group in Cambridge:

Bruno Manganelli (from Glasgow)
Bruno developed automatic software prefetch techniques for linked data structures.
Alejandro Valero (from Valencia, now at Zaragoza)
Alex visited twice and worked with me on wearout mitigation schemes for caches.
Anouk van Laer (from UCL, now at ARM)
Anouk's research was investigating photonic networks-on-chip.
Parham Haririan (from Bremen)
Parham's PhD work looked at dynamic voltage and frequency scaling.