Analysis and simulation of a fair queueing algorithm
SIGCOMM '89 Symposium proceedings on Communications architectures & protocols
Journal of the ACM (JACM)
IEEE/ACM Transactions on Networking (TON)
Efficient fair queueing using deficit round-robin
IEEE/ACM Transactions on Networking (TON)
A hierarchial CPU scheduler for multimedia operating systems
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
Start-time fair queueing: a scheduling algorithm for integrated services packet switching networks
IEEE/ACM Transactions on Networking (TON)
Decay-usage scheduling in multiprocessors
ACM Transactions on Computer Systems (TOCS)
A feedback-driven proportion allocator for real-rate scheduling
OSDI '99 Proceedings of the third symposium on Operating systems design and implementation
Proceedings of the seventeenth ACM symposium on Operating systems principles
Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment
Journal of the ACM (JACM)
Fair queuing for aggregated multiple links
Proceedings of the 2001 conference on Applications, technologies, architectures, and protocols for computer communications
Achieving Service Rate Objectives with Decay Usage Scheduling
IEEE Transactions on Software Engineering
Virtual-Time Round-Robin: An O(1) Proportional Share Scheduler
Proceedings of the General Track: 2002 USENIX Annual Technical Conference
A SMART scheduler for multimedia applications
ACM Transactions on Computer Systems (TOCS)
A proportional share resource allocation algorithm for real-time, time-shared systems
RTSS '96 Proceedings of the 17th IEEE Real-Time Systems Symposium
Lottery and stride scheduling: flexible proportional-share resource management
Lottery and stride scheduling: flexible proportional-share resource management
Efficient and flexible fair scheduling of real-time tasks on multiprocessors
Efficient and flexible fair scheduling of real-time tasks on multiprocessors
SRR: an O(1) time-complexity packet scheduler for flows in multiservice packet networks
IEEE/ACM Transactions on Networking (TON)
Grouped distributed queues: distributed queue, proportional share multiprocessor scheduling
Proceedings of the twenty-fifth annual ACM symposium on Principles of distributed computing
ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference
Surplus fair scheduling: a proportional-share CPU scheduling algorithm for symmetric multiprocessors
OSDI'00 Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
Lottery scheduling: flexible proportional-share resource management
OSDI '94 Proceedings of the 1st USENIX conference on Operating Systems Design and Implementation
The eclipse operating system: providing quality of service via reservation domains
ATEC '98 Proceedings of the annual conference on USENIX Annual Technical Conference
Implementing lottery scheduling: matching the specializations in traditional schedulers
ATEC '99 Proceedings of the annual conference on USENIX Annual Technical Conference
Hierarchical Scheduling for Symmetric Multiprocessors
IEEE Transactions on Parallel and Distributed Systems
Efficient operating system scheduling for performance-asymmetric multi-core architectures
Proceedings of the 2007 ACM/IEEE conference on Supercomputing
WF2Q: worst-case fair weighted fair queueing
INFOCOM'96 Proceedings of the Fifteenth annual joint conference of the IEEE computer and communications societies conference on The conference on computer communications - Volume 1
The design and implementation of an operating system to support distributed multimedia applications
IEEE Journal on Selected Areas in Communications
Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
Task Parallel Scheduling over Multi-core System
CloudCom '09 Proceedings of the 1st International Conference on Cloud Computing
FaReS: Fair Resource Scheduling for VMM-Bypass InfiniBand Devices
CCGRID '10 Proceedings of the 2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing
Juggle: proactive load balancing on multicore computers
Proceedings of the 20th international symposium on High performance distributed computing
Enhancement of Xen's scheduler for MapReduce workloads
Proceedings of the 20th international symposium on High performance distributed computing
Topology-Aware OpenMP process scheduling
IWOMP'10 Proceedings of the 6th international conference on Beyond Loop Level Parallelism in OpenMP: accelerators, Tasking and more
Combining locality analysis with online proactive job co-scheduling in chip multiprocessors
HiPEAC'10 Proceedings of the 5th international conference on High Performance Embedded Architectures and Compilers
CRQ-based fair scheduling on composable multicore architectures
Proceedings of the 26th ACM international conference on Supercomputing
Performance isolation and fairness for multi-tenant cloud storage
OSDI'12 Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation
Uncovering CPU load balancing policies with harmony
Proceedings of the ACM International Conference on Computing Frontiers
Kinship: efficient resource management for performance and functionally asymmetric platforms
Proceedings of the ACM International Conference on Computing Frontiers
Towards fair and efficient SMP virtual machine scheduling
Proceedings of the 19th ACM SIGPLAN symposium on Principles and practice of parallel programming
Hi-index | 0.00 |
Fairness is an essential requirement of any operating system scheduler. Unfortunately, existing fair scheduling algorithms are either inaccurate or inefficient and non-scalable for multiprocessors. This problem is becoming increasingly severe as the hardware industry continues to produce larger scale multi-core processors. This paper presents Distributed Weighted Round-Robin (DWRR), a new scheduling algorithm that solves this problem. With distributed thread queues and small additional overhead to the underlying scheduler, DWRR achieves high efficiency and scalability. Besides conventional priorities, DWRR enables users to specify weights to threads and achieve accurate proportional CPU sharing with constant error bounds. DWRR operates in concert with existing scheduler policies targeting other system attributes, such as latency and throughput. As a result, it provides a practical solution for various production OSes. To demonstrate the versatility of DWRR,we have implemented it in Linux kernels 2.6.22.15 and 2.6.24, which represent two vastly different scheduler designs. Our evaluation shows that DWRR achieves accurate proportional fairness and high performance for a diverse set of workloads.