Loom: Flexible and Efficient NIC Packet Scheduling
summary
Loom moves per-flow packet scheduling entirely into the NIC and implements a restricted DAG policy abstraction plus a programmable hierarchical scheduler and a new OS/NIC interface with batched updates and inline metadata. A software prototype (Berkeley extensible software switch, C++/Python) uses queue-per-flow with NIC-side scheduling to hit near 40Gbps in microbenchmarks, lowers latency and improves fairness versus multi-queue Linux, and cuts worst-case PCIe writes from millions to about 191K PCIe updates/sec while remaining open source.
AI-written summary · about
chapters (9)
- 0:00Introduction to Loom
- 1:17Motivation and policy
- 3:49Limitations of current NICs
- 7:26Loom design overview
- 9:10Policy graph abstraction
- 12:58Hardware enforcement
- 15:50Efficient NIC interface
- 17:53Evaluation and results
- 21:50Conclusion and Q&A
related talks
16mRingLeader: Efficiently Offloading Intra-Server Orchestration to NICs
18mKeepON: Supporting Deterministic Traffic on Standard NICs
16mFlow Scheduling with Imprecise Knowledge
50mSoftware Defined Networking
17mOSMOSIS: Enabling Multi-Tenancy in Datacenter SmartNICs
25mApproximating Fair Queueing on Reconfigurable Switches
19mEnabling Programmable Transport Protocols in High Speed NICs
16mA High-Speed Stateful Packet Processing Approach for Tbps Programmable Switches
