กลับไปหน้าบทความ

อ่าน 4 นาที

ตัวจัดการปริมาณงาน Slurm

โปรแกรมจัดการภาระงาน Slurm (Slurm Workload Manager ) ซึ่งเดิมรู้จักกันในชื่อ Simple Linux Utility for Resource Management ( SLURM ) หรือเรียกสั้น ๆ ว่า Slurm เป็น...

ตัวจัดการปริมาณงาน Slurm

สเลิร์ม
นักพัฒนาSchedMD
เวอร์ชันเสถียร
25.1125.11.4 [ 1 ] แก้ไขข้อมูลนี้บนวิกิดาต้า / 12 มีนาคม 2026 ( 12 มีนาคม 2569 )
25.0525.05.7 [ 2 ] แก้ไขข้อมูลนี้บนวิกิดาต้า / 12 มีนาคม 2026 ( 12 มีนาคม 2569 )
เขียนเป็นซี
ระบบปฏิบัติการลินุกซ์
พิมพ์โปรแกรมจัดตารางงานสำหรับคลัสเตอร์และซูเปอร์คอมพิวเตอร์
ใบอนุญาตใบอนุญาตสาธารณะทั่วไปของ GNU เวอร์ชัน 2.0 [ 3 ]
เว็บไซต์slurm.schedmd.comแก้ไขข้อมูลนี้ได้ที่วิกิดาต้า
ที่เก็บข้อมูล
  • github.com/SchedMD/slurm

โปรแกรมจัดการภาระงาน Slurm (Slurm Workload Manager ) ซึ่งเดิมรู้จักกันในชื่อSimple Linux Utility for Resource Management ( SLURM ) หรือเรียกสั้น ๆ ว่าSlurmเป็นโปรแกรมจัดตารางงาน แบบ โอเพนซอร์สและใช้งานได้ฟรี สำหรับเคอร์เนล ของ LinuxและUnix ซึ่งถูกใช้งานโดย ซูเปอร์คอมพิวเตอร์และคลัสเตอร์คอมพิวเตอร์ จำนวนมาก ทั่ว โลก

Slurm ใช้ขั้นตอนวิธีที่เหมาะสมที่สุดโดยอิงตามการจัดตารางเวลาเส้นโค้งฮิลเบิร์ตหรือ โครงสร้างเครือข่าย ต้นไม้อ้วนเพื่อเพิ่มประสิทธิภาพการมอบหมายงานในคอมพิวเตอร์แบบขนาน[ 4 ]โดยมีฟังก์ชันหลักสามประการ:

  • การจัดสรรสิทธิ์การเข้าถึงทรัพยากร (โหนดคอมพิวเตอร์) แบบพิเศษและ/หรือแบบไม่พิเศษให้แก่ผู้ใช้เป็นระยะเวลาหนึ่ง เพื่อให้พวกเขาสามารถทำงานได้
  • จัดเตรียมกรอบการทำงานสำหรับการเริ่มต้น ดำเนินการ และตรวจสอบการทำงาน ซึ่งโดยทั่วไปจะเป็นงานแบบขนาน เช่นMessage Passing Interface (MPI) บนชุดของโหนดที่จัดสรรไว้ และ
  • ไกล่เกลี่ยข้อขัดแย้งด้านทรัพยากรโดยการจัดการคิวงานที่รอการดำเนินการ

ประวัติศาสตร์

Slurm เริ่มพัฒนาโดยความร่วมมือเป็นหลักจากห้องปฏิบัติการแห่งชาติลอว์เรนซ์ลิเวอร์มอร์ , SchedMD , [ 5 ] Linux NetworX, Hewlett-PackardและGroupe Bullในฐานะตัวจัดการทรัพยากรซอฟต์แวร์เสรี การเปิดตัวครั้งแรกเกิดขึ้นในปี 2545 [ 6 ]ได้รับแรงบันดาลใจจากQuadrics RMS ซึ่ง เป็นซอฟต์แวร์ปิดแหล่งที่มา และมีไวยากรณ์ที่คล้ายคลึงกัน ชื่อนี้อ้างอิงถึงโซดาในFuturama [ 7 ] มีผู้คนกว่า 250 คนทั่วโลกมีส่วนร่วมในโครงการนี้ ตั้งแต่นั้นมา ก็ได้พัฒนาเป็นตัวกำหนดตารางเวลาแบบแบตช์ที่ซับซ้อนซึ่งสามารถตอบสนองความต้องการของศูนย์คอมพิวเตอร์ขนาดใหญ่หลายแห่งได้

