ThaiSC

คู่มือผู้ใช้งาน TARA

SLURM คืออะไร??

SLURM คือ Scheduler ของระบบ TARA โดยทำหน้าที่ ดังต่อไปนี้

  1. บริหารจัดการทรัพยากร และ จัดการระบบคิวขณะรอรันงาน
  2. มี 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-preemtกลุ่มเครื่อง Preemt high memory job
gpuกลุ่มเครื่อง GPU Job
interactiveกลุ่มเครื่อง Interactive job

สถานะของเครื่อง

รายละเอียดของสถานะเครื่อง

Stateรายละเอียด
idileสถานะเครื่องไม่มีการจอง รันงาน และว่างพร้อมให้ใช้งาน
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