A Reference Architecture for Datacenter Scheduling: Extended Technical Report

Datacenters act as cloud-infrastructure to stakeholders across industry, government, and academia. To meet growing demand yet operate efficiently, datacenter operators employ increasingly more sophisticated scheduling systems, mechanisms, and policies. Although many scheduling techniques already exist, relatively little research has gone into the abstraction of the scheduling process itself, hampering design, tuning, and comparison of existing techniques. In this work, we propose a reference architecture for datacenter schedulers. The architecture follows five design principles: components with clearly distinct responsibilities, grouping of related components where possible, separation of mechanism from policy, scheduling as complex workflow, and hierarchical multi-scheduler structure. To demonstrate the validity of the reference architecture, we map to it state-of-the-art datacenter schedulers. We find scheduler-stages are commonly underspecified in peer-reviewed publications. Through trace-based simulation and real-world experiments, we show underspecification of scheduler-stages can lead to significant variations in performance.

[1]  Rajkumar Buyya,et al.  A taxonomy and survey on scheduling algorithms for scientific workflows in IaaS cloud computing environments , 2017, Concurr. Comput. Pract. Exp..

[2]  Lavanya Ramakrishnan,et al.  Performance and cost analysis of the Supernova factory on the Amazon AWS cloud , 2011, CloudCom 2011.

[3]  Miron Livny,et al.  Condor: a distributed job scheduler , 2001 .

[4]  Alexandru Iosup,et al.  Self-Expressive Management of Business-Critical Workloads in Virtualized Datacenters , 2015, Computer.

[5]  Torsten Hoefler,et al.  Scientific Benchmarking of Parallel Computing Systems Twelve ways to tell the masses when reporting performance results , 2017 .

[6]  Lavanya Ramakrishnan,et al.  The future of scientific workflows , 2018, Int. J. High Perform. Comput. Appl..

[7]  Ian T. Foster,et al.  The Anatomy of the Grid: Enabling Scalable Virtual Organizations , 2001, Int. J. High Perform. Comput. Appl..

[8]  Alexandru Iosup,et al.  The OpenDC Vision: Towards Collaborative Datacenter Simulation and Exploration for Everybody , 2017, 2017 16th International Symposium on Parallel and Distributed Computing (ISPDC).

[9]  Rajkumar Buyya,et al.  Characterizing spot price dynamics in public cloud environments , 2013, Future Gener. Comput. Syst..

[10]  Alexandru Iosup,et al.  The performance of bags-of-tasks in large-scale distributed systems , 2008, HPDC '08.

[11]  Inderveer Chana,et al.  A Survey on Resource Scheduling in Cloud Computing: Issues and Challenges , 2016, Journal of Grid Computing.

[12]  Niall Murphy,et al.  Site Reliability Engineering: How Google Runs Production Systems , 2016 .

[13]  Tony Hey,et al.  The Fourth Paradigm: Data-Intensive Scientific Discovery , 2009 .

[14]  Dalibor Klusácek,et al.  On Interactions among Scheduling Policies: Finding Efficient Queue Setup Using High-Resolution Simulations , 2014, Euro-Par.

[15]  Eric A. Brewer,et al.  Borg, Omega, and Kubernetes , 2016, ACM Queue.

[16]  Patrick Wendell,et al.  Sparrow: distributed, low latency scheduling , 2013, SOSP.

[17]  Marin Litoiu,et al.  Optimal autoscaling in a IaaS cloud , 2012, ICAC '12.

[18]  Alexandru Iosup,et al.  The Grid Workloads Archive , 2008, Future Gener. Comput. Syst..

[19]  Michael Isard,et al.  Autopilot: automatic data center management , 2007, OPSR.

[20]  Henri Casanova,et al.  Versatile, scalable, and accurate simulation of distributed applications and platforms , 2014, J. Parallel Distributed Comput..

[21]  Jennifer M. Schopf,et al.  Ten actions when Grid scheduling: the user as a Grid scheduler , 2004 .

[22]  Bertram Ludäscher,et al.  Kepler: an extensible system for design and execution of scientific workflows , 2004, Proceedings. 16th International Conference on Scientific and Statistical Database Management, 2004..

