Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Slurmcluster cepat tidak mencukupi kapasitas fail-over
Dimulai dengan AWS ParallelCluster versi 3.2.0, cluster berjalan dengan mode fail-over kapasitas cepat tidak mencukupi diaktifkan secara default. Ini meminimalkan waktu yang dihabiskan untuk mencoba mengantri pekerjaan ketika kesalahan kapasitas Amazon EC2 tidak mencukupi terdeteksi. Ini sangat efektif ketika Anda mengonfigurasi klaster Anda dengan beberapa jenis jenis instance.
Amazon EC2 mendeteksi kegagalan kapasitas yang tidak mencukupi:
-
InsufficientInstanceCapacity
-
InsufficientHostCapacity
-
InsufficientReservedInstanceCapacity
-
MaxSpotInstanceCountExceeded
-
SpotMaxPriceTooLow
: Diaktifkan jika harga permintaan Spot lebih rendah dari harga pemenuhan permintaan Spot minimum yang disyaratkan. -
Unsupported
: Diaktifkan dengan penggunaan jenis instance yang tidak didukung secara spesifik Wilayah AWS.
Dalam mode kegagalan kapasitas yang cepat tidak mencukupi, jika kesalahan kapasitas yang tidak mencukupi terdeteksi saat pekerjaan ditugaskan ke SlurmQueues/compute resource, AWS ParallelCluster lakukan hal berikut:
-
Ini menetapkan sumber daya komputasi ke status disabled (
DOWN
) untuk jangka waktu yang telah ditentukan. -
Ini digunakan
POWER_DOWN_FORCE
untuk membatalkan sumber daya komputasi yang gagal pekerjaan node dan untuk menangguhkan node yang gagal. Ini menetapkan node yang gagal kePOWER_DOWN (!)
statusIDLE
dan, dan kemudian kePOWERING_DOWN (%)
. -
Ini mengembalikan pekerjaan ke sumber daya komputasi lain.
Node statis dan dinyalakan dari sumber daya komputasi yang dinonaktifkan tidak terpengaruh. Pekerjaan dapat diselesaikan pada node ini.
Siklus ini berulang sampai pekerjaan berhasil ditetapkan ke node sumber daya komputasi atau node. Untuk informasi tentang status node, lihatSlurm panduan untuk beberapa mode antrian.
Jika tidak ada sumber daya komputasi yang ditemukan untuk menjalankan pekerjaan, pekerjaan disetel ke PENDING
status hingga periode waktu yang telah ditentukan berlalu. Dalam hal ini, Anda dapat mengubah periode waktu yang telah ditentukan seperti yang dijelaskan di bagian berikut.
Parameter batas waktu kapasitas tidak mencukupi
insufficient_capacity_timeout
insufficient_capacity_timeout
menentukan periode waktu (dalam detik) bahwa sumber daya komputasi disimpan dalam status disabled (down
) ketika kesalahan kapasitas tidak mencukupi terdeteksi.
Secara default, insufficient_capacity_timeout
diaktifkan.
insufficient_capacity_timeout
Defaultnya adalah 600 detik (10 menit).
Jika insufficient_capacity_timeout
nilainya kurang dari atau sama dengan nol, mode failure-over kapasitas cepat tidak mencukupi dinonaktifkan.
Anda dapat mengubah insufficient_capacity_timeout
nilai dengan menambahkan parameter dalam file clustermgtd
konfigurasi yang terletak di /etc/parallelcluster/slurm_plugin/parallelcluster_clustermgtd.conf
dalam file. HeadNode
Parameter dapat diperbarui kapan saja tanpa menghentikan armada komputasi.
Sebagai contoh:
-
insufficient_capacity_timeout=600
:Jika kesalahan kapasitas tidak mencukupi terdeteksi, sumber daya komputasi disetel ke disabled (
DOWN
). Setelah 10 menit, node yang gagal diatur ke statusidle~
(POWER_SAVING
). -
insufficient_capacity_timeout=60
:Jika kesalahan kapasitas tidak mencukupi terdeteksi, sumber daya komputasi berada di disabled (
DOWN
). Setelah 1 menit, node yang gagal diatur keidle~
status. -
insufficient_capacity_timeout=0
:Mode kegagalan kapasitas yang tidak mencukupi dengan cepat dinonaktifkan. Sumber daya komputasi tidak dinonaktifkan.
catatan
Mungkin ada penundaan hingga satu menit antara waktu ketika node gagal dengan kesalahan kapasitas yang tidak mencukupi dan waktu ketika daemon manajemen cluster mendeteksi kegagalan node. Ini karena daemon manajemen cluster memeriksa kegagalan kapasitas node yang tidak mencukupi dan menetapkan sumber daya komputasi ke down
status pada interval satu menit.
Status mode fail-over kapasitas cepat tidak mencukupi
Ketika sebuah cluster berada dalam mode fail-over kapasitas yang cepat tidak mencukupi, Anda dapat memeriksa status dan status simpulnya.
Status simpul
Ketika pekerjaan dikirimkan ke node dinamis sumber daya komputasi dan kesalahan kapasitas yang tidak mencukupi terdeteksi, node ditempatkan dalam down#
keadaan dengan alasan.
(Code:InsufficientInstanceCapacity)Failure when resuming nodes.
Kemudian node yang dimatikan (node dalam idle~
keadaan) disetel ke down~
dengan alasan.
(Code:InsufficientInstanceCapacity)Temporarily disabling node due to insufficient capacity.
Pekerjaan tersebut diminta kembali ke sumber daya komputasi lain dalam antrian.
Node statis sumber daya komputasi dan node yang UP
tidak terpengaruh oleh mode fail-over kapasitas yang cepat tidak mencukupi.
Pertimbangkan status simpul yang ditunjukkan pada contoh berikut.
$
sinfo
PARTITION AVAIL TIMELIMIT NODES STATE NODELIST queue1* up infinite 30 idle~ queue1-dy-c-1-[1-15],queue1-dy-c-2-[1-15] queue2 up infinite 30 idle~ queue2-dy-c-1-[1-15],queue2-dy-c-2-[1-15]
Kami mengirimkan pekerjaan ke antrian1 yang membutuhkan satu node.
$
sinfo
PARTITION AVAIL TIMELIMIT NODES STATE NODELIST queue1* up infinite 1 down# queue1-dy-c-1-1 queue1* up infinite 15 idle~ queue1-dy-c-2-[1-15] queue1* up infinite 14 down~ queue1-dy-c-1-[2-15] queue2 up infinite 30 idle~ queue2-dy-c-1-[1-15],queue2-dy-c-2-[1-15]
queue1-dy-c-1-1
Node diluncurkan untuk menjalankan pekerjaan. Namun, instance gagal diluncurkan karena kesalahan kapasitas yang tidak mencukupi. Node queue1-dy-c-1-1
diatur kedown
. Node dinamis yang dimatikan dalam sumber daya komputasi (queue2-dy-c-1
) diatur kedown
.
Anda dapat memeriksa alasan node denganscontrol show nodes
.
$
scontrol show nodes queue1-dy-c-1-1
NodeName=broken-dy-c-2-1 Arch=x86_64 CoresPerSocket=1 CPUAlloc=0 CPUTot=96 CPULoad=0.00 ... ExtSensorsJoules=n/s ExtSensorsWatts=0 ExtSensorsTemp=n/s Reason=(Code:InsufficientInstanceCapacity)Failure when resuming nodes [root@2022-03-10T22:17:50]
$
scontrol show nodes queue1-dy-c-1-2
NodeName=broken-dy-c-2-1 Arch=x86_64 CoresPerSocket=1 CPUAlloc=0 CPUTot=96 CPULoad=0.00 ... ExtSensorsJoules=n/s ExtSensorsWatts=0 ExtSensorsTemp=n/s Reason=(Code:InsufficientInstanceCapacity)Temporarily disabling node due to insufficient capacity [root@2022-03-10T22:17:50]
Pekerjaan diantrian ke jenis instance lain dalam sumber daya komputasi antrian.
Setelah insufficient_capacity_timeout
berlalu, node dalam sumber daya komputasi diatur ulang ke status. idle~
$
sinfo
PARTITION AVAIL TIMELIMIT NODES STATE NODELIST queue1* up infinite 30 idle~ queue1-dy-c-1-[1-15],queue1-dy-c-2-[1-15] queue2 up infinite 30 idle~ queue2-dy-c-1-[1-15],queue2-dy-c-2-[1-15]
Setelah insufficient_capacity_timeout
berlalu dan node dalam sumber daya komputasi diatur ulang ke idle~
status, Slurm penjadwal memberikan node prioritas yang lebih rendah. Penjadwal terus memilih node dari sumber daya komputasi antrian lain dengan bobot yang lebih tinggi kecuali salah satu dari yang berikut terjadi:
-
Persyaratan pengiriman pekerjaan cocok dengan sumber daya komputasi yang dipulihkan.
-
Tidak ada sumber daya komputasi lain yang tersedia karena mereka berada pada kapasitas.
-
slurmctld
dimulai ulang. -
Armada AWS ParallelCluster komputasi dihentikan dan mulai dimatikan dan menyalakan semua node.
Log terkait
Log yang terkait dengan kesalahan kapasitas yang tidak mencukupi dan mode kegagalan kapasitas yang cepat tidak mencukupi dapat ditemukan di Slurm resume
log dan clustermgtd
log in node kepala.
- Slurm
resume
(/var/log/parallelcluster/slurm_resume.log
) -
Pesan kesalahan ketika node gagal diluncurkan karena kapasitas yang tidak mencukupi.
[slurm_plugin.instance_manager:_launch_ec2_instances] - ERROR - Failed RunInstances request: dcd0c252-90d4-44a7-9c79-ef740f7ecd87 [slurm_plugin.instance_manager:add_instances_for_nodes] - ERROR - Encountered exception when launching instances for nodes (x1) ['queue1-dy-c-1-1']: An error occurred (InsufficientInstanceCapacity) when calling the RunInstances operation (reached max retries: 1): We currently do not have sufficient p4d.24xlarge capacity in the Availability Zone you requested (us-west-2b). Our system will be working on provisioning additional capacity. You can currently get p4d.24xlarge capacity by not specifying an Availability Zone in your request or choosing us-west-2a, us-west-2c.
- Slurm
clustermgtd
(/var/log/parallelcluster/clustermgtd
) -
Sumber daya komputasi c-1 dalam antrean1 dinonaktifkan karena kapasitas yang tidak mencukupi.
[slurm_plugin.clustermgtd:_reset_timeout_expired_compute_resources] - INFO - The following compute resources are in down state due to insufficient capacity: {'queue1': {'c-1': ComputeResourceFailureEvent(timestamp=datetime.datetime(2022, 4, 14, 23, 0, 4, 769380, tzinfo=datetime.timezone.utc), error_code='InsufficientInstanceCapacity')}}, compute resources are reset after insufficient capacity timeout (600 seconds) expired
Setelah batas waktu kapasitas yang tidak mencukupi berakhir, sumber daya komputasi diatur ulang, node dalam sumber daya komputasi disetel ke.
idle~
[root:_reset_insufficient_capacity_timeout_expired_nodes] - INFO - Reset the following compute resources because insufficient capacity timeout expired: {'queue1': ['c-1']}