How to Design a Job Scheduling Algorithm

  • Uwe SchwiegelshohnEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8828)


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.


Data Center Physical Resource Context Switching Virtual Resource Service Guarantee 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.



The author would like to thank Carsten Franke from ABB, Switzerland for providing information on current power management problems and approaches in data centers.


  1. 1.
    Baruah, S.K., Haritsa, J.R.: Scheduling for overload in real-time systems. IEEE Trans. Comput. 46(9), 1034–1039 (1997)CrossRefMathSciNetGoogle Scholar
  2. 2.
    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) CrossRefGoogle Scholar
  3. 3.
    DasGupta, B., Palis, M.A.: Online real-time preemptive scheduling of jobs with deadlines on multiple machines. J. Sched. 4(6), 297–312 (2001)CrossRefzbMATHMathSciNetGoogle Scholar
  4. 4.
    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)Google Scholar
  5. 5.
    Goldman, S.A., Parwatikar, J., Suri, S.: Online scheduling with hard deadlines. J. Algorithms 34(2), 370–389 (2000)CrossRefzbMATHMathSciNetGoogle Scholar
  6. 6.
    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)Google Scholar
  7. 7.
    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)CrossRefzbMATHGoogle Scholar
  8. 8.
    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)Google Scholar
  9. 9.
    Kaplan, J.M., Forrest, W., Kindler, N.: Revolutionizing data center energy efficiency. Technical report, McKinsey & Company (2008)Google Scholar
  10. 10.
    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) CrossRefGoogle Scholar
  11. 11.
    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) CrossRefGoogle Scholar
  12. 12.
    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) CrossRefGoogle Scholar
  13. 13.
    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)CrossRefzbMATHGoogle Scholar
  14. 14.
    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)Google Scholar
  15. 15.
    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)CrossRefGoogle Scholar
  16. 16.
    Pinedo, M.L.: Scheduling: Theory, Algorithms, and Systems, 4th edn. Springer, Heidelberg (2010) Google Scholar
  17. 17.
    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)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.Robotics Research InstituteTU Dortmund UniversityDortmundGermany

Personalised recommendations