PARALLEL DATA LAB 

PDL Abstract

Lightweight Preemptible Functions

2020 USENIX Annual Technical Conference (USENIX ATC '20). Virtual Boston, MA, July 15–17, 2020.

Sol Boucher1, Anuj Kalia2, David G. Andersen1, Michael Kaminsky3

1 Carnegie Mellon University
2 Microsoft Research, Carnegie Mellon University
3 BrdgAI, Carnegie Mellon University

http://www.pdl.cmu.edu

Lamenting the lack of a natural userland abstraction for preemptive interruption and asynchronous cancellation, we propose lightweight preemptible functions, a mechanism for synchronously performing a function call with a precise timeout that is lightweight, e- cient, and composable, all while being portable between programming languages. We present the design of libinger, a library that provides this abstraction, on top of which we build libturquoise, arguably the rst generalpurpose and backwards-compatible preemptive thread library implemented entirely in userland. Finally, we demonstrate this software stack’s applicability to and performance on the problems of combatting head-ofline blocking and time-based DoS attacks.

FULL PAPER: pdf / talk video / slides