ฉันมีการตั้งค่า SLURM บนโหนด CentOS 7 เดียวที่มี 64 คอร์ (128 CPU) ฉันใช้ SLURM เพื่อส่งงานสำเร็จโดยใช้ทั้งสองอย่าง วิ่ง
และ สแบทช์
. อย่างไรก็ตาม มีคำเตือนว่าฉันไม่ได้จัดสรรหน่วยความจำ ฉันสามารถจัดสรร CPU ได้ แต่ไม่ใช่หน่วยความจำ
เมื่อฉันพยายามจัดสรรหน่วยความจำ ฉันได้รับ
sbatch: ข้อผิดพลาด: ข้อกำหนดหน่วยความจำไม่สามารถตอบสนองได้
sbatch: ข้อผิดพลาด: การส่งงานแบบกลุ่มล้มเหลว: ไม่มีการกำหนดค่าโหนดที่ร้องขอ
ดังนั้นสิ่งนี้จะทำงาน
#!/bin/bash
#SBATCH --ชื่องาน=ชื่อ
#SBATCH --output=name.txt
#SBATCH --cpus-per-task=10
#SBATCH --time=6-59:00
แต่สิ่งนี้จะไม่ทำงาน
#!/bin/bash
#SBATCH --ชื่องาน=ชื่อ
#SBATCH --output=name.txt
#SBATCH --cpus-per-task=10
#SBATCH --mem=2000M
#SBATCH --time=6-59:00
ในทำนองเดียวกันสิ่งนี้จะไม่ทำงาน
#!/bin/bash
#SBATCH --ชื่องาน=ชื่อ
#SBATCH --output=name.txt
#SBATCH --cpus-per-task=10
#SBATCH --mem-per-cpu=2000M
#SBATCH --time=6-59:00
ทั้งสองให้ข้อความแสดงข้อผิดพลาดข้างต้น
นี่เป็นความเจ็บปวดเพราะตอนนี้ฉันเริ่มใช้งาน cpu อย่างเต็มที่ ฉันมีงานขัดแย้งกันและล้มเหลว และฉันเชื่อว่าเป็นเพราะไม่มีการจัดสรรหน่วยความจำที่เหมาะสม ดังนั้นโปรแกรมจะหยุดทำงานด้วย จัดสรรไม่ดี
ข้อความแสดงข้อผิดพลาดหรือเพียงแค่หยุดทำงาน ฉันใช้ SLURM ค่อนข้างน้อยในการคำนวณคลัสเตอร์ของแคนาดา และการกำหนดหน่วยความจำก็ไม่มีปัญหา ปัญหาที่ฉันใช้ SLURM บนโหนดเดียวซึ่งเป็นโหนดล็อกอินด้วยหรือไม่ หรือว่าฉันใช้การตั้งค่าเริ่มต้นเป็นหลักและจำเป็นต้องทำงานบางอย่างของผู้ดูแลระบบ
ฉันได้ลองใช้หน่วยต่าง ๆ สำหรับหน่วยความจำเช่น 2G
ค่อนข้างมากกว่า 2000ม
และฉันได้ลองใช้ 1024M
เช่นกัน แต่ก็ไม่เป็นผล
ไฟล์ slurm.conf คือ
ClusterName=ลินุกซ์
ControlMachine=ชื่อดัมมี่
ControlAddr = ที่อยู่จำลอง
#ตัวควบคุมการสำรองข้อมูล=
#BackupAddr=
#
#SlurmUser=สลบ
SlurmdUser=ราก
SlurmctldPort=ดัมมี่พอร์ต
SlurmdPort=ดัมมี่พอร์ต+1
AuthType=รับรองความถูกต้อง/มึน
#JobCredentialPrivateKey=
#JobCredentialPublicCertificate=
StateSaveLocation=/var/lib/slurm
SlurmdSpoolDir=/tmp/slurmd
SwitchType=สวิตช์/ไม่มี
MpiDefault=ไม่มี
SlurmctldPidFile=/var/run/slurmctld.pid
SlurmdPidFile=/var/run/slurmd.pid
ProctrackType=proctrack/pgid
#PluginDir=
#รหัสงานแรก=
ReturnToService=1
#จำนวนงานสูงสุด=
#PlugStackConfig=
#PropagatePrioProcess=
#PropagateResourceLimits=
#PropagateResourceLimitsExcept=
#โปรล็อก=
#Epilog=
#SrunProlog=
#SrunEpilog=
#TaskProlog=
#TaskEpilog=
#ปลั๊กอินงาน=
#TrackWCKey=ไม่
#ความกว้างของต้นไม้=50
#TmpFS=
#UsePAM=
#
# จับเวลา
SlurmctldTimeout=300
SlurmdTimeout=300
ไม่ใช้งานขีด จำกัด = 0
อายุงานขั้นต่ำ=300
คิลรอต=30
เวลารอ = 0
#
#กำหนดการ
SchedulerType=กำหนดการ/การทดแทน
#SchedulerAuth=
#SchedulerPort=
#SchedulerRootFilter=
SelectType=เลือก/cons_res
SelectTypeParameters=CR_CORE
#ตารางด่วน=1
#PriorityType=ลำดับความสำคัญ/หลายปัจจัย
#PriorityDecayครึ่งชีวิต=14-0
#PriorityUsageResetPeriod=14-0
#PriorityWeightFairshare=100,000
#PriorityWeightAge=1000
#PriorityWeightPartition=10,000
#PriorityWeightJobSize=1000
#PriorityMaxAge=1-0
#
# เข้าสู่ระบบ
#DebugFlags=gres
SlurmctldDebug=3
#SlurmctldLogFile=
SlurmdDebug=3
#SlurmdLogFile=
JobCompType=jobcomp/ไม่มี
#JobCompLoc=
#
#บัญชี
#JobAcctGatherType=jobacct_gather/linux
#JobAcctGatherFrequency=30
#
#AccountingStorageType=accounting_storage/slurmdbd
#AccountingStorageHost=
#AccountingStorageLoc=
#AccountingStoragePass=
#AccountingStorageUser=
#
# โหนดคอมพิวเตอร์
GresTypes=จีพียู
NodeName=dummyname CoresPerSocket=64 Sockets=1 ThreadsPerCore=2 State=IDLE Gres=gpu:2
#NodeName=dummyname CoresPerSocket=64 Sockets=1 ThreadsPerCore=2 State=IDLE
PartitionName=all Nodes=dummyname Default=YES Shared=Yes MaxTime=INFINITE State=UP