SKQ: Event Scheduling for Optimizing Tail Latency in a Traditional OS Kernel
summary
Schedulable Kqueue (SKQ) replaces FreeBSD kqueue internals with a scalable architecture and event scheduler that routes events to per-thread queues and implements policies like CPU affinity, queue affinity, best-of-two and a hybrid policy. Evaluation on memcached and RocksDB shows concrete wins: up to 1022× tail-latency reduction and 27.4× longer low-latency throughput in RocksDB, 33% lower tail latency in memcached, and SKQ closes 83.7% of the gap to kernel-bypass (Shenango) on an imbalanced workload.
AI-written summary · about
chapters (20)
- 0:00Intro
- 0:11SKQ: Event Scheduling for Optimizing Tail Latency in a Traditional OS Kernel
- 0:28The Latency Problem
- 1:11Sources of Latency
- 2:25Event-Driven Programming Models
- 4:28SKQ Usage
- 5:04SKQ Architecture
- 5:33Scalability Showdown: SKQ vs. Kqueue
- 6:18Performance Improvement: SKQ vs. Kqueue
- 6:55Scheduling Policies
- 7:05Challenges of Efficient Event Scheduling
- 8:28Cache Locality Policies in Memcached
- 9:06CPU Affinity vs. Queue Affinity
- 9:37Imbalanced Workload: RocksDB
- 9:58Load Balancing Policies
- 11:14Hybrid Policies
- 12:04SKQ vs. Kernel Bypass: Uniform 10 ps Workload
- 13:06SKQ vs. Kernel Bypass: Zipf-like Workload
- 14:31Policy Selection Guidelines
- 14:43Conclusion
