EPSO: A Caching-Based Efficient Superoptimizer for BPF Bytecode
Qian Zhu, Yuxuan Liu, Ziyuan Zhu, Shangqing Liu, Lei Bu

TL;DR
EPSO is a caching-based superoptimizer for eBPF bytecode that automatically discovers and reuses rewrite rules, significantly improving program size and runtime performance in Linux kernel and eBPF applications.
Contribution
It introduces EPSO, a novel caching-based superoptimizer that enhances eBPF program optimization by offline rule discovery and reuse, outperforming existing tools.
Findings
Achieves up to 68.87% reduction in program size.
Reduces program runtime by an average of 6.60%.
Outperforms state-of-the-art BPF optimizers on all benchmarks.
Abstract
Extended Berkeley Packet Filter (eBPF) allows developers to extend Linux kernel functionality without modifying its source code. To ensure system safety, an in-kernel safety checker, the verifier, enforces strict safety constraints (for example, a limited program size) on eBPF programs loaded into the kernel. These constraints, combined with eBPF's performance-critical use cases, make effective optimization essential. However, existing compilers (such as Clang) offer limited optimization support, and many semantics-preserving transformations are rejected by the verifier, which makes handcrafted optimization rule design both challenging and limited in effectiveness. Superoptimization overcomes the limitations of rule-based methods by automatically discovering optimal transformations, but its high computational cost limits scalability. To address this, we propose EPSO, a caching-based…
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
TopicsSoftware-Defined Networks and 5G · Network Packet Processing and Optimization · Parallel Computing and Optimization Techniques
