

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

# Berkeja dengan Instans Spot
<a name="spot"></a>

AWS ParallelCluster menggunakan Instans Spot jika konfigurasi cluster telah menetapkan [`cluster_type`](cluster-definition.md#cluster-type) = spot. Instans Spot lebih hemat biaya daripada Instans Sesuai Permintaan, tetapi mungkin akan terganggu. Efek interupsi bervariasi tergantung pada penjadwal spesifik yang digunakan. Mungkin bermanfaat untuk memanfaatkan *pemberitahuan interupsi Instans Spot*, yang memberikan peringatan dua menit sebelum Amazon EC2 harus menghentikan atau menghentikan Instans Spot Anda. Untuk informasi selengkapnya, lihat [Interupsi Instans Spot](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-interruptions.html) di Panduan Pengguna *Amazon EC2*. Bagian berikut menjelaskan tiga skenario di mana Instans Spot dapat diinterupsi.

**catatan**  
Menggunakan Instans Spot mengharuskan peran `AWSServiceRoleForEC2Spot` terkait layanan ada di akun Anda. Untuk membuat peran ini di akun Anda menggunakan AWS CLI, jalankan perintah berikut:  

```
aws iam create-service-linked-role --aws-service-name spot.amazonaws.com
```
Untuk informasi selengkapnya, lihat [Peran terkait layanan untuk permintaan Instans Spot](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html#service-linked-roles-spot-instance-requests) di Panduan Pengguna *Amazon EC2*.

## Skenario 1: Instans Spot tanpa pekerjaan yang berjalan terganggu
<a name="no-jobs"></a>

Ketika interupsi ini terjadi, AWS ParallelCluster coba ganti instance jika antrian penjadwal memiliki pekerjaan tertunda yang memerlukan instance tambahan, atau jika jumlah instance aktif lebih rendah dari pengaturan. [`initial_queue_size`](cluster-definition.md#configuration-initial-queue-size) Jika tidak AWS ParallelCluster dapat menyediakan instance baru, maka permintaan untuk instance baru diulang secara berkala.

## Skenario 2: Instance Spot yang menjalankan pekerjaan node tunggal terputus
<a name="single-node"></a>

Perilaku interupsi ini tergantung pada penjadwal yang digunakan.

Slurm  
Pekerjaan gagal dengan kode negara bagian`NODE_FAIL`, dan pekerjaan tersebut diminta kembali (kecuali `--no-requeue` ditentukan saat pekerjaan diserahkan). Jika node adalah node statis, itu diganti. Jika node adalah node dinamis, node dihentikan dan diatur ulang. Untuk informasi selengkapnya tentang`sbatch`, termasuk `--no-requeue` parameter, lihat [https://slurm.schedmd.com/sbatch.html](https://slurm.schedmd.com/sbatch.html)di dokumentasi *Slurm*.  
Perilaku ini berubah di AWS ParallelCluster versi 2.9.0. Versi sebelumnya menghentikan pekerjaan dengan kode status `NODE_FAIL` dan node telah dihapus dari antrian penjadwal.

SGE  
Ini hanya berlaku untuk AWS ParallelCluster versi hingga dan termasuk versi 2.11.4. Dimulai dengan versi 2.11.5, AWS ParallelCluster tidak mendukung penggunaan SGE atau Torque penjadwal.
Pekerjaan dihentikan. Jika pekerjaan telah mengaktifkan flag runun ulang (menggunakan salah satu atau`qalter -r yes`) `qsub -r yes` atau antrean memiliki `rerun` konfigurasi yang disetel ke`TRUE`, maka pekerjaan dijadwalkan ulang. Instance komputasi dihapus dari antrian scheduler. Perilaku ini berasal dari parameter konfigurasi SGE ini:  
+ `reschedule_unknown 00:00:30`
+ `ENABLE_FORCED_QDEL_IF_UNKNOWN`
+ `ENABLE_RESCHEDULE_KILL=1`

Torque  
Ini hanya berlaku untuk AWS ParallelCluster versi hingga dan termasuk versi 2.11.4. Dimulai dengan versi 2.11.5, AWS ParallelCluster tidak mendukung penggunaan SGE atau Torque penjadwal.
Pekerjaan dihapus dari sistem dan node dihapus dari penjadwal. Pekerjaannya tidak dijalankan kembali. Jika beberapa pekerjaan berjalan pada instance saat terputus, Torque mungkin habis selama penghapusan node. Kesalahan mungkin ditampilkan dalam file [`sqswatcher`](processes.md#sqswatcher) log. Ini tidak memengaruhi logika penskalaan, dan pembersihan yang tepat dilakukan dengan percobaan ulang berikutnya.

## Skenario 3: Instans Spot yang menjalankan pekerjaan multi-node terputus
<a name="multi-node"></a>

Perilaku interupsi ini tergantung pada penjadwal yang digunakan.

Slurm  
Pekerjaan gagal dengan kode negara bagian`NODE_FAIL`, dan pekerjaan tersebut diminta kembali (kecuali `--no-requeue` ditentukan saat pekerjaan diajukan). Jika node adalah node statis, itu diganti. Jika node adalah node dinamis, node dihentikan dan diatur ulang. Node lain yang menjalankan pekerjaan yang dihentikan mungkin dialokasikan ke pekerjaan tertunda lainnya, atau diperkecil setelah [`scaledown_idletime`](scaling-section.md#scaledown-idletime) waktu yang dikonfigurasi berlalu.  
Perilaku ini berubah di AWS ParallelCluster versi 2.9.0. Versi sebelumnya menghentikan pekerjaan dengan kode status `NODE_FAIL` dan node telah dihapus dari antrian penjadwal. Node lain yang menjalankan pekerjaan yang dihentikan mungkin diperkecil setelah [`scaledown_idletime`](scaling-section.md#scaledown-idletime) waktu yang dikonfigurasi berlalu.

SGE  
Ini hanya berlaku untuk AWS ParallelCluster versi hingga dan termasuk versi 2.11.4. Dimulai dengan versi 2.11.5, AWS ParallelCluster tidak mendukung penggunaan SGE atau Torque penjadwal.
Pekerjaan tidak dihentikan dan terus berjalan di node yang tersisa. Node komputasi dihapus dari antrian penjadwal, tetapi akan muncul di daftar host sebagai simpul yatim piatu dan tidak tersedia.  
Pengguna harus menghapus pekerjaan ketika ini terjadi (`qdel {{<jobid>}}`). Node masih ditampilkan di daftar host (`qhost`), meskipun ini tidak mempengaruhi AWS ParallelCluster. Untuk menghapus host dari daftar, jalankan perintah berikut setelah mengganti instance.  

```
sudo -- bash -c 'source /etc/profile.d/sge.sh; qconf -dattr hostgroup hostlist {{<hostname>}} @allhosts; qconf -de {{<hostname>}}'
```

Torque  
Ini hanya berlaku untuk AWS ParallelCluster versi hingga dan termasuk versi 2.11.4. Dimulai dengan versi 2.11.5, AWS ParallelCluster tidak mendukung penggunaan SGE atau Torque penjadwal.
Pekerjaan dihapus dari sistem dan node dihapus dari penjadwal. Pekerjaannya tidak dijalankan kembali. Jika beberapa pekerjaan berjalan pada instance saat terputus, Torque mungkin habis selama penghapusan node. Kesalahan mungkin ditampilkan dalam file [`sqswatcher`](processes.md#sqswatcher) log. Ini tidak memengaruhi logika penskalaan, dan pembersihan yang tepat dilakukan dengan percobaan ulang berikutnya.

Untuk informasi selengkapnya tentang Instans Spot, lihat [Instans Spot](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html) di Panduan Pengguna *Amazon EC2*.