Sam Ainsworth
Lecturer (Assistant Professor) in Systems and Hardware Security
Institute for Computer Systems Architecture
School of Informatics
University of Edinburgh
sainswo2 at ed.ac.uk

About

I am a Lecturer (Assistant Professor) in Systems and Hardware Security within the School of Informatics at the University of Edinburgh. Previously, I was at the University of Cambridge, where I did my undergrad and PhD (Churchill College).

Research

My research interests currently include architectural and compiler techniques for:

My interests are broadly spread across all of these topics. Recently, I've done a lot of work on temporal safety, both in hardware and software. I've used many-core heterogeneous architectures to achieve high performance and efficiency across all three of prefetching, reliability and security. 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.

Publications

Security

  • GhostMinion: A Strictness-Ordered Cache System for Spectre Mitigation, Sam Ainsworth, 2021. [Preprint]
  • 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]

Fault Tolerance

  • 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

  • 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]

Teaching

I'm currently developing the course Security Engineering for UG4/UG5/MSc students, with Ross Anderson. This will give 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. See below for a short trailer:

I'm also a lecturer for Parallel Architectures and Introduction to Computer Systems.