Fast Code Seminar: Customizing the OS Storage and Memory Stacks With eBPF

Speaker

Columbia University

Host

Manya Ghobadi, Adam Belay

Abstract:
In the 80's and 90's, there was a surge of exciting operating system designs, focused on how applications can customize and extend the kernel for their specific needs. While these designs never achieved direct widespread adoption, with the introduction of the eBPF framework, we can now customize and extend a monolithic OS like Linux in similar ways envisioned by these earlier works. In this talk, I will talk about our group's work on customizing the storage and memory stack of Linux using eBPF to achieve much higher performance in common datacenter workloads. I will present our work on XRP and BPF-oF, which allow applications to execute user-defined storage-functions, such as index lookups or aggregations, deep within the kernel, safely bypassing most of Linux's storage stack, speeding up systems like RocksDB by ~3X. I will also describe our ongoing work on customizing Linux's memory management, including a new framework called cache_ext, which enables applications to customize the behavior of the Linux page cache.

Bio:
Asaf Cidon is an associate professor of EE and CS (jointly affiliated) at Columbia University. He has broad research interests in software systems and security. His group's research was adopted in commercial systems used by many companies, including Meta, Apple and Snowflake, was recognized by best paper awards at OSDI, UseSec, CIDR, and ATC, and by the NSF CAREER and ARO young investigator awards. Prior to joining Columbia, Asaf spent several years in industry, where his last role was SVP and co-GM of Email Protection at Barracuda Networks. He joined Barracuda via the acquisition of Sookasa, a startup where he was the CEO and co-founder. He obtained a PhD and MS from Stanford and BS from the Technion.