On-line fair allocations based on bottlenecks and global priorities

System bottlenecks, namely those resources which are subjected to high contention, constrain system performance. Hence effective resource management should be done by focusing on the bottleneck resources and allocating them to the most deserving clients. It has been shown that for any combination of entitlements and requests a fair allocation of bottleneck resources can be found, using an off-line algorithm that is given full information in advance regarding the needs of each client. We extend this result to the on-line case with no prior information. To this end we introduce a simple greedy algorithm. In essence, when a scheduling decision needs to be made, this algorithm selects the client that has the largest minimal gap between its entitlement and its current allocation among all the bottleneck resources. Importantly, this algorithm takes a global view of the system, and assigns each client a single priority based on his usage of all the resources; this single priority is then used to make coordinated scheduling decisions on all the resources. Extensive simulations show that this algorithm achieves fair allocations according to the desired entitlements for a wide range of conditions, without using any prior information regarding resource requirements. It also follows shifting usage patterns, including situations where the bottlenecks change with time.

[1]  William E. Weihl,et al.  Lottery scheduling: flexible proportional-share resource management , 1994, OSDI '94.

[2]  Jean-Yves Le Boudec,et al.  A Unified Framework for Max-Min and Min-Max Fairness With Applications , 2007, IEEE/ACM Transactions on Networking.

[3]  Jean-Yves Le Boudec,et al.  A unified framework for max-min and min-max fairness with applications , 2007, TNET.

[4]  Prashant J. Shenoy,et al.  Surplus fair scheduling: a proportional-share CPU scheduling algorithm for symmetric multiprocessors , 2000, OSDI.

[5]  Judy Kay,et al.  A fair share scheduler , 1988, CACM.

[6]  Nathan Linial,et al.  No justified complaints: on fair sharing of multiple resources , 2011, ITCS '12.

[7]  Dror G. Feitelson,et al.  A global scheduling framework for virtualization environments , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[8]  Baruch Awerbuch,et al.  An Opportunity Cost Approach for Job Assignment and Reassignment in a Scalable Computing Cluster , 2002 .

[9]  Jason Nieh,et al.  Virtual-Time Round-Robin: An O(1) Proportional Share Scheduler , 2001, USENIX Annual Technical Conference, General Track.

[10]  Lixia Zhang,et al.  VirtualClock: a new traffic control algorithm for packet-switched networks , 1991, TOCS.

[11]  Emery D. Berger,et al.  Usenix Association 8th Usenix Symposium on Operating Systems Design and Implementation 73 Redline: First Class Support for Interactivity in Commodity Operating Systems , 2022 .

[12]  Baruch Awerbuch,et al.  An Opportunity Cost Approach for Job Assignment in a Scalable Computing Cluster , 2000, IEEE Trans. Parallel Distributed Syst..

[13]  Benjamin Avi-Itzhak,et al.  A resource-allocation queueing fairness measure , 2004, SIGMETRICS '04/Performance '04.

[14]  Mark Handley,et al.  Improved Forwarding Architecture and Resource Management for Multi-Core Software Routers , 2009, 2009 Sixth IFIP International Conference on Network and Parallel Computing.

[15]  Dick H. J. Epema,et al.  Decay-usage scheduling in multiprocessors , 1998, TOCS.

[16]  Vyas Sekar,et al.  Multi-resource fair queueing for packet processing , 2012, CCRV.

[17]  M. Yaari,et al.  On dividing justly , 1984 .

[18]  Edward D. Lazowska,et al.  Quantitative system performance - computer system analysis using queueing network models , 1983, Int. CMG Conference.

[19]  Noam Nisan,et al.  Fair allocation without trade , 2012, AAMAS.

[20]  Benjamin Hindman,et al.  Dominant Resource Fairness: Fair Allocation of Multiple Resource Types , 2011, NSDI.

[21]  Insup Lee,et al.  On the feasibility of dynamic rescheduling on the Intel Distributed Computing Platform , 2010, Middleware Industrial Track '10.

[22]  G. J. Henry,et al.  The UNIX system: The fair share scheduler , 1984, AT&T Bell Laboratories Technical Journal.

[23]  Dan Tsafrir,et al.  Process prioritization using output production: Scheduling for multimedia , 2006, TOMCCAP.

[24]  Giuseppe Lipari,et al.  Enhancing a dependable multiserver operating system with temporal protection via resource reservations , 2009, Real-Time Systems.

[25]  Ivan Rodero,et al.  The Resource Usage Aware Backfilling , 2009, JSSPP.

[26]  Dror G. Feitelson,et al.  Design and implementation of a generic resource sharing virtual time dispatcher , 2010, SYSTOR '10.