Mitigating CPU Frontend for Complex Data Plane Applications
summary
Finds CDPAs stall on the CPU front end (45.1% of cycles on average) due to instruction working sets far larger than L1 I‑cache, and builds NanoPL: an offline analyzer that inserts scheduling sites, an LLVM‑IR alias analysis that computes commitment windows, and a runtime scheduler that saves context and pipelines packets across I-cache-friendly stages. Evaluation on real CDPAs shows 17.2%–30.2% throughput gain and up to 86.4% reduction in I‑cache misses, demonstrating the approach reduces frontend stalls without changing program semantics.
AI-written summary · about
chapters (14)
- 0:00Introduction
- 0:19Motivation behind complex data plane applications
- 2:06CPU frontend bottlenecks
- 3:53I-cache misses in packet processing
- 4:59Limitations of I-cache optimizations
- 6:30NanoPipeLine’s core insight
- 7:11NanoPipeLine’s processing stages
- 8:36Semantic consistency in scheduling
- 10:20Cross-packet variable states
- 12:06Scheduling site placement efficiency
- 13:09Profile-guided I-cache partitioning
- 14:17NanoPipeLine’s performance gains
- 15:20Performance counters comparison
- 16:04Summary
related talks
15mThe nanoPU: A Nanosecond Network Stack for Datacenters
41mAn API for Cache Stashing Hints
22mAnalyzing Packet Data Flow in Chiplet Based SoCs
02h 53mPreview Sessions
25mDPDK performance optimization for edge computing scenario
14mEmpower Programmable Pipeline for Advanced Stateful Packet Processing
13mLightning Talk: Accelerating Cilium: Our Journey on Offloading Cilium To DPU
26mRunning DPDK on Non-Cache Coherent Platforms: Challenges and Solutions