ในปี 2010 ผู้พัฒนา Slurm ได้ก่อตั้งSchedMDซึ่งดูแลรักษาซอร์สโค้ดหลัก ให้บริการด้านการพัฒนา การสนับสนุนเชิงพาณิชย์ระดับ 3 และบริการฝึกอบรม นอกจากนี้ยังได้รับการสนับสนุนเชิงพาณิชย์จากBull , Crayและ Science + Computing (บริษัทในเครือของAtos ) อีกด้วย

ณ เดือนพฤศจิกายน 2021 Slurm เป็นตัวจัดการภาระงานบนซูเปอร์คอมพิวเตอร์TOP500 ประมาณ 60% [ 8 ]

โครงสร้าง

การออกแบบของ Slurm นั้นมีความยืดหยุ่นสูง โดยมีปลั๊กอินเสริมให้เลือกใช้ประมาณ 100 ตัว ในการตั้งค่าที่ง่ายที่สุด สามารถติดตั้งและกำหนดค่าได้ภายในไม่กี่นาที การตั้งค่าที่ซับซ้อนกว่านั้นจะช่วยให้สามารถผสานรวมฐานข้อมูลเพื่อการบัญชี การจัดการข้อจำกัดของทรัพยากร และการจัดลำดับความสำคัญของภาระงานได้

คุณสมบัติ

คุณสมบัติของ Slurm ได้แก่: [ 9 ]

  • ไม่มีจุดล้มเหลวเพียงจุดเดียว โปรแกรมสำรองข้อมูล ตัวเลือกงานที่ทนต่อความผิดพลาด
  • มีความสามารถในการปรับขนาดสูง (สามารถจัดตารางงานอิสระได้มากถึง 100,000 งานบนซ็อกเก็ต 100,000 ตัวของIBM Sequoia )
  • ประสิทธิภาพสูง (รองรับการส่งงานได้สูงสุด 1,000 งานต่อวินาที และประมวลผลงานได้สูงสุด 600 งานต่อวินาที)
  • ซอฟต์แวร์โอเพนซอร์สและใช้งานได้ฟรี ( สัญญาอนุญาตสาธารณะทั่วไปของ GNU )
  • สามารถปรับแต่งได้อย่างหลากหลายด้วยปลั๊กอินประมาณ 100 ตัว
  • การจัดตารางเวลาแบบแบ่งปันอย่างเป็นธรรมด้วยบัญชีธนาคารแบบลำดับชั้น
  • การจัดตารางเวลาล่วงหน้าและการจัดตารางเวลาแบบกลุ่ม (การแบ่งเวลาของงานคู่ขนาน)
  • ผสานรวมกับฐานข้อมูลสำหรับการบัญชีและการกำหนดค่า
  • การจัดสรรทรัพยากรได้รับการปรับให้เหมาะสมกับโครงสร้างเครือข่ายและโครงสร้างภายในโหนด (ซ็อกเก็ต คอร์ และไฮเปอร์เธรด)
  • การจองล่วงหน้า
  • สามารถปิดการทำงานของโหนดที่ไม่ได้ใช้งานได้
  • สามารถบูตระบบปฏิบัติการที่แตกต่างกันสำหรับแต่ละงานได้
  • การจัดตารางเวลาสำหรับทรัพยากรทั่วไป (เช่นหน่วยประมวลผลกราฟิก )
  • การบัญชีแบบเรียลไทม์ในระดับงาน (ระบุงานเฉพาะที่มีการใช้งาน CPU หรือหน่วยความจำสูง)
  • ข้อจำกัดด้านทรัพยากรตามผู้ใช้หรือบัญชีธนาคาร
  • การคำนวณการใช้พลังงานตามลักษณะงาน
  • รองรับระบบประมวลผลแบบขนานของ IBM (PE/POE)
  • การสนับสนุนสำหรับอาร์เรย์งาน
  • การวิเคราะห์ประสิทธิภาพการทำงาน (การสุ่มตัวอย่างการใช้งาน CPU, หน่วยความจำ, การใช้พลังงาน, เครือข่าย และระบบไฟล์ของแต่ละงานเป็นระยะ)
  • อัลกอริทึมการจัดลำดับความสำคัญของงานแบบหลายปัจจัยที่ซับซ้อน
  • รองรับ MapReduce+
  • รองรับบัฟเฟอร์ชั่วคราวที่ช่วยเร่งความเร็วในการเคลื่อนย้ายข้อมูลทางวิทยาศาสตร์
  • การสนับสนุนทรัพยากรทั่วไปที่หลากหลาย
  • นโยบายการจัดคิวงานใหม่โดยอัตโนมัติโดยอิงตามค่าการออกจากระบบ

