Designing the user interface (2nd ed.): strategies for effective human-computer interaction
Designing the user interface (2nd ed.): strategies for effective human-computer interaction
The magic garden explained: the internals of UNIX System V Release 4: an open systems design
The magic garden explained: the internals of UNIX System V Release 4: an open systems design
The design and implementation of the 4.4BSD operating system
The design and implementation of the 4.4BSD operating system
A feedback-driven proportion allocator for real-rate scheduling
OSDI '99 Proceedings of the third symposium on Operating systems design and implementation
A Survey of Analytical Time-Sharing Models
ACM Computing Surveys (CSUR)
Achieving Service Rate Objectives with Decay Usage Scheduling
IEEE Transactions on Software Engineering
Tickets and Currencies Revisited: Extending Multi-Resource Lottery Scheduling
HOTOS '99 Proceedings of the The Seventh Workshop on Hot Topics in Operating Systems
A proportional share resource allocation algorithm for real-time, time-shared systems
RTSS '96 Proceedings of the 17th IEEE Real-Time Systems Symposium
Proportional Share Scheduling of Operating System Services for Real-Time Applications
RTSS '98 Proceedings of the IEEE Real-Time Systems Symposium
Stride Scheduling: Deterministic Proportional- Share Resource Management
Stride Scheduling: Deterministic Proportional- Share Resource Management
Lottery and stride scheduling: flexible proportional-share resource management
Lottery and stride scheduling: flexible proportional-share resource management
Isolation with flexibility: a resource management framework for central servers
ATEC '00 Proceedings of the annual conference on USENIX Annual Technical Conference
Interactivity vs. fairness in networked Linux systems
Computer Networks: The International Journal of Computer and Telecommunications Networking
Efficient and scalable multiprocessor fair scheduling using distributed weighted round-robin
Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming
Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
Hi-index | 0.00 |
We describe extensions to lottery scheduling, a proportional-share resource management algorithm, to provide the performance assurances present in traditional non-real time process schedulers. Lottery scheduling enables flexible control over relative process execution rates with a ticket abstraction and provides load insulation among groups of processes using currencies. We first show that a straightforward implementation of lottery scheduling does not provide the responsiveness for a mixed interactive and CPU-bound workload offered by the decay usage priority scheduler of the FreeBSD operating system. Moreover, standard lottery scheduling ignores kernel priorities used in the FreeBSD scheduler to reduce kernel lock contention. In this paper, we show how to use dynamic ticket adjustments to incorporate into a lottery scheduler the specializations present in the FreeBSD scheduler to improve interactive response time and reduce kernel lock contention. We achieve this while maintaining lottery scheduling's flexible control over relative execution rates and load insulation. In spite of added scheduling overhead, the throughput of CPU-bound workloads under our scheduler is within one percent of the FreeBSD scheduler for all but one test. We describe our design, evaluate our implementation, and relate our experience in deploying our hybrid lottery scheduler on production machines.