Eiffel: Efficient and Flexible Software Packet Scheduling
summary
Eiffel implements software packet scheduling around an FFS-based integer priority queue and a secondary queue to handle moving time ranges, plus an optional approximate queue for O(1) cases. It runs in kernel and userspace, supports flow- and packet-level ranks (including SRPT/PFabric-style semantics), and sustains line-rate ordering with low CPU overhead; evaluations show 3–40x performance gains versus prior software schedulers and a 5x increase in supported flows on one core in the PFabric test.
AI-written summary · about
chapters (17)
- 0:00Intro
- 3:00Software Scheduling
- 4:57Diversity of Requirements
- 5:40Packaged Scheduling
- 7:52Batch Processing
- 8:13Packet Ranks
- 8:56Integer Predict Use
- 9:10Comparison Operators
- 9:38Priority Queues
- 11:03First Set Based Predict
- 12:34Second Priority Queue
- 13:08Second Interest
- 13:50Extensions
- 14:14ESP Fabric
- 15:41ESP Fabric Implementation
- 16:46Conclusion
- 17:16Questions
related talks
13mSifter: An Inversion-Free and Large-Capacity Programmable Packet Scheduler
22mProgrammable Calendar Queues for High-speed Packet Scheduling
15mEverything Matters in Programmable Packet Scheduling
16mGearbox: A Hierarchical Packet Scheduler for Approximate Weighted Fair Queuing
13mClubHeap: A High-Speed and Scalable Priority Queue for Programmable Packet Scheduling
18mBBQ: A Fast and Scalable Integer Priority Queue for Hardware Packet Scheduling
20mMulti-Queue Fair Queuing
25mApproximating Fair Queueing on Reconfigurable Switches
