ฉันจะกำหนดจำนวนสูงสุดของงานที่ดำเนินการต่อผู้ใช้ใน SGE ได้อย่างไร


9

เรากำลังใช้ SGE (Sun Grid Manager) เรามีข้อ จำกัด บางประการเกี่ยวกับจำนวนงานพร้อมกันทั้งหมดจากผู้ใช้ทั้งหมด

ฉันต้องการทราบว่าเป็นไปได้หรือไม่ที่จะกำหนดขีด จำกัด ชั่วคราวโดยสมัครใจกับจำนวนงานที่กำลังทำงานพร้อมกันสำหรับผู้ใช้ที่เฉพาะเจาะจง

ตัวอย่างเช่นผู้ใช้daveกำลังจะส่งงาน 500 แต่เขาต้องการไม่เกิน 100 เพื่อทำงานพร้อมกันเช่นเนื่องจากเขารู้ว่างานทำ I / O จำนวนมากซึ่งติดอยู่ filesytem (เรื่องจริงน่าเสียดาย)

เป็นไปได้ไหม

คำตอบ:


9

qconf -mcคุณสามารถกำหนดที่ซับซ้อนด้วย เรียกว่าสิ่งที่ชอบหรือสิ่งที่คุณต้องการและตั้งค่าฟิลด์สิ้นเปลืองไปhigh_io YESจากนั้นในการกำหนดค่าระดับโลกที่มีqconf -me globalหรือในคิวเฉพาะกับqconf -mq <queue name>ชุดhigh_io=500ในค่าที่ซับซ้อน ตอนนี้บอกผู้ใช้ของคุณให้ระบุ-l high_io=1"โทเค็น" จำนวนมากที่คุณต้องการใช้ สิ่งนี้จะ จำกัด จำนวนของงานที่เกิดขึ้นพร้อมกันในสิ่งที่คุณตั้งค่าที่ซับซ้อนเป็น

วิธีอื่นในการทำเช่นนี้คือโควต้า เพิ่มโควต้าด้วยqconf -arqsที่มีลักษณะดังนี้:

 {
        name         dave_max_slots
        description  "Limit dave to 500 slots"
        enabled      true
        limit        users {dave} to slots=500
 }

ขอบคุณ Kamil และขออภัยในความล่าช้า qconfคู่ของการติดตามตั้งแต่ผมค่อนข้างใหม่ในการ เกี่ยวกับข้อเสนอแนะแรกของคุณคุณจะมีความชัดเจนมากขึ้นหรือไม่? "สิ้นเปลือง" คืออะไร หลังจากกำหนดค่าตามที่กล่าวไว้ฉันแค่บอกผู้ใช้qsubด้วย-l high_io=1?
David B

1
โดยทั่วไปมีความซับซ้อนเป็นทรัพยากรที่มีคุณค่าที่สามารถร้องขอโดยงานที่มีการสลับไป-l qsubโดยการตั้งค่าที่ซับซ้อนที่จะสิ้นเปลืองก็หมายความว่าเมื่องานขอให้ซับซ้อนจำนวนที่มีอยู่จะลดลง ดังนั้นหากคิวมี 500 คอมเพล็กซ์ high_io และงานที่ขอ 20 ก็จะมี 480 ตำแหน่งสำหรับงานอื่น ๆ คุณจะขอความซับซ้อนเช่นเดียวกับในตัวอย่างของคุณ
Kamil Kisiel

ขอบคุณ Kamil ขออภัยฉันไม่สามารถลงคะแนนได้ (ยังมีชื่อเสียงไม่พอ)
David B
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.