แพลตฟอร์มที่รองรับ

Slurm รุ่นล่าสุดทำงานได้เฉพาะบนLinux เท่านั้น เวอร์ชันเก่าได้รับการพอร์ตไปยัง ระบบปฏิบัติการPOSIXอื่นๆ อีกเล็กน้อยรวมถึงBSD ( FreeBSD , NetBSDและOpenBSD ) [ 10 ]แต่ปัจจุบันไม่สามารถทำได้อีกต่อไป เนื่องจาก Slurm ต้องการcgroupsสำหรับการดำเนินการหลัก คลัสเตอร์ที่ใช้ระบบปฏิบัติการอื่นที่ไม่ใช่ Linux จะต้องใช้ระบบแบตช์อื่น เช่น LPJS [ 11 ] Slurm ยังรองรับสถาปัตยกรรมคอมพิวเตอร์เฉพาะหลายแบบ รวมถึง:

การใช้งาน

Slurm แบ่งงานออกเป็นหลายขั้นตอน

ระบบ นี้slurmประกอบด้วยส่วนหลักสามส่วน:

  • slurmctldโปรแกรมควบคุมส่วนกลางที่ทำงานบนโหนดควบคุมเดียว (โดยอาจมี ระบบสำรองข้อมูล เมื่อเกิดข้อผิดพลาด )
  • slurmdโหนดประมวลผลจำนวนมาก แต่ละโหนดมี โปรแกรมทำงานเบื้องหลังอย่างน้อยหนึ่งตัว
  • ไคลเอนต์ที่เชื่อมต่อกับโหนดผู้จัดการ มักจะใช้ SSH
    • ไคลเอนต์สามารถออกคำสั่งไปยังดีมอนควบคุม ซึ่งดีมอนควบคุมจะรับคำสั่งและแบ่งภาระงานไปยังดีมอนประมวลผล

สำหรับผู้ใช้งาน คำสั่งหลักได้แก่srun(เพิ่มงานแบบโต้ตอบลงในคิว), sbatch(เพิ่มงานลงในคิว), squeue(พิมพ์คิวงาน) และscancel(ลบงานออกจากคิว)

งานสามารถทำงานได้ทั้งในโหมดแบตช์หรือโหมดโต้ตอบสำหรับโหมดโต้ตอบ โหนดประมวลผลจะเริ่มต้นเชลล์ เชื่อมต่อไคลเอนต์เข้ากับเชลล์ และรันงาน จากนั้นผู้ใช้สามารถสังเกตและโต้ตอบกับงานขณะที่กำลังทำงานอยู่ โดยปกติแล้ว งานโต้ตอบจะใช้สำหรับการดีบักเบื้องต้น และหลังจากดีบักเสร็จแล้ว งานเดียวกันนั้นก็จะถูกส่งต่อไปsbatchสำหรับงานในโหมดแบตช์stdoutผลลัพธ์stderrมักจะถูกส่งไปยังไฟล์ข้อความเพื่อตรวจสอบในภายหลัง

ดูเพิ่มเติม

