Skip to main content

Architecture of the Slurm Workload Manager

  • Conference paper
  • First Online:
Job Scheduling Strategies for Parallel Processing (JSSPP 2023)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 14283))

Included in the following conference series:

Abstract

Slurm is an open source, fault-tolerant, and highly scalable workload manager used on many of the world’s supercomputers and computer clusters. As a cluster workload manager, Slurm has three key functions. First, it allocates exclusive and/or non-exclusive access to resources for some duration of time. Second, it provides a framework for starting, executing, and monitoring work on the allocated resources. Finally, it arbitrates contention for resources by managing queues of pending work and enforcing administrative policies. This paper describes the current design and capabilities of Slurm.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Slurm was originally an acronym for “Simple Linux Utility for Resource Management”, and stylized as “SLURM”. The acronym was dropped in 2012 and the preferred capitalization changed to “Slurm”.

  2. 2.

    The “partition” term was inherited from Quadrics RMS, which required a strict partitioning of compute nodes within the environment. The requirement that nodes be in disjoint partitions was discarded very early on, but the terminology has persisted.

  3. 3.

    This capability was successfully used at King Abdullah University of Science and Technology (KAUST) for a period when a power availability was limited. We are unaware of any other organization currently using of this capability.

References

  1. Balle, S.M., Palermo, D.J.: Enhancing an open source resource manager with multi-core/multi-threaded support. In: Frachtenberg, E., Schwiegelshohn, U. (eds.) JSSPP 2007. LNCS, vol. 4942, pp. 37–50. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-78699-3_3

    Chapter  Google Scholar 

  2. Cox, R., Morrison, L.: Fair tree: fairshare algorithm for slurm. In: Proceedings of the Slurm User Group Meeting (2014). https://slurm.schedmd.com/SC14/BYU_Fair_Tree.pdf. Accessed 28 Mar 2023

  3. Docker home page. https://www.docker.com/. Accessed 28 Mar 2023

  4. Frontier user guide. https://docs.olcf.ornl.gov/systems/frontier_user_guide.html. Accessed 3 Feb 2023

  5. Garfinkel, S., Spafford, G., Schwartz, A.: Practical UNIX and internet security, pp. 94–96. SO’Reilly (2003)

    Google Scholar 

  6. Hdf5 download page from the hdf group. https://www.hdfgroup.org/downloads/hdf5. Accessed 25 Mar 2023

  7. Hdfview download page from the hdf group. https://www.hdfgroup.org/downloads/hdfview. Accessed 25 Mar 2023

  8. Henseler, D., Landsteiner, B., Petesch, D., Wright, C., Wright, N.: Architecture and design of cray datawarp. In: Proceedings of the Cray User Group (2016). https://cug.org/proceedings/cug2016_proceedings/includes/files/pap105s2-file1.pdf. Accessed 28 Mar 2023

  9. Hmac description. https://en.wikipedia.org/wiki/HMAC. Accessed 1 May 2023

  10. Jackson, D., Snell, Q., Clement, M.: Core algorithms of the maui scheduler. In: Feitelson, D.G., Rudolph, L. (eds.) JSSPP 2001. LNCS, vol. 2221, pp. 87–102. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-45540-X_6

    Chapter  Google Scholar 

  11. Jette, M.A.: Expanding symmetric multiprocessor capability through gang scheduling. In: Feitelson, D.G., Rudolph, L. (eds.) JSSPP 1998. LNCS, vol. 1459, pp. 199–216. Springer, Heidelberg (1998). https://doi.org/10.1007/BFb0053988

    Chapter  Google Scholar 

  12. Jette, M.: Slurm power management support. In: Proceedings of the Slurm User Group (2015). https://slurm.schedmd.com/SLUG15/Power_mgmt.pdf. Accessed 26 Mar 2023

  13. Yoo, A.B., Jette, M.A., Grondona, M.: SLURM: simple linux utility for resource management. In: Feitelson, D., Rudolph, L., Schwiegelshohn, U. (eds.) JSSPP 2003. LNCS, vol. 2862, pp. 44–60. Springer, Heidelberg (2003). https://doi.org/10.1007/10968987_3

    Chapter  Google Scholar 

  14. Jwt home page. https://jwt.io/. Accessed 1 May 2023

  15. Mariadb foundation home page. https://mariadb.org/. Accessed 23 Mar 2023

  16. Munge home page. https://dun.github.io/munge/. Accessed 26 Apr 2023

  17. Mysql home page. https://www.mysql.com/. Accessed 23 Mar 2023

  18. Name service switch description. https://guix.gnu.org/manual/en/html_node/Name-Service-Switch.html. Accessed 3 Feb 2023

  19. Open container initiative organization home page. https://opencontainers.org. Accessed 28 Mar 2023

  20. Ondrejka, P., Majorsinova, E., Prpic, M., Landmann, R., Silas, D.: Resource management guide. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/resource_management_guide/index. Accessed 23 Mar 2023

  21. Openpbs home page. https://www.openpbs.org/. Accessed 28 Mar 2023

  22. Podman home page. https://podman.io/. Accessed 28 Mar 2023

  23. Pritchard, H., Roweth, D., Henseler, D., Cassella, P.: Leveraging the cray linux environment core specialization feature to realize mpi asynchronous progress on cray xe systems. In: Proceedings of the Cray User Group (2012)

    Google Scholar 

  24. Quadrics in linux clusters (presentation). https://hsi.web.cern.ch/HNF-Europe/sem3_2001/hnf.pdf. Accessed 3 Feb 2023

  25. Singularity plugin for slurm. https://github.com/sol-eng/singularity-rstudio/blob/main/slurm-singularity-exec.md. Accessed 4 Feb 2023

  26. Slurm code repository. https://github.com/SchedMD/slurm.git. Accessed 3 Feb 2023

  27. Slurm scheduling configuration guide. https://slurm.schedmd.com/sched_config.html. Accessed 31 Mar 2023

  28. Slurm container guide. https://slurm.schedmd.com/containers.html. Accessed 4 Feb 2023

  29. Slurm documentation. https://slurm.schedmd.com/. Accessed 4 Feb 2023

  30. Slurm high throughput computing administration guide. https://slurm.schedmd.com/high_throughput.html. Accessed 30 Mar 2023

  31. Name service switch implementation for slurm. https://slurm.schedmd.com/nss_slurm.html. Accessed 3 Feb 2023

  32. Slurm scheduling diagnostic documentation. https://slurm.schedmd.com/sdiag.html. Accessed 31 Mar 2023

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Morris A. Jette .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Jette, M.A., Wickberg, T. (2023). Architecture of the Slurm Workload Manager. In: Klusáček, D., Corbalán, J., Rodrigo, G.P. (eds) Job Scheduling Strategies for Parallel Processing. JSSPP 2023. Lecture Notes in Computer Science, vol 14283. Springer, Cham. https://doi.org/10.1007/978-3-031-43943-8_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-43943-8_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-43942-1

  • Online ISBN: 978-3-031-43943-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics