Scheduling in Distributed Systems: a Cloud Computing Perspective Luiz F
Total Page:16
File Type:pdf, Size:1020Kb
Computer Science Review 30 (2018) 31–54 Contents lists available at ScienceDirect Computer Science Review journal homepage: www.elsevier.com/locate/cosrev Review article Scheduling in distributed systems: A cloud computing perspective Luiz F. Bittencourt a,*, Alfredo Goldman b, Edmundo R.M. Madeira a, Nelson L.S. da Fonseca a, Rizos Sakellariou c a Institute of Computing, University of Campinas, Brazil b Instituto de Matemática e Estatística, Universidade de São Paulo, Brazil c School of Computer Science, University of Manchester, UK article info a b s t r a c t Article history: Scheduling is essentially a decision-making process that enables resource sharing among a number of Received 25 April 2018 activities by determining their execution order on the set of available resources. The emergence of Received in revised form 15 August 2018 distributed systems brought new challenges on scheduling in computer systems, including clusters, grids, Accepted 17 August 2018 and more recently clouds. On the other hand, the plethora of research makes it hard for both newcomers Available online 13 September 2018 researchers to understand the relationship among different scheduling problems and strategies proposed in the literature, which hampers the identification of new and relevant research avenues. In this paper Keywords: Distributed systems we introduce a classification of the scheduling problem in distributed systems by presenting a taxonomy Scheduling that incorporates recent developments, especially those in cloud computing. We review the scheduling Cloud computing literature to corroborate the taxonomy and analyze the interest in different branches of the proposed taxonomy. Finally, we identify relevant future directions in scheduling for distributed systems. ' 2018 Elsevier Inc. All rights reserved. Contents 1. Introduction......................................................................................................................................................................................................................... 32 2. Related work ....................................................................................................................................................................................................................... 32 3. Basic concepts ..................................................................................................................................................................................................................... 33 3.1. Scheduling model................................................................................................................................................................................................... 33 3.2. System organization............................................................................................................................................................................................... 34 4. Taxonomy overview ........................................................................................................................................................................................................... 35 5. Pre-cloud scheduling taxonomy ........................................................................................................................................................................................ 35 5.1. Input classification ................................................................................................................................................................................................. 35 5.1.1. Input accuracy......................................................................................................................................................................................... 35 5.1.2. Input semantics....................................................................................................................................................................................... 36 5.2. Frequency................................................................................................................................................................................................................ 36 5.3. Target system ......................................................................................................................................................................................................... 37 5.4. Application.............................................................................................................................................................................................................. 37 5.5. Objective function optimization ........................................................................................................................................................................... 38 5.6. Output ..................................................................................................................................................................................................................... 38 6. Scheduling in cloud computing ......................................................................................................................................................................................... 38 6.1. Cloud computing service models .......................................................................................................................................................................... 39 6.2. Client and provider perspectives .......................................................................................................................................................................... 39 6.3. Scheduler ``feedstock''............................................................................................................................................................................................ 39 6.4. Scheduler objectives .............................................................................................................................................................................................. 41 6.4.1. Providers.................................................................................................................................................................................................. 41 6.4.2. Clients...................................................................................................................................................................................................... 41 7. Literature review on scheduling in clouds........................................................................................................................................................................ 42 8. Future directions................................................................................................................................................................................................................. 42 * Corresponding author. E-mail addresses: [email protected] (L.F. Bittencourt), [email protected] (A. Goldman), [email protected] (E.R.M. Madeira), [email protected] (N.L.S. da Fonseca), [email protected] (R. Sakellariou). https://doi.org/10.1016/j.cosrev.2018.08.002 1574-0137/' 2018 Elsevier Inc. All rights reserved. 32 L.F. Bittencourt et al. / Computer Science Review 30 (2018) 31–54 9. Conclusion ........................................................................................................................................................................................................................... 50 Conflict of interest............................................................................................................................................................................................................... 50 Acknowledgments .............................................................................................................................................................................................................. 50 Appendix A. Supplementary data ................................................................................................................................................................................. 50 References ........................................................................................................................................................................................................................... 50 1. Introduction matches certain characteristics in virtualization and service in cloud computing, as we shall describe in the upcoming sections. The scheduling problem arises in countless areas, and it evolves In a nutshell, this paper has three main contributions: over time along with industry and technology [1]. With the de- velopment of computers, scheduling in computer processors re- 1. Propose a taxonomy for scheduling in distributed systems ceived great attention [2,3], being the most common objective the and introduce a taxonomy extension to cover cloud comput- minimization of task completion times, also known as makespan. ing schedulers. Besides some peculiarities, the basic principles remained the same 2. Classify the literature in the proposed taxonomy; as in scheduling activities among machines in production. In super- 3. Identify relevant future directions for scheduling in dis- computers,