อ่าน 4 นาที
ตัวจัดการปริมาณงาน Slurm
โปรแกรมจัดการภาระงาน Slurm (Slurm Workload Manager ) ซึ่งเดิมรู้จักกันในชื่อ Simple Linux Utility for Resource Management ( SLURM ) หรือเรียกสั้น ๆ ว่า Slurm เป็น...
ตัวจัดการปริมาณงาน Slurm
| สเลิร์ม | |
|---|---|
| นักพัฒนา | SchedMD |
| เวอร์ชันเสถียร | |
| เขียนเป็น | ซี |
| ระบบปฏิบัติการ | ลินุกซ์ |
| พิมพ์ | โปรแกรมจัดตารางงานสำหรับคลัสเตอร์และซูเปอร์คอมพิวเตอร์ |
| ใบอนุญาต | ใบอนุญาตสาธารณะทั่วไปของ GNU เวอร์ชัน 2.0 [ 3 ] |
| เว็บไซต์ | slurm.schedmd.com |
| ที่เก็บข้อมูล |
|
โปรแกรมจัดการภาระงาน 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 ยังรองรับสถาปัตยกรรมคอมพิวเตอร์เฉพาะหลายแบบ รวมถึง:
- รุ่น IBM BlueGene /Q รวมถึงรุ่น IBM Sequoiaที่มีประสิทธิภาพ 20 เพตาฟลอป
- เครย์ XT, XE และแคสเคด
- Tianhe-2เป็นระบบประมวลผล 33.9 เพตาฟลอป ประกอบด้วย ชิป Intel Ivy Bridge จำนวน 32,000 ตัว และชิป Intel Xeon Phiจำนวน 48,000 ตัว รวมทั้งหมด 3.1 ล้านคอร์
- สภาพแวดล้อมแบบขนานของ IBM
- แอนตัน
การใช้งาน

ระบบ นี้slurmประกอบด้วยส่วนหลักสามส่วน:
slurmctldโปรแกรมควบคุมส่วนกลางที่ทำงานบนโหนดควบคุมเดียว (โดยอาจมี ระบบสำรองข้อมูล เมื่อเกิดข้อผิดพลาด )slurmdโหนดประมวลผลจำนวนมาก แต่ละโหนดมี โปรแกรมทำงานเบื้องหลังอย่างน้อยหนึ่งตัว- ไคลเอนต์ที่เชื่อมต่อกับโหนดผู้จัดการ มักจะใช้ SSH
- ไคลเอนต์สามารถออกคำสั่งไปยังดีมอนควบคุม ซึ่งดีมอนควบคุมจะรับคำสั่งและแบ่งภาระงานไปยังดีมอนประมวลผล
สำหรับผู้ใช้งาน คำสั่งหลักได้แก่srun(เพิ่มงานแบบโต้ตอบลงในคิว), sbatch(เพิ่มงานลงในคิว), squeue(พิมพ์คิวงาน) และscancel(ลบงานออกจากคิว)
งานสามารถทำงานได้ทั้งในโหมดแบตช์หรือโหมดโต้ตอบสำหรับโหมดโต้ตอบ โหนดประมวลผลจะเริ่มต้นเชลล์ เชื่อมต่อไคลเอนต์เข้ากับเชลล์ และรันงาน จากนั้นผู้ใช้สามารถสังเกตและโต้ตอบกับงานขณะที่กำลังทำงานอยู่ โดยปกติแล้ว งานโต้ตอบจะใช้สำหรับการดีบักเบื้องต้น และหลังจากดีบักเสร็จแล้ว งานเดียวกันนั้นก็จะถูกส่งต่อไปsbatchสำหรับงานในโหมดแบตช์stdoutผลลัพธ์stderrมักจะถูกส่งไปยังไฟล์ข้อความเพื่อตรวจสอบในภายหลัง
ดูเพิ่มเติม
- ตัวกำหนดตารางงานและการจัดคิวแบบกลุ่มสำหรับคลัสเตอร์
- กลุ่มเบโอวูล์ฟ
- ตัวกำหนดตารางเวลาคลัสเตอร์ Maui
- แหล่งข้อมูลแอปพลิเคชันคลัสเตอร์โอเพนซอร์ส (OSCAR)
- แรงบิด
- ยูนิวา กริด เอ็นจิ้น
- แพลตฟอร์ม LSF
อ่านเพิ่มเติม
- 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 (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 สำหรับการดำเนินการหลัก...