Using SBPF to Accelerate Kernel Memory Access From Userspace
Boming Kong, Zhizhou Zhang, Jonathan Balkind

TL;DR
This paper introduces SBPF, a shared memory-based communication interface between user applications and the kernel, utilizing a uBPF VM to enable faster, non-blocking data transfer and improve system performance.
Contribution
It proposes a novel user-kernel communication method using shared memory controlled by a uBPF VM to enhance data transfer speed and reduce overhead.
Findings
Speedups over traditional mechanisms in tested use cases
Reduced latency in user-kernel data exchange
Non-blocking data transfer enabled by shared memory
Abstract
The cost of communication between the operating system kernel and user applications has long blocked improvements in software performance. Traditionally, operating systems encourage software developers to use the system call interface to transfer (or initiate transfer of) data between user applications and the kernel. This approach not only hurts performance at the software level due to memory copies between user space address spaces and kernel space address spaces, it also hurts system performance at the microarchitectural level by flushing processor pipelines and other microarchitectural state. In this paper, we propose a new communication interface between user applications and the kernel by setting up a shared memory region between user space applications and the kernel's address space. We acknowledge the danger in breaking the golden law of user-kernel address space isolation, so…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSecurity and Verification in Computing · Advanced Data Storage Technologies · Parallel Computing and Optimization Techniques
