คู่มือผู้ใช้งาน TARA
- หน้าแรก
- เกี่ยวกับระบบ TARA
- พื้นที่ใช้งานและการโอนข้อมูล
- การใช้งาน Application
- การรัน Source code
- SLURM คืออะไร
- การสั่งรัน Job ใน SLURM โดยใช้ Script
- การสั่งรัน Job ใน SLURM ในรูปแบบ Interactive
- การสั่งรัน Job ผ่าน Singularity ใน SLURM
- ข้อตกลงการใช้ทรัพยากรคอมพิวเตอร์ของ ThaiSC
- ระบบแจ้งปัญหาและสอบถามข้อมูลเพิ่มเติม
- คำถามที่พบบ่อย
SLURM คืออะไร??
SLURM คือ Scheduler ของระบบ TARA โดยทำหน้าที่ ดังต่อไปนี้
- บริหารจัดการทรัพยากร และ จัดการระบบคิวขณะรอรันงาน
- มี Framework สำหรับสั่ง starting, executing and monitoring work เพื่ออำนวยความสะดวกในการสั่งงานผ่าน SLURM
การบริหารจัดการทรัพยากร
ทรัพยากรที่ผู้ใช้งานสามารถกำหนดได้ด้วยตนเอง ยกตัวอย่างเช่น
- จำนวนของเครื่องหรือ cores
- เวลาที่ต้องการใช้งาน
- ประเภทของเครื่องที่่ใช้งาน
- จำนวนหน่วยความจำ
PARTITION & QUEUE
อธิบายอย่างง่ายๆ Partition เปรียบเสมือนป้ายรถโดยสาร โดยที่มีรถโดยสารตสายต่างๆ ให้บริการ ในส่วนของ Queue คือ ประชาชนหรือบุคคลที่มาเข้าคิวรอขึ้นรถโดยสารสายต่างๆ ที่ป้ายรถโดยสาร โดยคำว่า Partition ในระบบ TARA หมายถึง กลุ่มเครื่องใช้งานประเภทต่างๆ (resources group) โดยมีรายละเอียดดังนี้
Partition | รายละเอียด |
---|---|
compute | กลุ่มเครื่อง compute job |
memory | กลุ่มเครื่อง high memory job |
memory-preempt | กลุ่มเครื่อง Preempt high memory job |
gpu | กลุ่มเครื่อง GPU Job |
dgx | กลุ่มเครื่อง DGX (GPU) |
interactive | กลุ่มเครื่อง Interactive job |
สถานะของเครื่อง
รายละเอียดของสถานะเครื่อง
State | รายละเอียด |
---|---|
idle | สถานะเครื่องไม่มีการจอง รันงาน และว่างพร้อมให้ใช้งาน |
alloc | สถานะของเครื่องที่มีการใช้งานหรือรันงานเต็มเครื่อง ไม่สามารถเข้าใช้งานได้ |
mix | สถานะของเครื่องที่มีการจองใช้งาน CPU บางส่วน (ไม่ได้จองทั้งหมด) ยังมีบางส่วนที่สามารถเข้าใช้งานได้ |
down | สถานะเครื่องไม่พร้อมให้ใช้งาน |
drain | สถานะเครื่องไม่พร้อมให้ใช้งาน เนื่องจากเกิดปัญหาภายในระบบ |
คำสั่งพื้นฐานในการใช้งาน SLURM
- การดูสถานะของ Partition
- การดูสถานะของ Job
- การยกเลิก Job
การดูสถานะของ Partition
$ sinfo
คือ คำสั่งที่ใช้ดูสถานะต่างๆ ของ Partition ดังรายละเอียดด้านล่าง
[tara@tara-frontend-1-node-ib ~]$ sinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST interactive up 2:00:00 10 alloc tara-c-[051-060] compute* up 5-00:00:00 4 mix tara-c-[010,037,039,044] compute* up 5-00:00:00 56 alloc tara-c-[001-009,011-036,038,040-043,045-060] memory up 5-00:00:00 7 mix tara-m-[002-004,006-008,010] memory up 5-00:00:00 3 alloc tara-m-[001,005,009] memory-preempt up 5-00:00:00 4 mix tara-m-[006-008,010] memory-preempt up 5-00:00:00 1 alloc tara-m-009 gpu up 5-00:00:00 1 alloc tara-g-001 gpu up 5-00:00:00 1 idle tara-g-002
Tips Partition ( * ) *Partition ที่มีเครื่องหมาย ( * ) *คือ ถ้าไม่มีการระบุในตอน Submit job ว่าจะใช้ Partition ไหน SLURM จะใส่ Partition ที่ขึ้นเครื่องหมาย ( * )* โดยอัตโนมัติ*
จากรายละเอียดด้านบน สามารถดูข้อมูลได้ดังนี้
- Partition คือ กลุ่มประเภทเครื่องที่ใช้งาน (Resource group)
- Timelimit คือ เวลาสูงสุดที่สามารถใช้งานได้
- Nodes คือ จำนวนเครื่องที่มีให้ใช้งานตามกลุ่มประเภทเครื่องที่ใช้งาน (Resource group)
- State คือ สถานะของเครื่องต่างๆ
- Node list คือ ชื่อเครื่อง
sinfo information: https://slurm.schedmd.com/sinfo.html
การดูปริมาณใช้งานและคงเหลือของหน่วยให้บริการ (SU)
สามารถดู ปริมาณการใช้งานและปริมาณคงเหลือของหน่วยให้บริการ (SU) โดยใช้คำสั่ง
$ sbalance
[tara@tara-frontend-1-node-ib ~]$ sbalance Account balances for user: tara Account: thaisc Description: thaisc Allocation: 1000000000.00 SU Remaining Balance: 999162062.00 SU ( 99.92%) Used: 837938.00 SU Account: tutorial Description: tutorial Allocation: 1000000.00 SU Remaining Balance: 774183.00 SU ( 77.42%) Used: 225817.00 SU
สามารถดู ปริมาณการใช้งานของหน่วยให้บริการ (SU) ของรายบุคคล ว่าใช้งานไปปริมาณเท่าไหร่ โดยใช้คำสั่ง
$ sbalance
-d
[tara@tara-frontend-1-node-ib ~]$ sbalance -d
Used(%) Used(SU)
Account User
prexxxx tutorial 5.53 276652
thaisc 0.10 5207
tara 1.03 51274