อ่านเพิ่มเติม

  • Balle, Susanne M.; Palermo, Daniel J. (2008). การปรับปรุงตัวจัดการทรัพยากรโอเพนซอร์สด้วยการรองรับมัลติคอร์/มัลติเธรด กลยุทธ์การ จัดตารางงานสำหรับการประมวลผลแบบขนานLecture Notes in Computer Scienceเล่มที่ 4942 หน้า 37 doi : 10.1007/978-3-540-78699-3_3 ISBN 978-3-540-78698-6.
  • Jette, M.; Grondona, M. (มิถุนายน 2546). "SLURM: โปรแกรมยูทิลิตี้ Linux อย่างง่ายสำหรับการจัดการทรัพยากร" (PDF) . รายงานการประชุมและนิทรรศการ ClusterWorld . ซานโฮเซ, แคลิฟอร์เนีย.
  • Layton, Jeffrey B. (5 กุมภาพันธ์ 2009). "Caos NSA และ Perceus: ชุดซอฟต์แวร์คลัสเตอร์แบบครบวงจร" . Linux Magazine . เก็บถาวรจากต้นฉบับเมื่อวันที่ 11 กุมภาพันธ์ 2009.
  • Yoo, Andy B .; Jette, Morris A.; Grondona, Mark (2003). SLURM: Simple Linux Utility for Resource Management . Job Scheduling Strategies for Parallel Processing. Lecture Notes in Computer Science. Vol. 2862. p.  44. CiteSeerX  10.1.1.10.6834 . doi : 10.1007/10968987_3 . ISBN 978-3-540-20405-3.
  • เว็บไซต์อย่างเป็นทางการแก้ไขข้อมูลนี้ได้ที่วิกิดาต้า
  • เอกสารประกอบการใช้งาน Slurm
  • การกำหนดค่าสถาปัตยกรรมและการใช้งาน Slurm Workload Manager
  • ศูนย์ HPC ของ Caltech: ตัวสร้างสคริปต์งาน
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Slurm_Workload_Manager&oldid=1357895018 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ตัวจัดการปริมาณงาน Slurm

โปรแกรมจัดการภาระงาน Slurm (Slurm Workload Manager ) ซึ่งเดิมรู้จักกันในชื่อ Simple Linux Utility for Resource Management ( SLURM ) หรือเรียกสั้น ๆ ว่า Slurm เป็น...

ประวัติศาสตร์

Slurm เริ่มพัฒนาโดยความร่วมมือเป็นหลักจาก ห้องปฏิบัติการแห่งชาติลอว์เรนซ์ลิเวอร์มอร์ , SchedMD , [ 5 ] Linux NetworX, Hewlett-Packard และ Groupe Bull ในฐานะตัวจัดการทรัพยากรซอฟต์แวร์เสรี การเปิดตัวครั้งแรกเกิดขึ้นในปี 2545 [ 6 ] ได้รับแรงบันดาลใจจาก Quadrics...

โครงสร้าง

การออกแบบของ Slurm นั้นมีความยืดหยุ่นสูง โดยมีปลั๊กอินเสริมให้เลือกใช้ประมาณ 100 ตัว ในการตั้งค่าที่ง่ายที่สุด สามารถติดตั้งและกำหนดค่าได้ภายในไม่กี่นาที การตั้งค่าที่ซับซ้อนกว่านั้นจะช่วยให้สามารถผสานรวมฐานข้อมูลเพื่อการบัญชี การจัดการข้อจำกัดของทรัพยากร...

แพลตฟอร์มที่รองรับ

Slurm รุ่นล่าสุดทำงานได้เฉพาะบน Linux เท่านั้น เวอร์ชันเก่าได้รับการพอร์ตไปยัง ระบบปฏิบัติการ POSIX อื่นๆ อีกเล็กน้อยรวมถึง BSD ( FreeBSD , NetBSD และ OpenBSD ) [ 10 ] แต่ปัจจุบันไม่สามารถทำได้อีกต่อไป เนื่องจาก Slurm ต้องการ cgroups สำหรับการดำเนินการหลัก...