一句话:提出 TQ 系统,结合强制多任务与两级调度,实现微秒级工作负载的高效盲抢占调度,兼顾低尾延迟与高吞吐。
数据中心应用常常需要处理由客户端请求产生的大量微秒级短任务,要求高吞吐和低尾延迟。当无法预知单个任务时长甚至时长分布时,必须采用盲调度,并进行频繁且高效的抢占,但现有方案难以扩展到微秒级任务。本文提出 Tiny Quanta(TQ),通过细粒度抢占调度,并创新性地结合强制多任务(forced multitasking)与两级调度(two-level scheduling),高效支持微秒级工作负载的盲调度。在多种微秒级工作负载上的评估表明,TQ 能保持低尾延迟,同时吞吐量达到先前盲调度系统的 1.2 倍至 6.8 倍。
A longstanding performance challenge in datacenter-based applications is how to efficiently handle incoming client requests that spawn many very short (μs scale) jobs that must be handled with high throughput and low tail latency. When no assumptions are made about the duration of individual jobs, or even about the distribution of their durations, this requires blind scheduling with frequent and efficient preemption, which is not scalably supported for μs-level tasks. We present Tiny Quanta (TQ), a system that enables efficient blind scheduling of μs-level workloads. TQ performs fine-grained preemptive scheduling and does so with high performance via a novel combination of two mechanisms: forced multitasking and two-level scheduling. Evaluations with a wide variety of μs-level workloads show that TQ achieves low tail latency while sustaining 1.2x to 6.8x the throughput of prior blind scheduling systems.
@inproceedings{LuoSBAORS24,
title = {Efficient Microsecond-scale Blind Scheduling with Tiny Quanta},
author = {Zhihong Luo and Sam Son and Dev Bali and Emmanuel Amaro and Amy Ousterhout and Sylvia Ratnasamy and Scott Shenker},
booktitle = {ASPLOS},
year = {2024},
doi = {10.1145/3620665.3640381}
}