Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Slurm Workload Manager (slurm
)
Ukuran dan pembaruan kapasitas cluster
Kapasitas cluster ditentukan oleh jumlah node komputasi yang dapat diskalakan oleh cluster. Node komputasi didukung oleh EC2 instans Amazon yang ditentukan dalam sumber daya komputasi dalam AWS ParallelCluster konfigurasi(Scheduling/SlurmQueues/ComputeResources)
, dan diatur ke dalam antrian yang memetakan 1:1 (Scheduling/SlurmQueues)
ke Slurm partisi.
Dalam sumber daya komputasi, dimungkinkan untuk mengonfigurasi jumlah minimum node komputasi (instance) yang harus selalu berjalan di cluster (MinCount
), dan jumlah maksimum instance yang dapat diskalakan oleh sumber daya komputasi ke (3). MaxCount
Pada waktu pembuatan klaster, atau pada pembaruan klaster, AWS ParallelCluster meluncurkan sebanyak mungkin EC2 instance Amazon seperti yang dikonfigurasi MinCount
untuk setiap sumber daya komputasi (Scheduling/SlurmQueues/ ComputeResources
) yang ditentukan dalam klaster. Instance yang diluncurkan untuk mencakup jumlah minimal node untuk sumber daya komputasi di cluster disebut node statis. Setelah dimulai, node statis dimaksudkan untuk persisten di cluster dan mereka tidak dihentikan oleh sistem, kecuali peristiwa atau kondisi tertentu terjadi. Peristiwa semacam itu termasuk, misalnya, kegagalan Slurm atau pemeriksaan EC2 kesehatan Amazon dan perubahan Slurm status node ke DRAIN atauDOWN.
EC2Instans Amazon, dalam kisaran 1
hingga ‘MaxCount -
MinCount’
(MaxCount
minus MinCount)
, diluncurkan sesuai permintaan untuk menangani peningkatan beban cluster, disebut sebagai node dinamis. Sifat mereka fana, mereka diluncurkan untuk melayani pekerjaan yang tertunda dan dihentikan setelah mereka tetap menganggur untuk jangka waktu yang ditentukan oleh Scheduling/SlurmSettings/ScaledownIdletime
dalam konfigurasi cluster (default: 10 menit).
Node statis dan simpul dinamis mematuhi skema penamaan berikut:
-
Node statis
<Queue/Name>-st-<ComputeResource/Name>-<num>
di mana<num> = 1..ComputeResource/MinCount
-
Node dinamis
<Queue/Name>-dy-<ComputeResource/Name>-<num>
di mana<num> = 1..(ComputeResource/MaxCount - ComputeResource/MinCount)
Misalnya diberikan AWS ParallelCluster konfigurasi berikut:
Scheduling: Scheduler: Slurm SlurmQueues: - Name: queue1 ComputeResources: - Name: c5xlarge Instances: - InstanceType: c5.xlarge MinCount: 100 MaxCount: 150
Node berikut akan didefinisikan dalam Slurm
$ sinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST queue1* up infinite 50 idle~ queue1-dy-c5xlarge-[1-50] queue1* up infinite 100 idle queue1-st-c5xlarge-[1-100]
Ketika sumber daya komputasi memilikiMinCount == MaxCount
, semua node komputasi yang sesuai akan statis dan semua instance akan diluncurkan pada waktu pembuatan/pembaruan cluster dan terus berjalan. Sebagai contoh:
Scheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ComputeResources: - Name: c5xlarge Instances: - InstanceType: c5.xlarge MinCount: 100 MaxCount: 100
$ sinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST queue1* up infinite 100 idle queue1-st-c5xlarge-[1-100]
Pembaruan kapasitas cluster
Pembaruan kapasitas cluster termasuk menambahkan atau menghapus antrian, menghitung sumber daya atau mengubah sumber daya komputasi. MinCount/MaxCount
Mulai dari AWS ParallelCluster versi 3.9.0, mengurangi ukuran antrian memerlukan armada komputasi dihentikan atau QueueUpdateStrategydisetel ke TERMINATE for sebelum pembaruan cluster berlangsung. Tidak perlu menghentikan armada komputasi atau menyetel QueueUpdateStrategyke TERMINATE kapan:
-
Menambahkan antrian baru ke Penjadwalan/
SlurmQueues
-
Menambahkan sumber daya komputasi baru
Scheduling/SlurmQueues/ComputeResources
ke antrian -
Meningkatkan
MaxCount
sumber daya komputasi -
Peningkatan MinCount sumber daya komputasi dan peningkatan MaxCount sumber daya komputasi yang sama setidaknya dengan jumlah yang sama
Pertimbangan dan batasan
Bagian ini dimaksudkan untuk menguraikan faktor penting, kendala, atau batasan yang harus diperhitungkan saat mengubah ukuran kapasitas cluster.
-
Saat menghapus antrian dari
Scheduling/https://docs.aws.amazon.com/parallelcluster/latest/ug/Scheduling-v3.html#Scheduling-v3-SlurmQueuesSlurmQueues
semua node komputasi dengan nama<Queue/Name>-*
, baik statis maupun dinamis, akan dihapus dari Slurm konfigurasi dan EC2 instans Amazon yang sesuai akan dihentikan. -
Saat menghapus sumber daya komputasi
Scheduling/SlurmQueues/https://docs.aws.amazon.com/parallelcluster/latest/ug/Scheduling-v3.html#Scheduling-v3-SlurmQueues-ComputeResourcesComputeResources
dari antrian, semua node komputasi dengan nama<Queue/Name>-*-<ComputeResource/Name>-*
, baik statis maupun dinamis, akan dihapus dari Slurm konfigurasi dan EC2 instans Amazon yang sesuai akan dihentikan.
Ketika mengubah MinCount
parameter sumber daya komputasi kita dapat membedakan dua skenario yang berbeda, jika MaxCount
tetap sama dengan MinCount
(kapasitas statis saja), dan jika MaxCount
lebih besar dari MinCount
(kapasitas statis dan dinamis campuran).
Perubahan kapasitas hanya dengan node statis
-
Jika
MinCount == MaxCount
, saat meningkatkanMinCount
(danMaxCount
), cluster akan dikonfigurasi dengan memperluas jumlah node statis ke nilai baruMinCount
<Queue/Name>-st-<ComputeResource/Name>-<new_MinCount>
dan sistem akan terus mencoba meluncurkan EC2 instans Amazon untuk memenuhi kapasitas statis baru yang diperlukan. -
Jika
MinCount == MaxCount
, saat mengurangiMinCount
(danMaxCount
) jumlah N, cluster akan dikonfigurasi dengan menghapus node statis N terakhir<Queue/Name>-st-<ComputeResource/Name>-<old_MinCount - N>...<old_MinCount>]
dan sistem akan menghentikan instance Amazon yang sesuai. EC2-
Keadaan awal
MinCount = MaxCount = 100
-
$ sinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST queue1* up infinite 100 idle queue1-st-c5xlarge-[1-100]
-
Update
-30
padaMinCount
danMaxCount: MinCount = MaxCount = 70
-
$ sinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST queue1* up infinite 70 idle queue1-st-c5xlarge-[1-70]
-
Perubahan kapasitas dengan node campuran
JikaMinCount < MaxCount
, ketika meningkat MinCount
dengan jumlah N (dengan asumsi MaxCount
akan tetap tidak berubah), cluster akan dikonfigurasi dengan memperluas jumlah node statis ke nilai baru MinCount
(old_MinCount + N
): <Queue/Name>-st-<ComputeResource/Name>-<old_MinCount +
N>
dan sistem akan terus mencoba meluncurkan EC2 instans Amazon untuk memenuhi kapasitas statis baru yang diperlukan. Selain itu, untuk menghormati MaxCount
kapasitas sumber daya komputasi, konfigurasi cluster diperbarui dengan menghapus N node dinamis terakhir: <Queue/Name>-dy-<ComputeResource/Name>-[<MaxCount -
old_MinCount - N>...<MaxCount - old_MinCount>]
dan sistem akan menghentikan instance Amazon EC2 yang sesuai.
-
Keadaan awal:
MinCount = 100; MaxCount = 150
-
$ sinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST queue1* up infinite 50 idle~ queue1-dy-c5xlarge-[1-50] queue1* up infinite 100 idle queue1-st-c5xlarge-[1-100]
-
Perbarui +30 ke
MinCount : MinCount = 130 (MaxCount = 150)
-
$ sinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST queue1* up infinite 20 idle~ queue1-dy-c5xlarge-[1-20] queue1* up infinite 130 idle queue1-st-c5xlarge-[1-130]
JikaMinCount < MaxCount
, saat meningkatkan MinCount
dan MaxCount
dengan jumlah N yang sama, cluster akan dikonfigurasi dengan memperluas jumlah node statis ke nilai baru MinCount
(old_MinCount + N
): <Queue/Name>-st-<ComputeResource/Name>-<old_MinCount +
N>
dan sistem akan terus mencoba meluncurkan EC2 instans Amazon untuk memenuhi kapasitas statis baru yang diperlukan. Selain itu, tidak ada perubahan yang akan dilakukan pada jumlah node dinamis untuk menghormati yang baru
MaxCount
nilai.
-
Keadaan awal:
MinCount = 100; MaxCount = 150
-
$ sinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST queue1* up infinite 50 idle~ queue1-dy-c5xlarge-[1-50] queue1* up infinite 100 idle queue1-st-c5xlarge-[1-100]
-
Perbarui +30 ke
MinCount : MinCount = 130 (MaxCount = 180)
-
$ sinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST queue1* up infinite 20 idle~ queue1-dy-c5xlarge-[1-50] queue1* up infinite 130 idle queue1-st-c5xlarge-[1-130]
JikaMinCount < MaxCount
, ketika mengurangi MinCount
jumlah N (dengan asumsi MaxCount
akan tetap tidak berubah), cluster akan dikonfigurasi dengan menghapus node statis N terakhir node statis <Queue/Name>-st-<ComputeResource/Name>-[<old_MinCount -
N>...<old_MinCount>
dan sistem akan menghentikan instance Amazon yang sesuai. EC2 Selain itu, untuk menghormati MaxCount
kapasitas sumber daya komputasi, konfigurasi cluster diperbarui dengan memperluas jumlah node dinamis untuk mengisi celahMaxCount - new_MinCount:
<Queue/Name>-dy-<ComputeResource/Name>-[1..<MazCount -
new_MinCount>]
. Dalam hal ini, karena itu adalah node dinamis, tidak ada EC2 instance Amazon baru yang akan diluncurkan kecuali penjadwal memiliki pekerjaan di pending pada node baru.
-
Keadaan awal:
MinCount = 100; MaxCount = 150
-
$ sinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST queue1* up infinite 50 idle~ queue1-dy-c5xlarge-[1-50] queue1* up infinite 100 idle queue1-st-c5xlarge-[1-100]
-
Perbarui -30 pada
MinCount : MinCount = 70 (MaxCount = 120)
-
$ sinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST queue1* up infinite 80 idle~ queue1-dy-c5xlarge-[1-80] queue1* up infinite 70 idle queue1-st-c5xlarge-[1-70]
JikaMinCount < MaxCount
, saat mengurangi MinCount
dan MaxCount
dengan jumlah N yang sama, cluster akan dikonfigurasi dengan menghapus node statis N terakhir <Queue/Name>-st-<ComputeResource/Name>-<old_MinCount -
N>...<oldMinCount>]
dan sistem akan menghentikan instance Amazon yang sesuai. EC2
Selain itu, tidak ada perubahan yang akan dilakukan pada jumlah node dinamis untuk menghormati MaxCount
nilai baru.
-
Keadaan awal:
MinCount = 100; MaxCount = 150
-
$ sinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST queue1* up infinite 50 idle~ queue1-dy-c5xlarge-[1-50] queue1* up infinite 100 idle queue1-st-c5xlarge-[1-100]
-
Perbarui -30 pada
MinCount : MinCount = 70 (MaxCount = 120)
-
$ sinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST queue1* up infinite 80 idle~ queue1-dy-c5xlarge-[1-50] queue1* up infinite 70 idle queue1-st-c5xlarge-[1-70]
JikaMinCount < MaxCount
, ketika mengurangi MaxCount
jumlah N (dengan asumsi MinCount
akan tetap tidak berubah), cluster akan dikonfigurasi dengan menghapus N node dinamis terakhir <Queue/Name>-dy-<ComputeResource/Name>-<old_MaxCount -
N...<oldMaxCount>]
dan sistem akan menghentikan instance EC2 Amazon yang sesuai jika mereka berjalan. Tidak ada dampak yang diharapkan pada node statis.
-
Keadaan awal:
MinCount = 100; MaxCount = 150
-
$ sinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST queue1* up infinite 50 idle~ queue1-dy-c5xlarge-[1-50] queue1* up infinite 100 idle queue1-st-c5xlarge-[1-100]
-
Perbarui -30 pada
MaxCount : MinCount = 100 (MaxCount = 120)
-
$ sinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST queue1* up infinite 20 idle~ queue1-dy-c5xlarge-[1-20] queue1* up infinite 100 idle queue1-st-c5xlarge-[1-100]
Dampak pada Pekerjaan
Dalam semua kasus di mana node dihapus dan EC2 instance Amazon dihentikan, pekerjaan sbatch yang berjalan pada node yang dihapus akan diantrian ulang, kecuali tidak ada node lain yang memenuhi persyaratan pekerjaan. Dalam kasus terakhir ini pekerjaan akan gagal dengan status NODE _ FAIL dan menghilang dari antrian; jika demikian, itu harus dikirim ulang secara manual.
Jika Anda berencana untuk melakukan pembaruan pengubahan ukuran cluster, Anda dapat mencegah pekerjaan berjalan di node yang akan dihapus selama pembaruan yang direncanakan. Ini dimungkinkan dengan mengatur node yang akan dihapus dalam pemeliharaan. Perlu diketahui bahwa menyetel node dalam pemeliharaan tidak akan memengaruhi pekerjaan yang pada akhirnya sudah berjalan di node.
Misalkan dengan pembaruan pengubahan ukuran cluster yang direncanakan Anda akan menghapus nodeqeueu-st-computeresource-[9-10
]. Anda dapat membuat Slurm reservasi dengan perintah berikut
sudo -i scontrol create reservation ReservationName=maint_for_update user=root starttime=now duration=infinite flags=maint,ignore_jobs nodes=qeueu-st-computeresource-[9-10]
Ini akan membuat Slurm reservasi bernama maint_for_update
pada nodeqeueu-st-computeresource-[9-10]
. Dari saat reservasi dibuat, tidak ada lagi pekerjaan yang bisa berjalan ke nodeqeueu-st-computeresource-[9-10]
. Perlu diketahui bahwa reservasi tidak akan mencegah pekerjaan akhirnya dialokasikan pada nodeqeueu-st-computeresource-[9-10]
.
Setelah pembaruan pengubahan ukuran cluster, jika Slurm reservasi ditetapkan hanya pada node yang telah dihapus selama pembaruan pengubahan ukuran, reservasi pemeliharaan akan dihapus secara otomatis. Jika sebaliknya Anda telah membuat Slurm reservasi pada node yang masih ada setelah pembaruan pengubahan ukuran cluster, kami mungkin ingin menghapus reservasi pemeliharaan pada node setelah pembaruan pengubahan ukuran dilakukan, dengan menggunakan perintah berikut
sudo -i scontrol delete ReservationName=maint_for_update
Untuk detail tambahan tentang Slurm reservasi, lihat dokumen SchedMD resmi di sini
Proses pembaruan klaster tentang perubahan kapasitas
Setelah perubahan konfigurasi penjadwal, langkah-langkah berikut dijalankan selama proses pembaruan cluster:
-
Berhenti AWS ParallelCluster
clustermgtd (supervisorctl stop clustermgtd)
-
Hasilkan diperbarui Slurm konfigurasi partisi dari AWS ParallelCluster konfigurasi
-
Mulai ulang
slurmctld
(dilakukan melalui resep layanan Chef) -
Periksa
slurmctld
status(systemctl is-active --quiet slurmctld.service)
-
Muat ulang Slurm konfigurasi
(scontrol reconfigure)
-
Mulai
clustermgtd (supervisorctl start clustermgtd)
Untuk informasi tentang Slurm, lihat https://slurm.schedmd.com
AWS ParallelCluster versi | Didukung Slurm versi |
---|---|
3.11.0 |
23.11.10 |
3.9.2, 3.9.3, 3.10.0 |
23.11.7 |
3.9.0, 3.9.1 |
23.11.4 |
3.8.0 |
23.02.7 |
3.7.2 |
23.02.6 |
3.7.1 |
23.02.5 |
3.7.0 |
23.02.4 |
3.6.0, 3.6.1 |
23.02.2 |
3.5.0, 3.5.1 |
22.05.8 |
3.4.0, 3.4.1 |
22.05.7 |
3.3.0, 3.3.1 |
22.05.5 |
3.1.4, 3.1.5, 3.2.0, 3.2.1 |
21.08.8-2 |
3.1.2, 3.1.3 |
21.08.6 |
3.1.1 |
21.08.5 |
3.0.0 |
20.11.8 |
Topik
- Konfigurasi beberapa antrian
- Slurm panduan untuk beberapa mode antrian
- Slurmmode terlindungi cluster
- Slurmcluster cepat tidak mencukupi kapasitas fail-over
- Slurmpenjadwalan berbasis memori
- Beberapa alokasi tipe instans dengan Slurm
- Penskalaan cluster untuk node dinamis
- Slurm akuntansi dengan AWS ParallelCluster
- Slurmkustomisasi konfigurasi
- Slurmprolog dan epilog
- Ukuran dan pembaruan kapasitas cluster