

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
<a name="slurm-short-capacity-fail-mode-v3"></a>

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 antrian Anda dengan beberapa sumber daya komputasi yang menggunakan jenis instans yang berbeda.

**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`](Scheduling-v3.md#Scheduling-v3-SlurmQueues)/[`compute resource`](Scheduling-v3.md#Scheduling-v3-SlurmQueues-ComputeResources), AWS ParallelCluster lakukan hal berikut:

1. Ini menetapkan sumber daya komputasi ke status disabled (`DOWN`) untuk jangka waktu yang telah ditentukan.

1. 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 ke `POWER_DOWN (!)` status `IDLE` dan, dan kemudian ke`POWERING_DOWN (%)`.

1. 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, lihat[Slurmpanduan untuk beberapa mode antrian](multiple-queue-mode-slurm-user-guide-v3.md).

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
<a name="slurm-short-capacity-fail-mode-parameter-v3"></a>

**`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.

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 status `idle~` (`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 ke `idle~` 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
<a name="slurm-short-capacity-fail-mode-status-v3"></a>

Ketika sebuah cluster berada dalam mode fail-over kapasitas yang cepat tidak mencukupi, Anda dapat memeriksa status dan status simpulnya.

### Status simpul
<a name="slurm-short-capacity-fail-mode-nodes-v3"></a>

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 ke`down`. Node dinamis yang dimatikan dalam sumber daya komputasi (`queue2-dy-c-1`) diatur ke`down`.

Anda dapat memeriksa alasan node dengan`scontrol 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
<a name="slurm-protected-mode-logs-v3"></a>

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']}
```