I am a former Lecturer (Assistant Professor) in Systems and Hardware Security within the School of Informatics at the University of Edinburgh, and current Visitor. My current responsibilities for the University consist of supervising two PhD students: Haocheng Xiao (with Nigel Topham) and Jackson Woodruff (with Mike O'Boyle).
My research interests currently include architectural and compiler techniques for:
- Data prefetching, both in software and in hardware, particularly for irregular and big data workloads.
- Efficient hardware fault detection and correction.
- Systems, runtime and hardware security.
My interests are broadly spread across all of these topics. Recently, I've done a lot of work on temporal safety, both in hardware
. I've used many-core heterogeneous architectures to achieve high performance and efficiency across all three of prefetching
. I'm also interested in microarchitectural side channels: see my recent work on MuonTrap
, and the Dijkstra's Pipe
EPSRC Project (with Vijay Nagarajan, David Aspinall and Tobias Grosser), which seeks to formalise speculative timing behaviour (exploited by Spectre) so that we can get the same rigid guarantees currently only given for functional correctness.
- Hacky Racers: Exploiting Instruction-Level Parallelism to Generate Stealthy Fine-Grained Timers, Haocheng Xiao and Sam Ainsworth, ASPLOS 2023. [Preprint] [Code]
- MineSweeper: A "Clean Sweep" for Drop-in Use-After-Free Prevention, Marton Erdos, Sam Ainsworth and Timothy M. Jones, ASPLOS 2022. [Paper] [Data Repository] [Lightning Talk]
- GhostMinion: A Strictness-Ordered Cache System for Spectre Mitigation, Sam Ainsworth, MICRO 2021. [Paper] [Github] [Video]
- MuonTrap: Preventing Cross-Domain Spectre-Like Attacks by Capturing Speculative State, Sam Ainsworth and Timothy M. Jones, ISCA 2020. [Paper] [Data Repository] [Video]
- MarkUs: Drop-in use-after-free prevention for low-level languages, Sam Ainsworth and Timothy M. Jones, S&P 2020. [Paper] [Github] [Video]
- Cornucopia: Temporal Safety for CHERI Heaps, Nathaniel Wesley Filardo, Brett F. Gutstein, Jonathan Woodruff, Sam Ainsworth, Lucian Paul-Trifu, Brooks Davis, Hongyan Xia, Edward Tomasz Napierala, Alexander Richardson, John Baldwin, David Chisnall, Jessica Clarke, Khilan Gudka, Alexandre Joannou, A. Theodore Markettos, Alfredo Mazzinghi, Robert M. Norton, Michael Roe, Peter Sewell, Stacey Son, Timothy M. Jones, Simon W. Moore, Peter G. Neumann and Robert N. M. Watson, S&P 2020. [Paper] [Data Repository] [Video]
- The Guardian Council: Parallel Programmable Hardware Security, Sam Ainsworth and Timothy M. Jones, ASPLOS 2020. [Paper] [Video] [Github] [Poster]
- CHERIvoke: Characterising Pointer Revocation using CHERI Capabilities for Temporal Memory Safety, Hongyan Xia, Jonathan Woodruff, Sam Ainsworth, Nathaniel W. Filardo, Michael Roe, Alexander Richardson, Peter Rugg, Peter G. Neumann, Simon W. Moore, Robert N. M. Watson and Timothy M. Jones, MICRO 2019. [Paper] [Data Repository] [Lightning Talk] [Poster]
- ParaDox: Eliminating Voltage Margins via Heterogeneous Fault Tolerance, Sam Ainsworth, Lionel Zoubritzky, Alan Mycroft and Timothy M. Jones, HPCA 2021. [Paper] [Data Repository] [Short Video] [Long Video]
- ParaMedic: Heterogeneous Parallel Error Correction, Sam Ainsworth and Timothy M. Jones, DSN 2019. [Paper] [Data Repository]
- Parallel Error Detection Using Heterogeneous Cores, Sam Ainsworth and Timothy M. Jones, DSN 2018. [Paper] [Poster] [Data Repository]
Prefetching and Big Data
- Vector Runahead for Indirect Memory Accesses, Ajeya Naithani, Sam Ainsworth, Timothy M. Jones and Lieven Eeckhout, IEEE Micro Top Picks 2022. [Early Access]
- Compendia: Reducing Virtual-Memory Costs via Selective Densification, Sam Ainsworth and Timothy M. Jones, ISMM 2021. [Paper] [Data Repository] [Video]
- Vector Runahead, Ajeya Naithani, Sam Ainsworth, Timothy M. Jones and Lieven Eeckhout, ISCA 2021. [Paper]
- Prefetching in Functional Languages, Sam Ainsworth and Timothy M. Jones, ISMM 2020. [Paper] [Data Repository] [Poster] [Video] [Q+A 1] [Q+A 2]
- Software Prefetching for Indirect Memory Accesses: A Microarchitectural Perspective, Sam Ainsworth and Timothy M. Jones, ACM Transactions on Computer Systems (TOCS), 2019. [Paper] [Github]
- Many-core systems for big-data computing, Sam Ainsworth and Timothy M. Jones, Book chapter in Many-Core Computing: Hardware and Software, IET Publishing, 2019. [IET Book] [Chapter]
- Prefetching for complex memory access patterns, Sam Ainsworth, PhD Thesis, University of Cambridge, 2018. [Thesis]
- An Event-Triggered Programmable Prefetcher for Irregular Workloads, Sam Ainsworth and Timothy M. Jones, ASPLOS 2018. [Paper] [Poster] [Data Repository]
- Software Prefetching for Indirect Memory Accesses, Sam Ainsworth and Timothy M. Jones, CGO 2017. [Paper] [Poster] [EuroLLVM Video] [Artefact Evaluation]
- Graph Prefetching Using Data Structure Knowledge, Sam Ainsworth and Timothy M. Jones, ICS 2016. [Paper] [Data Repository]
- CONVOLVE: Smart and seamless design of smart edge processors Manil Gomony et al., DATE 2023 (Multi Partner Project Track). [Preprint]
- Bind the Gap: Compiling Real Software to Hardware FFT Accelerators, Jackson Woodruff, Jordi Armengol-Estapé, Sam Ainsworth and Michael O'Boyle, PLDI 2022. [Preprint] [Code]
I created the course Security Engineering for UG4/UG5/MSc students, with Ross Anderson, with videos of the lectures available free to all. This gives students the opportunity to understand the ways real systems are attacked and defended, with a broad-church perspective from psychology and economics all the way down to computer architecture and transistors. Like, share and subscribe below:
I've also been a lecturer for Parallel Architectures and Introduction to Computer Systems.