View a markdown version of this page

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 On-Demand Instans, tetapi mungkin terganggu. Efek interupsi bervariasi tergantung pada penjadwal spesifik yang digunakan. Mungkin bermanfaat untuk memanfaatkan pemberitahuan gangguan Instans Spot, yang memberikan peringatan dua menit sebelum Amazon EC2 harus menghentikan atau menghentikan Instans Spot Anda. Untuk informasi selengkapnya, lihat Gangguan Instans Spot di Panduan Pengguna Amazon EC2. Bagian berikut menjelaskan tiga skenario di mana Instans Spot dapat terganggu.

catatan

Menggunakan Instans Spot mengharuskan AWSServiceRoleForEC2Spot peran 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 Service-linked peran untuk permintaan Instans Spot di Panduan Pengguna Amazon EC2.

Skenario 1: Instans Spot tanpa pekerjaan yang sedang berjalan terganggu

Ketika gangguan ini terjadi, AWS ParallelCluster coba ganti instance jika antrian penjadwal memiliki pekerjaan tertunda yang memerlukan instans tambahan, atau jika jumlah instans aktif lebih rendah dari initial_queue_size setelan. Jika tidak AWS ParallelCluster dapat menyediakan instans baru, maka permintaan untuk instance baru diulang secara berkala.

Skenario 2: Instance Spot yang menjalankan pekerjaan node tunggal terganggu

Perilaku gangguan ini tergantung pada penjadwal yang digunakan.

Slurm

Pekerjaan gagal dengan kode statusNODE_FAIL, dan pekerjaan diminta (kecuali --no-requeue ditentukan saat pekerjaan dikirimkan). Jika node adalah node statis, itu diganti. Jika node adalah node dinamis, node dihentikan dan diatur ulang. Untuk informasi lebih lanjut tentangsbatch, termasuk --no-requeue parameter, lihat sbatch dalam dokumentasi Slurm.

catatan

Perilaku ini berubah di AWS ParallelCluster versi 2.9.0. Versi sebelumnya menghentikan pekerjaan dengan kode status NODE_FAIL dan node 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 run ulang (menggunakan salah satu qsub -r yes atauqalter -r yes) atau antrian memiliki rerun konfigurasi yang disetel keTRUE, maka pekerjaan akan dijadwalkan ulang. Instance komputasi dihapus dari antrian penjadwal. Perilaku ini berasal dari parameter konfigurasi SGE 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. Pekerjaan itu tidak dijalankan kembali. Jika beberapa pekerjaan berjalan pada instance saat terganggu, Torsi mungkin habis waktu selama penghapusan node. Kesalahan mungkin ditampilkan di file sqswatcher log. Ini tidak mempengaruhi logika penskalaan, dan pembersihan yang tepat dilakukan oleh percobaan ulang berikutnya.

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

Perilaku gangguan ini tergantung pada penjadwal yang digunakan.

Slurm

Pekerjaan gagal dengan kode statusNODE_FAIL, dan pekerjaan diminta (kecuali --no-requeue ditentukan saat pekerjaan dikirimkan). 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 dihapus dari antrian penjadwal. Node lain yang menjalankan pekerjaan yang dihentikan mungkin diperkecil setelah scaledown_idletime waktu yang dikonfigurasi telah 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 pada node yang tersisa. Node komputasi dihapus dari antrian penjadwal, tetapi akan muncul dalam daftar host sebagai node yatim piatu dan tidak tersedia.

Pengguna harus menghapus pekerjaan saat ini terjadi (qdel <jobid>). Node masih ditampilkan dalam 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. Pekerjaan itu tidak dijalankan kembali. Jika beberapa pekerjaan berjalan pada instance saat terganggu, Torsi mungkin habis waktu selama penghapusan node. Kesalahan mungkin ditampilkan di file sqswatcher log. Ini tidak mempengaruhi logika penskalaan, dan pembersihan yang tepat dilakukan oleh percobaan ulang berikutnya.

Untuk informasi selengkapnya tentang Instans S pot, lihat Instans Spot di Panduan Pengguna Amazon EC2.