Berkeja dengan Instans Spot - AWS ParallelCluster

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

Berkeja dengan Instans Spot

AWS ParallelCluster menggunakan Instans Spot jika konfigurasi cluster telah menetapkan 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 di EC2Panduan Pengguna Amazon. 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 di EC2Panduan Pengguna Amazon.

Skenario 1: Instans Spot tanpa pekerjaan yang berjalan terganggu

Ketika interupsi ini terjadi, AWS ParallelCluster coba ganti instance jika antrian penjadwal memiliki pekerjaan yang tertunda yang memerlukan instance tambahan, atau jika jumlah instance aktif lebih rendah dari pengaturan. 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

Perilaku interupsi ini tergantung pada penjadwal yang digunakan.

Slurm

Pekerjaan gagal dengan kode negara bagianNODE_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 tentangsbatch, termasuk --no-requeue parameter, lihat sbatchdalam dokumentasi Slurm.

catatan

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
catatan

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 atauqalter -r yes) qsub -r yes atau antrean memiliki rerun konfigurasi yang disetel keTRUE, maka pekerjaan dijadwalkan ulang. Instance komputasi dihapus dari antrian scheduler. Perilaku ini berasal dari parameter SGE konfigurasi ini:

  • reschedule_unknown 00:00:30

  • ENABLE_FORCED_QDEL_IF_UNKNOWN

  • ENABLE_RESCHEDULE_KILL=1

Torque
catatan

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 log. Ini tidak memengaruhi logika penskalaan, dan pembersihan yang tepat dilakukan dengan percobaan ulang berikutnya.

Skenario 3: Instans Spot yang menjalankan pekerjaan multi-node terganggu

Perilaku interupsi ini tergantung pada penjadwal yang digunakan.

Slurm

Pekerjaan gagal dengan kode negara bagianNODE_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 waktu yang dikonfigurasi berlalu.

catatan

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 waktu yang dikonfigurasi berlalu.

SGE
catatan

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
catatan

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 log. Ini tidak memengaruhi logika penskalaan, dan pembersihan yang tepat dilakukan dengan percobaan ulang berikutnya.

Untuk informasi selengkapnya tentang Instans Spot, lihat Instans Spot di EC2Panduan Pengguna Amazon.