SKQ - Event Scheduling for Optimizing Tail Latency in a Traditional OS Kernel
Offered By: USENIX via YouTube
Course Description
Overview
Explore a conference talk from USENIX ATC '21 that introduces Schedulable Kqueue (SKQ), a novel design for FreeBSD Kqueue aimed at improving application tail latency and low-latency throughput. Delve into the scalable architecture and event scheduling of SKQ, examining multiple scheduling policies that enhance cache locality and reduce workload imbalance. Learn how SKQ enables applications to prioritize processing latency-sensitive requests over regular ones. Discover the impressive performance improvements achieved by SKQ in the RocksDB benchmark, including a 1022× reduction in tail latency and a 27.4× extension of low-latency throughput. Compare SKQ's performance to a state-of-the-art kernel-bypass networking system, understanding how it narrows the gap by 83.7% for imbalanced workloads. Gain insights into event-driven programming models, SKQ usage, and various scheduling policies, including cache locality, CPU affinity, and load balancing strategies. Conclude with guidelines for policy selection and a comprehensive understanding of SKQ's impact on optimizing tail latency in traditional OS kernels.
Syllabus
Intro
SKQ: Event Scheduling for Optimizing Tail Latency in a Traditional OS Kernel
The Latency Problem
Sources of Latency
Event-Driven Programming Models
SKQ Usage
SKQ Architecture
Scalability Showdown: SKQ vs. Kqueue
Performance Improvement: SKQ vs. Kqueue
Scheduling Policies
Challenges of Efficient Event Scheduling
Cache Locality Policies in Memcached
CPU Affinity vs. Queue Affinity
Imbalanced Workload: RocksDB
Load Balancing Policies
Hybrid Policies
SKQ vs. Kernel Bypass: Uniform 10 ps Workload
SKQ vs. Kernel Bypass: Zipf-like Workload
Policy Selection Guidelines
Conclusion
Taught by
USENIX
Related Courses
Architectures sans serveur avec Amazon DynamoDB et Amazon Kinesis Streams avec AWS Lambda (Français) | Serverless Architectures with Amazon DynamoDB and Amazon Kinesis Streams with AWS Lambda (French)Amazon Web Services via AWS Skill Builder Architectures sans serveur utilisant les événements Amazon CloudWatch et des événements planifiés avec AWS Lambda (Français) | Serverless Architectures using Amazon CloudWatch Events and Scheduled Events with AWS Lambda (French)
Amazon Web Services via AWS Skill Builder Architetture serverless con Amazon DynamoDB e Amazon Kinesis Streams con AWS Lambda (Italiano) | Serverless Architectures with Amazon DynamoDB and Amazon Kinesis Streams with AWS Lambda (Italian)
Amazon Web Services via AWS Skill Builder Architetture serverless utilizzando Amazon CloudWatch Events e gli eventi pianificati con AWS Lambda (Italiano) | Serverless Architectures using Amazon CloudWatch Events and Scheduled Events with AWS Lambda (Italian)
Amazon Web Services via AWS Skill Builder Arquitecturas sin servidor con Amazon DynamoDB y Amazon Kinesis Streams con AWS Lambda (Español LATAM) | Serverless Architectures with Amazon DynamoDB and Amazon Kinesis Streams with AWS Lambda (LATAM Spanish)
Amazon Web Services via AWS Skill Builder