Virtual-Time Round-Robin: An O(1) Proportional Share Scheduler

Jason Nieh, Chris Vaill, Hua Zhong · 2001

Proportional share resource management provides a flexible and useful abstraction for multiplexing timeshared resources. However, previous proportional share mechanisms have either weak proportional sharing accuracy or high scheduling overhead. We present VirtualTime Round-Robin (VTRR), a proportional share scheduler that can provide good proportional sharing accuracy with O(1) scheduling overhead. VTRR achieves this by combining the benefits of fair queueing algorithms with a round-robin scheduling mechanism. Unlike many other schedulers, VTRR is simple to implement. We have implemented a VTRR CPU scheduler in Linux in less than 100 lines of code. Our performance results demonstrate that VTRR provides accurate proportional share allocation with constant, sub-microsecond scheduling overhead. The scheduling overhead using VTRR is two orders of magnitude less than the standard Linux scheduler for large numbers of clients.

Read the paper · More papers on PaperTik