LPBS (Local ระบบ Batch แบบพกพา) เป็นเครื่องมือในการเลียนแบบพีบีเอสเวิร์คสเตชั่ท้องถิ่น
พีบีเอส / แรงบิดเป็นระบบการจัดตารางงานที่ถูกนำมาใช้ในหลายกลุ่มคอมพิวเตอร์ที่มีประสิทธิภาพสูง แพคเกจ LPBS ให้เครื่องมือในการเรียกใช้สคริปต์งานพีบีเอสเวิร์คสเตชั่ท้องถิ่น โดยเฉพาะ LPBS มีคำสั่ง lqsub ที่ใช้ตัวเลือกเช่นเดียวกับคำสั่ง qsub พีบีเอสและสคริปต์งานท้องถิ่นในสภาพแวดล้อมจริงเหมือนกับที่หนึ่งที่พีบีเอส / แรงบิดจะให้ งานจะทำงานในพื้นหลังและจะได้รับมอบหมายงานที่ ID ซึ่งแตกต่างจากระบบพีบีเอส LPBS จะไม่ดำเนินการจัดตารางการใด ๆ แต่ก็จะเรียกใช้งานการส่งไปยังมัน LPBS มีเครื่องมือเพิ่มเติมเพื่อจัดการงานทำงาน
การติดตั้ง
LPBS สามารถติดตั้งจาก PyPi ใช้
PIP ติดตั้ง LPBS
อีกทางเลือกหนึ่งแพคเกจสามารถติดตั้งได้จากแหล่งที่มี
หลาม setup.py ติดตั้ง
การตั้งค่า
ร้านค้า LPBS ข้อมูลการกำหนดค่าและ runtime ทั้งหมดในโฟลเดอร์ที่กำหนดในตัวแปร $ LPBS_HOME สภาพแวดล้อม ตัวแปรสภาพแวดล้อมนี้จะต้องมีการกำหนดไว้ การกำหนดค่าที่อยู่ใน lpbs.cfg ไฟล์ภายใน $ LPBS_HOME ถ้าแฟ้มนี้ไม่ได้อยู่เมื่อใดสคริปต์ LPBS จะถูกเรียกใช้แฟ้มการกำหนดค่าที่มีค่าเริ่มต้นต่อไปจะถูกสร้างขึ้น:
[เซิร์ฟเวอร์]
# ชื่อโฮสต์แบบเต็มของเซิร์ฟเวอร์ญัตติ (hostname.domain) จะให้บริการ
# เพื่อเรียกใช้งานผ่านตัวแปร PBS_SERVER สภาพแวดล้อม รหัสงานจะสิ้นสุด
# ในชื่อโฮสต์เซิร์ฟเวอร์
ชื่อโฮสต์: localhost
โดเมนท้องถิ่น
[Node]
# ชื่อโฮสต์เต็มของโหนดการดำเนินการ (hostname.domain) จะให้บริการ
# เพื่อเรียกใช้งานผ่านตัวแปร PBS_O_HOST สภาพแวดล้อม ตั้งแต่ LPBS เป็น
# การออกแบบมาเพื่อดำเนินงานในประเทศ, การตั้งค่าที่นี่ควรจะเป็นโดยทั่วไป
# เหมือนกับผู้ที่อยู่ใน [เซิร์ฟเวอร์] ส่วน
ชื่อโฮสต์: localhost
โดเมนท้องถิ่น
[LPBS]
# การตั้งค่าสำหรับการดำเนินงาน
# ถ้า 'username_in_jobid' ถูกเปิดใช้งานรหัสงานจะมีรูปแบบ
# 'seqnr.user.hostname.domain' ที่ 'ใช้' เป็นชื่อผู้ใช้ของผู้ใช้
# การส่งงาน
# ไฟล์ที่กำหนดใน 'sequence_file' ถูกนำมาใช้สำหรับการติดตาม 'seqnr'
# ที่ปรากฏในงาน ID
# ไฟล์ที่กำหนดใน 'logfile' ถูกนำมาใช้สำหรับการบันทึกเหตุการณ์ LPBS ทั้งหมด ทั้งสอง
# 'sequence_file' และ 'logfile' เป็นญาติกับ $ LPBS_HOME
username_in_jobid: 0
sequence_file: ลำดับ
logfile: lpbs.log
[Scratch]
การตั้งค่า # สำหรับพื้นที่รอยขีดข่วนให้กับงาน 'scratch_root' กำหนด
สถานที่ตั้ง # ที่งานควรเขียนข้อมูลชั่วคราว หากได้รับเป็นเส้นทางญาติ
# มันเป็นเมื่อเทียบกับ $ LPBS_HOME ตัวแปรสภาพแวดล้อมที่จะได้รับการขยายตัว
เวลา # การส่งงาน
# ถ้าค่าของ # 'create_jobid_folder' ตั้งค่าเป็น 1 โฟลเดอร์ที่มีชื่อของ
# งานเต็ม ID จะถูกสร้างขึ้นภายใน scratch_root โฟลเดอร์นี้โดยอัตโนมัติ
# ลบเมื่องานจบลงเว้นแต่ 'keep_scratch' ถูกกำหนดเป็น 1 ถ้างาน
# ล้มเหลวรอยขีดข่วนจะไม่ถูกลบเว้นแต่ 'delete_failed_scratch' ถูกตั้งค่า
# 1
scratch_root: $ SCRATCH_ROOT
create_jobid_folder: 0
keep_scratch: 0
delete_failed_scratch: 0
[ประกาศ]
การตั้งค่า # เกี่ยวกับวิธีที่ผู้ใช้ควรจะได้รับการแจ้งเตือนเกี่ยวกับเหตุการณ์ดังกล่าวเป็นจุดเริ่มต้น
# และจุดสิ้นสุดของงาน หาก sent_mail ถูกกำหนดเป็น 1, อีเมลนี้จะถูกส่งสำหรับ
แจ้งเตือน # ขึ้นอยู่กับค่าของตัวเลือก '-m' เพื่อ lqsub ถ้า
# 'send_growl' ถูกตั้งค่าเป็น 1 คำราม (http://growl.info) ถูกนำมาใช้สำหรับการแจ้งเตือน
# ใน MacOS X. การแจ้งเตือนผ่านทางคำรามไม่คำนึงถึง '-m' ตัวเลือก
# ระหว่างการส่งงาน
send_mail: 0
send_growl: 0
[จดหมาย]
# การตั้งค่า SMTP สำหรับการแจ้งเตือนอีเมล อีเมล์แจ้งเตือนจะถูกส่งมาจาก
# สถานที่ที่กำหนดโดย 'จาก' ตัวเลือก เซิร์ฟเวอร์ SMTP ได้รับใน 'SMTP คือ
# ใช้สำหรับการส่งอีเมล์ถ้า 'รับรองความถูกต้อง' ถูกกำหนดเป็น 1 รับรองความถูกต้องเป็น
# ทำกับที่ได้รับ 'ชื่อผู้ใช้ "และ" รหัสผ่าน' หาก 'TLS' คือ 1, การเข้ารหัส TLS
# จะถูกนำมาใช้
จาก: nobody@example.org
SMTP: smtp.example.com:587
ชื่อผู้ใช้
รหัสผ่าน: ความลับ
รับรองความถูกต้อง: 0
TLS: 1
[คำราม]
การตั้งค่าสำหรับการแจ้งเตือน # คำราม การแจ้งเตือนจะถูกส่งไปอย่างใดอย่างหนึ่ง
# localhost หรือโฮสต์ระยะไกลผ่านทางโปรโตคอล GNTP 'ชื่อโฮสต์' การตั้งค่า
# ให้ที่อยู่และพอร์ตของเซิร์ฟเวอร์คำราม, รับ 'รหัสผ่าน' คือ
# ใช้สำหรับการตรวจสอบ (โปรดทราบว่าถ้าส่งไปยัง localhost ไม่
# รับรองความถูกต้องเป็นสิ่งที่จำเป็นและรหัสผ่านควรจะว่างเปล่า) ถ้า
# 'เหนียว' ถูกตั้งค่าเป็น 1 แจ้งเตือนคำรามจะเหนียว มันเป็น
# ไปได้ที่จะส่งการแจ้งเตือนไปยังมากกว่าหนึ่งโฮสต์ ในกรณีนี้ทั้งสอง
# 'ชื่อโฮสต์' และ 'รหัสผ่าน' ควรจะเป็นรายการที่คั่นด้วยเครื่องหมายจุลภาคของค่าด้วย
# แต่ละรายการที่สอดคล้องกับโฮสต์หนึ่ง เช่นที่
# ชื่อโฮสต์: localhost, remotehost
# รหัสผ่าน: ความลับ
ชื่อโฮสต์: localhost: 23053
รหัสผ่าน:
เหนียว: 0
[เข้าสู่ระบบ]
# 'logfile' ทำให้ชื่อของไฟล์บันทึกของกลางเมื่อเทียบกับ $ LPBS_HOME
logfile: lpbs.log
โปรดทราบว่าถ้าไฟล์ config เริ่มต้นจะใช้ตัวแปรสภาพแวดล้อม SCRATCH_ROOT $ จะต้องกำหนดและไดเรกทอรีมันชี้ไปที่ควรมีอยู่และจะสามารถเขียนได้กับผู้ใช้ทุกคนที่อาจจะส่งงาน
สำหรับการติดตั้งทั้งระบบ / var / lpbs เป็นสถานที่ที่เหมาะสำหรับ $ LPBS_HOME ตัวแปรสภาพแวดล้อมสามารถตั้งค่าใน /etc/bash.bashrc สำหรับผู้ใช้ทั้งหมด สำหรับการติดตั้งในพื้นที่ของผู้ใช้, virtualenv ขอแนะนำ
หลังจากที่ไฟล์ config หลักแฟ้ม $ HOME / .lpbs.cfg ยังจะได้อ่าน ผู้ใช้สามารถใช้เพื่อแทนที่การตั้งค่าในการกำหนดค่าระบบ สุดท้ายคำสั่ง qsub นอกจากนี้ยังมีตัวเลือกที่ --config ที่ช่วยให้การระบุยังไฟล์ config เพิ่มเติมที่จะอ่าน
การใช้งาน
LPBS มีสคริปต์ lqsub, lqstat และ lqdel ซึ่งเลียนแบบพีบีเอส / แรงบิดคำสั่ง qsub, qstat และ lqdel ตามลำดับ คำสั่ง lqsub จะใช้ในการส่งงาน lqstat ถูกนำมาใช้เพื่อแสดงข้อมูลเกี่ยวกับการใช้งานและ lqdel จะใช้ในการยกเลิกการทำงานงาน ตัวอย่างเช่น:
Goerz @ localhost: ~> lqsub job.pbs
3.localhost.local
Goerz @ localhost: ~> lqstat
id ชื่อผู้ใช้งาน Walltime
-------------------- --------------- --------------- ---------------
3.localhost.local pbstest Goerz 00:00:22
Goerz @ localhost: ~> lqstat -f 3.localhost.local
Id ของงาน: 3.localhost.local
& nbsp; job_name = pbstest
& nbsp; Job_Owner = Goerz
& nbsp; เซิร์ฟเวอร์ = localhost.local
& nbsp; exec_host = localhost.local
& nbsp; PID = 14,649
& nbsp; Error_Path = STDERR
& nbsp; Join_Path = True
& nbsp; Mail_Points n =
& nbsp; Output_Path = pbstest.out
& nbsp; resources_used.walltime = 00:00:43
Goerz @ localhost: ~> lqdel 3.localhost.local
คำสั่ง qsub ถูกออกแบบมาเพื่อทำความเข้าใจกับทุกตัวเลือกบรรทัดคำสั่งของคำสั่ง qsub ในรุ่นแรงบิด 2.18 ยกเว้นว่าตัวเลือกทั้งหมดที่เกี่ยวข้องกับการจัดตารางเวลาจะถูกละเว้นเงียบ ดังนั้นทุกสคริปต์งานพีบีเอสควรจะ submittable โดยไม่มีการเปลี่ยนแปลง สำหรับรายละเอียดเรียก lqsub, lqstat และ lqdel กับตัวเลือก --help และ / หรือดูที่คู่มือการบิด
ตัวอย่างการทำงานสคริปต์
ต่อไปนี้เป็นตัวอย่างของสคริปต์งานพีบีเอสง่ายๆที่จะพิมพ์ออกมาสภาพแวดล้อมที่เต็มรูปแบบที่งานเห็น คุณอาจต้องการที่จะส่งงานนี้ทั้งที่มี LPBS และพีบีเอส / แรงบิดเพื่อตรวจสอบว่ามีการตั้งค่าที่เหมาะสมใน lpbs.cfg, LPBS ให้สภาพแวดล้อมเหมือน LPBS
#! / bin / ทุบตี
#PBS -N pbstest
#PBS -j OE
โหนด #PBS -l = 1: PPN = 1
#PBS -l walltime = 00: 00: 10
#PBS -l ข่าว = 10MB
#PBS -o pbstest.out
echo "################################################ #### "
echo "ผู้ใช้: $ PBS_O_LOGNAME"
echo "งานชุดเริ่มต้นใน $ PBS_O_HOST"
echo "งานพีบีเอส id: $ PBS_JOBID"
echo "ชื่องานพีบีเอส: $ PBS_JOBNAME"
echo "ไดเรกทอรีพีบีเอสทำงาน: $ PBS_O_WORKDIR"
echo "การทำงานเริ่มต้นใน" `` hostname` date`
echo "ไดเรกทอรีปัจจุบัน:" `pwd`
echo "สภาพแวดล้อมพีบีเอส: $ PBS_ENVIRONMENT"
echo "################################################ #### "
echo "################################################ #### "
echo "สิ่งแวดล้อมเต็ม:"
printenv
echo "################################################ #### "
echo "การทำงานจะถูกดำเนินการบนโหนดต่อไปนี้"
แมว $ {} PBS_NODEFILE
echo "################################################ ########## "
echo "งานที่เสร็จแล้ว:" `date`
0 ออก
ต้องการ
- หลาม
ความคิดเห็นที่ไม่พบ