การส่งงานประมวลผลในระบบคลัสเตอร์ด้วย SGE

การส่งงานประมวลผลในระบบคลัสเตอร์

       SGE (Sun Grid Engine) คือ โปรแกรมบริหารจัดการทรัพยากรบนคลัสเตอร์ และเป็นตัว scheduler จัดลําดับงานบนคลัสเตอร์ให้ทํางานเป็นไปอย่างมีประสิทธิภาพ สามารถรองรับการสั่งงานจากผู้ใช้ได้มากกว่า 100 งานพร้อมกัน และจัดลำดับการทำงานตามเงื่อนไขที่ผู้ดูแลกำหนด
      ผู้ใช้แต่ละคนสามารถส่งงานไปประมวลผลผ่านโปรแกรม SGE แล้วสามารถที่จะออกจากระบบได้เลยโดยไม่ต้องรอให้งานเสร็จ ระบบจัดลำดับงานของ SGE จะเลือกเครื่องประมวลผลให้เองโดยอัตโนมัติ โดยผลลัพธ์ และ ข้อผิดพลาด จะถูกบันทึกไว้ในไฟล์

      คำสั่งพื้นฐานของ SGE

qsub      :   คำสั่งส่งงานไปประมวลผล
qstat     :    คำสั่งแสดงสถานะการทำงาน
qdel       :   คำสั่งยกเลิกงานที่ประมวลผล
qhost     :   คำสั่งแสดงเครื่องประมวลผลที่สามารถติดต่อได้ในขณะนี้

การเขียนสคริปต์งาน

       การเขียนสคริปต์งาน เป็นการระบุโปรแกรมที่ต้องการประมวลผล โดยในสคริปต์งานหนึ่งอาจจะสั่งงานมากกว่า 1 โปรแกรมก็ได้

       ตัวอย่างการเขียนสคริปต์งาน สำหรับสั่งโปรแกรมแบบขนาน
#!/bin/sh
#$ -j y
#$ -cwd        
#$ -S /bin/sh
#$ -pe orte 4        ***แบ่งเป็น 4 โปรเซส
/opt/openmpi/bin/mpirun -np $NSLOTS <objectfile>
ตัวอย่างการ ส่งงานไปประมวลผลด้วยคำสั่ง qsub
   [user1@frontend]$ qsub simplejob.sh
   Your job 123 (“simplejob.sh") has been submitted
   [user1@frontend]$

         หลังจากส่งงานไปแล้วระบบจัดลําดับงาน SGE จะมอบหมายเลขงาน (Job ID) ซึ่งเอาไว้อ้างอิงถึงงานนี้ เช่นถ้าหากต้องการยกเลิกการประมวลผลงานนี้ ให้ใช้คําสั่ง qdel พร้อม Job ID

ตรวจสอบสถานะการทํางานด้วยคําสั่ง qstat


  [userl @frontend]$ qstat
  job-ID   prior         name              user    state      submit/start at        queue    slots ja-task-ID
    ---------------------------------------------------------------------------------------------------------------------
  123      0.00000  simplejob.sh    userl      qw    10/22/2007 13:24:59                        4
  [userl @frontend]
  

         สถานะ “qw” หมายถึงงานรอการประมวลผลอยู่ที่คิวประมวลผล ซึ่งระบบจัดลําดับงาน SGE กําลังหาเครื่องประมวลผลให้กับงานอยู่ เมื่อหาเครื่องประมวลผลได้แล้ว สถานะจะเปลี่ยนเป็น "r" ซึ่งหมายถึงกำลังทำงานอยู่

         หลังจากที่งานได้ถูกประมวลผลเรียบร้อย ผลลัพธ์จะถูกบันทึกอยู่ในไฟล์ “simplejob.o<job id>” และข้อความผิดพลาด (error) จะถูกบันทึกในไฟล์ “simplejob.e<job id> อยู่ในไดเร็กเทอรี่ที่ทำงาน


         ข้อมูลทั้งหมดต้องขอขอบคุณ บริษัท คลัสเตอร์คิท จำกัด เลยครับ ที่ช่วยสอนและแนะนำ ถ้าหากสนใจจะศึกษาเพิ่มเติม หรือ เรียนรู้ในระดับที่สูงขึ้นกว่านี้ขอเชิญที่ บริษัท คลัสเตอร์คิท จำกัด เลยครับ

Website ::   www.clusterkit.co.th




ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

การเปิด NTP Server บนเครื่อง windows server 2003

การ login ข้ามเครื่องผ่าน ssh โดยไม่ต้องกรอก password