EPSO: A Caching-Based Efficient Superoptimizer for BPF Bytecode

๐Ÿ“… 2025-11-19
๐Ÿ“ˆ Citations: 0
โœจ Influential: 0
๐Ÿ“„ PDF
๐Ÿค– AI Summary
Existing eBPF program optimization faces challenges including stringent verifier safety constraints, limited optimization capabilities of compilers like Clang, difficulty in manually designing rewrite rules, and prohibitively high computational overhead of superoptimization. Method: This paper proposes the first cache-based eBPF superoptimization framework. Its core innovation is offline equivalence-checkingโ€“driven supersearch to automatically generate and cache 795 reusable rewriting rules; at runtime, lightweight pattern matching efficiently applies these rules, ensuring both safety and low overhead. Contribution/Results: Evaluated on real-world projects, the framework achieves an average program size reduction of 24.37% (up to 68.87%), outperforming K2 across all benchmarks and surpassing Merlin in 92.68% of cases. It also reduces average runtime overhead by 6.60%, significantly improving throughput and latency in network applications.

Technology Category

Application Category

๐Ÿ“ 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 superoptimizer that discovers rewrite rules via offline superoptimization and reuses them to achieve high-quality optimizations with minimal runtime overhead. We evaluate EPSO on benchmarks from the Linux kernel and several eBPF-based projects, including Cilium, Katran, hXDP, Sysdig, Tetragon, and Tracee. EPSO discovers 795 rewrite rules and achieves up to 68.87 percent (average 24.37 percent) reduction in program size compared to Clang's output, outperforming the state-of-the-art BPF optimizer K2 on all benchmarks and Merlin on 92.68 percent of them. Additionally, EPSO reduces program runtime by an average of 6.60 percent, improving throughput and lowering latency in network applications.
Problem

Research questions and friction points this paper is trying to address.

Optimizing eBPF bytecode under strict kernel verifier constraints
Overcoming computational limitations of traditional superoptimization methods
Improving performance of eBPF programs in network applications
Innovation

Methods, ideas, or system contributions that make the work stand out.

Uses offline superoptimization to discover rewrite rules
Employs caching mechanism for efficient rule reuse
Reduces program size and runtime with minimal overhead
๐Ÿ”Ž Similar Papers
No similar papers found.
Q
Qian Zhu
State Key Laboratory of Novel Software Techniques, Nanjing University, Nanjing, Jiangsu 210023, China
Y
Yuxuan Liu
State Key Laboratory of Novel Software Techniques, Nanjing University, Nanjing, Jiangsu 210023, China
Z
Ziyuan Zhu
State Key Laboratory of Novel Software Techniques, Nanjing University, Nanjing, Jiangsu 210023, China
Shangqing Liu
Shangqing Liu
Nanjing University
Software EngineeringDeep Learning
Lei Bu
Lei Bu
Nanjing University
Model CheckingHybrid SystemCyber-Physical SystemFormal Verification