Score:2

การจัดการหน่วยความจำ SLURM ในการติดตั้งโหนดเดียว (ปัญหา)

ธง it

ฉันมีการตั้งค่า 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
in flag
คุณช่วยแชร์ slurm.conf และ cgroup.conf ของคุณได้ไหม
Wesley avatar
it flag
@GeraldSchneider ฉันเพิ่มไฟล์ `slurm.conf` ดูเหมือนจะไม่มี `cgroup.conf` `/slurm/` มีไฟล์ `cgroup.conf.example` แต่นั่นคือทั้งหมด
in flag
คุณยังไม่ได้กำหนดค่าหน่วยความจำสำหรับโหนดของคุณ ลองเพิ่มพารามิเตอร์ `RealMemory=` ในบรรทัด `NodeName=` ของคุณ
Wesley avatar
it flag
@GeraldSchneider ฉันยังคงได้รับข้อผิดพลาด ฉันเพิ่ม `RealMemory=200000` ในบรรทัด
Wesley avatar
it flag
ฉันยังได้รับข้อผิดพลาดเดียวกันเมื่อฉันพยายามเพิ่ม SelectTypeParameters=CR_CPU_Memory และตัวแปรอื่น ๆ ที่เกี่ยวข้องกับหน่วยความจำ
Wesley avatar
it flag
ไอเดียเพิ่มเติม @GeraldSchneider? 50 คะแนนไม่มาก แต่เป็นคะแนนที่ซื่อสัตย์ :)
Nathan Musoke avatar
cn flag
@wesley ฉันสามารถแก้ไขสิ่งที่อาจเป็นข้อผิดพลาดเดียวกันได้โดยการตั้งค่า 'MaxMemPerNode' ดู https://slurm.schedmd.com/cons_res_share.html

โพสต์คำตอบ

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