Progress-based regulation of low-importance processes
Proceedings of the seventeenth ACM symposium on Operating systems principles
A SMART scheduler for multimedia applications
ACM Transactions on Computer Systems (TOCS)
Kernel Support for Open QoS-Aware Computing
RTAS '03 Proceedings of the The 9th IEEE Real-Time and Embedded Technology and Applications Symposium
Real Time Scheduling Theory: A Historical Perspective
Real-Time Systems
Quantifying the performance isolation properties of virtualization systems
Proceedings of the 2007 workshop on Experimental computer science
Enforcing appropriate process execution for exploiting idle resources from outside operating systems
Proceedings of the 3rd ACM SIGOPS/EuroSys European Conference on Computer Systems 2008
Automated control of multiple virtualized resources
Proceedings of the 4th ACM European conference on Computer systems
Fair and timely scheduling via cooperative polling
Proceedings of the 4th ACM European conference on Computer systems
Proceedings of the eleventh international joint conference on Measurement and modeling of computer systems
Restrained utilization of idleness for transparent scheduling of background tasks
Proceedings of the eleventh international joint conference on Measurement and modeling of computer systems
Quincy: fair scheduling for distributed computing clusters
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
Self-tuning schedulers for legacy real-time applications
Proceedings of the 5th European conference on Computer systems
Delay scheduling: a simple technique for achieving locality and fairness in cluster scheduling
Proceedings of the 5th European conference on Computer systems
Sierra: practical power-proportionality for data center storage
Proceedings of the sixth conference on Computer systems
Jockey: guaranteed job latency in data parallel clusters
Proceedings of the 7th ACM european conference on Computer Systems
D-factor: a quantitative model of application slow-down in multi-resource shared systems
Proceedings of the 12th ACM SIGMETRICS/PERFORMANCE joint international conference on Measurement and Modeling of Computer Systems
Fast Eventual Consistency with Performance Guarantees for Distributed Storage
ICDCSW '12 Proceedings of the 2012 32nd International Conference on Distributed Computing Systems Workshops
When average is not average: large response time fluctuations in n-tier systems
Proceedings of the 9th international conference on Autonomic computing
Overcoming Limitations of Off-the-Shelf Priority Schedulers in Dynamic Environments
MASCOTS '13 Proceedings of the 2013 IEEE 21st International Symposium on Modelling, Analysis & Simulation of Computer and Telecommunication Systems
Hi-index | 0.00 |
As the need for scaled-out systems increases, it is paramount to architect them as large distributed systems consisting of off-the-shelf basic computing components known as compute or data nodes. These nodes are expected to handle their work independently, and often utilize off-the-shelf management tools, like those offered by Linux, to differentiate priorities of tasks. While prioritization of background tasks in server nodes takes center stage in scaled-out systems, with many tasks associated with salient features such as eventual consistency, data analytics, and garbage collection, the standard Linux tools such as nice and ionice fail to adapt to the dynamic behavior of high priority tasks in order to achieve the best trade-off between protecting the performance of high priority workload and completing as much low priority work as possible. In this paper, we provide a solution by proposing a priority scheduling middleware that employs different policies to schedule background tasks based on the instantaneous resource requirements of the high priority applications running on the server node. The selection of policies is based on off-line and on-line learning of the high priority workload characteristics and the imposed performance impact due to low priority work. In effect, this middleware uses a {\em hybrid} approach to scheduling rather than a monolithic policy. We prototype and evaluate it via measurements on a test-bed and show that this scheduling middleware is robust as it effectively and autonomically changes the relative priorities between high and low priority tasks, consistently meeting their competing performance targets.