ABSTRACT: Indirect memory references, e.g., a[b[i]], hobble efficient and secure execution on current processors. Terabyte data sets of in-memory databases, machine learning, bioinformatics, and graph analytics now fit in DRAM, yet DRAM performance lags far behind CPUs. Scaling this 'memory wall' with large caches and speculative execution has been shown deficient in both performance and security. In this talk, I describe our complementary language and microarchitecture improvements.
Our C++ extension milk improves up to 3x performance of analytical workloads on social and web graphs, bioinformatics, and classic machine learning, by using compiler-emitted continuations and efficient radix partitioning. Cimple improves up to 6x performance of classic dictionary data structures on database transactional workloads by replacing subroutines with efficient co-routines.
The Spectre side-channel attacks use indirect loads to steal secrets, which we propose to stop with hardware extensions. SLoth blocks our novel Spectre1.1 variant, which breaks memory and type safety by abusing speculative stores. DAWG caches prevent practical cache side-channel attacks. WoLF speculative execution works toward blocking all speculative attacks.
Thesis Supervisor: Prof. Saman Amarasinghe
Thesis Committee: Profs. Srini Devadas and Martin Rinard