Abstract
We discuss design aspects of job scheduling algorithms in parallel processing systems. Starting from the observation that in this area the impact of most research publications on real systems is negligible, we first identify three main categories with strong relevance to practical implementations: constraints, objectives, and evaluation. For each category, we describe common aspects of real systems that are presently important and then introduce some general rules that should be followed when presenting a new job scheduling algorithm for parallel processing systems. To apply these rules, we use as an example a new method for the Infrastructure-as-a-Service (IaaS) model of Cloud Computing that extends the spot instance approach of Amazon. In particular we address technical, organizational, and usage constraints based on existing concepts and research results for this example. Then we briefly describe scheduling objectives from the viewpoint of a data center offering IaaS. After presenting our algorithmic concept, we provide an evaluation with theoretical means to demonstrate that this approach can also yield meaningful results in practice.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
As an example see aws.amazon.com/ec2/instance-types/.
- 3.
Amazon uses an instance hour for its Elastic Computing Cloud (EC2).
- 4.
References
Baruah, S.K., Haritsa, J.R.: Scheduling for overload in real-time systems. IEEE Trans. Comput. 46(9), 1034–1039 (1997)
Cirne, W., Frachtenberg, E.: Web-scale job scheduling. In: Cirne, W., Desai, N., Frachtenberg, E., Schwiegelshohn, U. (eds.) JSSPP 2012. LNCS, vol. 7698, pp. 1–15. Springer, Heidelberg (2013)
DasGupta, B., Palis, M.A.: Online real-time preemptive scheduling of jobs with deadlines on multiple machines. J. Sched. 4(6), 297–312 (2001)
Feitelson, D.G.: Looking at data. In: 22nd IEEE International Symposium on Parallel and Distributed Processing IPDPS, Miami, Florida USA, pp. 1–9. IEEE (2008)
Goldman, S.A., Parwatikar, J., Suri, S.: Online scheduling with hard deadlines. J. Algorithms 34(2), 370–389 (2000)
Goldwasser, M.H.: Patience is a virtue: the effect of slack on competitiveness for admission control. In: Proceedings of the Tenth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA, Philadelphia, PA, USA, pp. 396–405. Society for Industrial and Applied Mathematics (1999)
Graham, R.L., Lawler, E.L., Lenstra, J.K., Rinnoy Kan, A.H.G.: Optimization and approximation in deterministic, sequencing and scheduling: a survey. Ann. Discret. Math. 5, 287–326 (1979)
Ibrahim, M., Gondipalli, S., Bhopte, S., Sammakia, B., Murray, B., Ghose, K., Iyengar, M.K., Schmidt, R.: Numerical modeling approach to dynamic data center cooling. In: 2010 12th IEEE Intersociety Conference on Thermal and Thermomechanical Phenomena in Electronic Systems (ITherm), pp. 1–7 (2010)
Kaplan, J.M., Forrest, W., Kindler, N.: Revolutionizing data center energy efficiency. Technical report, McKinsey & Company (2008)
Kim, J.-H., Chwa, K.-Y.: On-line deadline scheduling on multiple resources. In: Wang, J. (ed.) COCOON 2001. LNCS, vol. 2108, pp. 443–452. Springer, Heidelberg (2001)
Bailey Lee, C., Schwartzman, Y., Hardy, J., Snavely, A.: Are user runtime estimates inherently inaccurate? In: Feitelson, D.G., Rudolph, L., Schwiegelshohn, U. (eds.) JSSPP 2004. LNCS, vol. 3277, pp. 253–263. Springer, Heidelberg (2005)
Lifka, D.: The ANL/IBM SP scheduling system. In: Feitelson, D.G., Rudolph, L. (eds.) IPPS-WS 1995 and JSSPP 1995. LNCS, vol. 949, pp. 295–303. Springer, Heidelberg (1995)
Lublin, U., Feitelson, D.G.: The workload on parallel supercomputers: modeling the characteristics of rigid jobs. J. Parallel Distrib. Comput. 63(11), 1105–1122 (2003)
Mars, J., Tang, L., Hundt, R., Skadron, K., Souffa, M.L.: Bubble-up: invreasing utilization in modern warehouse scale computers via sensible co-locations. In: Proceedings of the 44th Annual IEEE/ACM International Symposium on Microarchitecture, New York, NY, USA (2011)
Mishra, A.K., Hellerstein, J.L., Cirne, W., Das, C.R.: Towards characterizing cloud backend workloads: insights from Google computer clusters. SIGMETRICS Perform. Eval. Rev. 37(4), 34–41 (2010)
Pinedo, M.L.: Scheduling: Theory, Algorithms, and Systems, 4th edn. Springer, Heidelberg (2010)
Strong, R., Mudigonda, J., Mogul, J.C., Binkert, N., Tullsen, D.: Fast switching of threads between cores. ACM SIGOPS Operat. Syst. Rev. 43(2), 35–45 (2009)
Acknowledgment
The author would like to thank Carsten Franke from ABB, Switzerland for providing information on current power management problems and approaches in data centers.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Schwiegelshohn, U. (2015). How to Design a Job Scheduling Algorithm. In: Cirne, W., Desai, N. (eds) Job Scheduling Strategies for Parallel Processing. JSSPP 2014. Lecture Notes in Computer Science(), vol 8828. Springer, Cham. https://doi.org/10.1007/978-3-319-15789-4_9
Download citation
DOI: https://doi.org/10.1007/978-3-319-15789-4_9
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-15788-7
Online ISBN: 978-3-319-15789-4
eBook Packages: Computer ScienceComputer Science (R0)