Slurmcluster cepat kapasitas tidak mencukupi fail-over - AWS ParallelCluster

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Slurmcluster cepat kapasitas tidak mencukupi fail-over

Dimulai denganAWS ParallelCluster versi 3.2.0, cluster berjalan dengan mode fail-over kapasitas yang tidak mencukupi yang diaktifkan secara default. Ini meminimalkan waktu yang dihabiskan untuk mencoba mengantri pekerjaan ketika kesalahan kapasitas EC2 tidak mencukupi terdeteksi. Ini sangat efektif ketika Anda mengkonfigurasi klaster Anda dengan beberapa jenis jenis instans.

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 menggunakan jenis instans yang tidak didukung dalam spesifikWilayah AWS.

Dalam mode kegagalan kapasitas yang tidak mencukupi, jika kesalahan kapasitas yang tidak mencukupi terdeteksi saat pekerjaan ditugaskan ke a SlurmQueues/compute resource,AWS ParallelCluster lakukan hal berikut:

  1. Ini menetapkan sumber daya komputasi ke negara cacat (DOWN) untuk jangka waktu yang telah ditetapkan.

  2. MenggunakanPOWER_DOWN_FORCE untuk membatalkan sumber daya komputasi gagal pekerjaan node dan untuk menangguhkan node gagal. Ini menetapkan node gagal untukIDLE danPOWER_DOWN (!) negara, dan kemudian kePOWERING_DOWN (%).

  3. Ini requeues pekerjaan untuk sumber daya komputasi lain.

Node statis dan bertenaga dari sumber daya komputasi yang dinonaktifkan tidak terpengaruh. Pekerjaan dapat menyelesaikan pada node ini.

Siklus ini berulang sampai pekerjaan berhasil ditugaskan ke node sumber daya komputasi atau node. Untuk informasi tentang keadaan simpul, lihatSlurmpanduan untuk beberapa mode antrian.

Jika tidak ada sumber daya komputasi yang ditemukan untuk menjalankan pekerjaan, pekerjaan diatur kePENDING negara sampai periode waktu yang telah ditentukan berlalu. Dalam hal ini, Anda dapat memodifikasi periode waktu yang telah ditentukan seperti yang dijelaskan di bagian berikut.

Parameter batas waktu kapasitas tidak mencukupi

insufficient_capacity_timeout

insufficient_capacity_timeoutmenentukan periode waktu (dalam detik) bahwa sumber daya komputasi disimpan dalam keadaan cacat (down) ketika kesalahan kapasitas tidak mencukupi terdeteksi.

Secara default,insufficient_capacity_timeout diaktifkan.

Defaultinsufficient_capacity_timeout adalah 600 detik (10 menit).

Jikainsufficient_capacity_timeout nilainya kurang dari atau sama dengan nol, mode kegagalan kapasitas yang tidak mencukupi akan dinonaktifkan.

Anda dapat mengubahinsufficient_capacity_timeout nilai dengan menambahkan parameter dalam fileclustermgtd konfigurasi yang terletak di/etc/parallelcluster/slurm_plugin/parallelcluster_clustermgtd.conf dalam fileHeadNode.

Parameter dapat diperbarui kapan saja tanpa menghentikan armada komputasi.

Misalnya:

  • insufficient_capacity_timeout=600:

    Jika kesalahan kapasitas tidak mencukupi terdeteksi, sumber daya komputasi diatur ke disabled (DOWN). Setelah 10 menit, node gagal diatur keidle~ (POWER_SAVING) negara.

  • insufficient_capacity_timeout=60:

    Jika kesalahan kapasitas tidak mencukupi terdeteksi, sumber daya komputasi dalam cacat (DOWN). Setelah 1 menit, node gagal diatur keidle~ negara.

  • 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 klaster memeriksa kegagalan kapasitas node yang tidak mencukupi dan menetapkan sumber daya komputasi kedown status pada interval satu menit.

Status mode fail-over kapasitas yang tidak mencukupi

Ketika cluster dalam mode fail-over kapasitas yang tidak mencukupi, Anda dapat memeriksa status dan status simpul.

Node negara

Ketika pekerjaan diserahkan ke node dinamis sumber daya komputasi dan kesalahan kapasitas yang tidak mencukupi terdeteksi, node ditempatkan didown# negara dengan alasan.

(Code:InsufficientInstanceCapacity)Failure when resuming nodes.

Kemudian dimatikan node (node dalamidle~ keadaan) diaturdown~ dengan alasan.

(Code:InsufficientInstanceCapacity)Temporarily disabling node due to insufficient capacity.

Pekerjaan ini requeued ke sumber daya komputasi lainnya dalam antrian.

Node statis sumber daya komputasi dan node yangUP tidak terpengaruh oleh mode fail-over kapasitas yang tidak mencukupi.

Pertimbangkan keadaan simpul yang ditunjukkan dalam 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 queue1 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]

Nodequeue1-dy-c-1-1 diluncurkan untuk menjalankan pekerjaan. Namun, instance gagal diluncurkan karena kesalahan kapasitas yang tidak mencukupi. Nodequeue1-dy-c-1-1 diatur kedown. Node dinamis yang dimatikan dalam sumber daya komputasi (queue2-dy-c-1) diatur kedown.

Anda dapat memeriksa alasan simpul 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 diantrekan ke jenis instance lain dalam sumber daya komputasi antrian.

Setelahinsufficient_capacity_timeout berlalu, node dalam sumber daya komputasi diatur ulang keidle~ status.

$ 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]

Setelahinsufficient_capacity_timeout berlalu dan node dalam sumber daya komputasi diatur ulang keidle~ status,Slurm scheduler memberikan node prioritas yang lebih rendah. Penjadwal terus memilih node dari sumber daya komputasi antrian lainnya dengan bobot yang lebih tinggi kecuali salah satu dari berikut ini terjadi:

  • Persyaratan pengiriman pekerjaan sesuai dengan sumber daya komputasi yang dipulihkan.

  • Tidak ada sumber daya komputasi lain yang tersedia karena mereka pada kapasitas.

  • slurmctlddimulai ulang.

  • ArmadaAWS ParallelCluster komputasi dihentikan dan mulai power down dan power up semua node.

log log Terkait

Log yang terkait dengan kesalahan kapasitas yang tidak mencukupi dan mode fail-over kapasitas yang tidak mencukupi dapat ditemukan diSlurmresumeclustermgtd log dan masuk ke head node.

Slurm resume (/var/log/parallelcluster/slurm_resume.log)

Pesan kesalahan saat node gagal diluncurkan karena kapasitas 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)

Menghitung sumber daya c-1 dalam antre1 dinonaktifkan karena kapasitas 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 tidak mencukupi berakhir, sumber daya komputasi diatur ulang, node dalam sumber daya komputasi diatur keidle~.

[root:_reset_insufficient_capacity_timeout_expired_nodes] - INFO - Reset the following compute resources because insufficient capacity timeout expired: {'queue1': ['c-1']}