[23]  Alexandru Iosup,et al.  Massivizing Computer Systems: A Vision to Understand, Design, and Engineer Computer Ecosystems Through and Beyond Modern Distributed Systems , 2018, 2018 IEEE 38th International Conference on Distributed Computing Systems (ICDCS).

[24]  Rajkumar Buyya,et al.  CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms , 2011, Softw. Pract. Exp..

[25]  Radu Prodan,et al.  Scheduling of scientific workflows in the ASKALON grid environment , 2005, SGMD.

[26]  Fang Liu,et al.  NIST Cloud Computing Reference Architecture , 2011, 2011 IEEE World Congress on Services.

[27]  Abhishek Verma,et al.  Large-scale cluster management at Google with Borg , 2015, EuroSys.

[28]  Andrew V. Goldberg,et al.  Quincy: fair scheduling for distributed computing clusters , 2009, SOSP '09.

[29]  Sasko Ristov,et al.  Simulation of a workflow execution as a real Cloud by adding noise , 2017, Simul. Model. Pract. Theory.

[30]  Sriram Krishnamoorthy,et al.  Fault-Tolerant Dynamic Task Graph Scheduling , 2014, SC14: International Conference for High Performance Computing, Networking, Storage and Analysis.

[31]  Wei Lin,et al.  Apollo: Scalable and Coordinated Scheduling for Cloud-Scale Computing , 2014, OSDI.

[32]  Ali Afzal,et al.  Workflow Enactment in ICENI , 2004 .

[33]  Franck Cappello,et al.  Modeling and tolerating heterogeneous failures in large parallel systems , 2011, 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC).

[34]  Marin Litoiu,et al.  Introducing STRATOS: A Cloud Broker Service , 2012, 2012 IEEE Fifth International Conference on Cloud Computing.

[35]  Wil M. P. van der Aalst,et al.  Workflow Patterns: The Definitive Guide , 2016 .

[36]  George Spanoudakis,et al.  Establishing and Monitoring SLAs in Complex Service Based Systems , 2009, 2009 IEEE International Conference on Web Services.

[37]  Wo L. Chang,et al.  NIST Big Data Interoperability Framework: , 2019 .

[38]  Wolfgang Ziegler,et al.  Towards A Standards-Based Grid Scheduling Architecture , 2008, CoreGRID Integration Workshop.

[39]  Ewa Deelman,et al.  Pegasus in the Cloud: Science Automation through Workflow Technologies , 2016, IEEE Internet Computing.

[40]  Samuel Kounev,et al.  Elasticity in Cloud Computing: What It Is, and What It Is Not , 2013, ICAC.

[41]  Alexandru Iosup,et al.  An Experimental Performance Evaluation of Autoscaling Policies for Complex Workflows , 2017, ICPE.

[42]  Douglas Thain,et al.  Distributed computing in practice: the Condor experience , 2005, Concurr. Pract. Exp..

[43]  Chao Li,et al.  Fuxi: a Fault-Tolerant Resource Management and Job Scheduling System at Internet Scale , 2014, Proc. VLDB Endow..

[44]  Yuan Yu,et al.  Dryad: distributed data-parallel programs from sequential building blocks , 2007, EuroSys '07.

[45]  Randy H. Katz,et al.  Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center , 2011, NSDI.

[46]  Ian J. Taylor,et al.  Triana: a graphical Web service composition and execution toolkit , 2004, Proceedings. IEEE International Conference on Web Services, 2004..

[47]  Ishfaq Ahmad,et al.  Benchmarking the task graph scheduling algorithms , 1998, Proceedings of the First Merged International Parallel Processing Symposium and Symposium on Parallel and Distributed Processing.

[48]  Ewa Deelman,et al.  The cost of doing science on the cloud: the Montage example , 2008, HiPC 2008.

[49]  Mahmoud Al-Ayyoub,et al.  Software defined cloud: Survey, system and evaluation , 2016, Future Gener. Comput. Syst..

[50]  Feng Liu,et al.  Elastic job bundling: an adaptive resource request strategy for large-scale parallel applications , 2015, SC15: International Conference for High Performance Computing, Networking, Storage and Analysis.

[51]  Robert N. M. Watson,et al.  Firmament: Fast, Centralized Cluster Scheduling at Scale , 2016, OSDI.