การส่งงานประมวลผลในระบบคลัสเตอร์ด้วย SGE
การส่งงานประมวลผลในระบบคลัสเตอร์
หลังจากส่งงานไปแล้วระบบจัดลําดับงาน 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> อยู่ในไดเร็กเทอรี่ที่ทำงาน
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
Website :: www.clusterkit.co.th
ความคิดเห็น
แสดงความคิดเห็น