Making Kernel Bypass Practical for the Cloud with Junction

Authors: 

Joshua Fried and Gohar Irfan Chaudhry, MIT CSAIL; Enrique Saurez, Esha Choukse, and Íñigo Goiri, Azure Research – Systems; Sameh Elnikety, Microsoft Research; Rodrigo Fonseca, Azure Research – Systems; Adam Belay, MIT CSAIL

Abstract: 

Kernel bypass systems have demonstrated order of magnitude improvements in throughput and tail latency for network-intensive applications relative to traditional operating systems (OSes). To achieve such excellent performance, however, they rely on dedicated resources (e.g., spinning cores, pinned memory) and require application rewriting. This is unattractive to cloud operators because they aim to densely pack applications, and rewriting cloud software requires a massive investment of valuable developer time. For both reasons, kernel bypass, as it exists, is impractical for the cloud.

In this paper, we show these compromises are not necessary to unlock the full benefits of kernel bypass. We present Junction, the first kernel bypass system that can pack thousands of instances on a machine while providing compatibility with unmodified Linux applications. Junction achieves high density through several advanced NIC features that reduce pinned memory and the overhead of monitoring large numbers of queues. It maintains compatibility with minimal overhead through optimizations that exploit a shared address space with the application. Junction scales to 19–62× more instances than existing kernel bypass systems and can achieve similar or better performance without code changes. Furthermore, Junction delivers significant performance benefits to applications previously unsupported by kernel bypass, including those that depend on runtime systems like Go, Java, Node, and Python. In a comparison to native Linux, Junction increases throughput by 1.6–7.0× while using 1.2–3.8× less cores across seven applications.

NSDI '24 Open Access Sponsored by
King Abdullah University of Science and Technology (KAUST)

Open Access Media

USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.

BibTeX
@inproceedings {295475,
author = {Joshua Fried and Gohar Irfan Chaudhry and Enrique Saurez and Esha Choukse and Inigo Goiri and Sameh Elnikety and Rodrigo Fonseca and Adam Belay},
title = {Making Kernel Bypass Practical for the Cloud with Junction},
booktitle = {21st USENIX Symposium on Networked Systems Design and Implementation (NSDI 24)},
year = {2024},
isbn = {978-1-939133-39-7},
address = {Santa Clara, CA},
pages = {55--73},
url = {https://www.usenix.org/conference/nsdi24/presentation/fried},
publisher = {USENIX Association},
month = apr
}

Presentation Video