Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menjalankan pekerjaan di cluster mode antrian ganda
Tutorial ini mencakup cara menjalankan pekerjaan "Hello World" pertama Anda AWS ParallelCluster dengan beberapa mode antrian.
Saat menggunakan antarmuka AWS ParallelCluster baris perintah (CLI) atau API, Anda hanya membayar untuk AWS sumber daya yang dibuat saat Anda membuat atau memperbarui AWS ParallelCluster gambar dan cluster. Untuk informasi selengkapnya, lihat AWS layanan yang digunakan oleh AWS ParallelCluster.
Prasyarat
-
AWS ParallelCluster sudah terpasang.
-
Itu AWS CLI diinstal dan dikonfigurasi.
-
Anda memiliki pasangan kunci Amazon EC2.
-
Anda memiliki peran IAM dengan izin yang diperlukan untuk menjalankan pcluster CLI.
Konfigurasikan cluster Anda
Pertama, verifikasi AWS ParallelCluster bahwa diinstal dengan benar dengan menjalankan perintah berikut.
$pcluster version
Untuk informasi selengkapnya tentang pcluster version, lihat versi pcluster.
Perintah ini mengembalikan versi yang sedang berjalan dari AWS ParallelCluster.
Selanjutnya, jalankan pcluster configure untuk menghasilkan file konfigurasi dasar. Ikuti semua petunjuk yang mengikuti perintah ini.
$pcluster configure --config multi-queue-mode.yaml
Untuk informasi selengkapnya tentang pcluster configure perintah, lihatpcluster mengkonfigurasi.
Setelah Anda menyelesaikan langkah ini, file konfigurasi dasar bernama multi-queue-mode.yaml muncul. File ini berisi konfigurasi cluster dasar.
Pada langkah selanjutnya, Anda memodifikasi file konfigurasi baru Anda dan meluncurkan cluster dengan beberapa antrian.
catatan
Beberapa contoh yang digunakan tutorial ini tidak memenuhi syarat untuk tingkat bebas.
Untuk tutorial ini, ubah file konfigurasi Anda agar sesuai dengan konfigurasi berikut. Item yang disorot dengan warna merah mewakili nilai file konfigurasi Anda. Pertahankan nilai-nilai Anda sendiri.
Region:region-idImage: Os: alinux2023 HeadNode: InstanceType: c5.xlarge Networking: SubnetId:subnet-abcdef01234567890Ssh: KeyName:yourkeypairScheduling: Scheduler: slurm SlurmQueues: - Name: spot ComputeResources: - Name: c5xlarge InstanceType: c5.xlarge MinCount: 1 MaxCount: 10 - Name: t2micro InstanceType: t2.micro MinCount: 1 MaxCount: 10 Networking: SubnetIds: -subnet-abcdef01234567890- Name: ondemand ComputeResources: - Name: c52xlarge InstanceType: c5.2xlarge MinCount: 0 MaxCount: 10 Networking: SubnetIds: -subnet-021345abcdef6789
Buat cluster Anda
Buat cluster yang diberi nama multi-queue-cluster berdasarkan file konfigurasi Anda.
$pcluster create-cluster --cluster-name multi-queue-cluster --cluster-configuration multi-queue-mode.yaml{ "cluster": { "clusterName": "multi-queue-cluster", "cloudformationStackStatus": "CREATE_IN_PROGRESS", "cloudformationStackArn": "arn:aws:cloudformation:eu-west-1:123456789012:stack/multi-queue-cluster/1234567-abcd-0123-def0-abcdef0123456", "region": "eu-west-1", "version": "3.16.1", "clusterStatus": "CREATE_IN_PROGRESS" } }
Untuk informasi selengkapnya tentang pcluster create-cluster perintah, lihatpcluster buat-klaster.
Untuk memeriksa status cluster, jalankan perintah berikut.
$pcluster list-clusters{ "cluster": { "clusterName": "multi-queue-cluster", "cloudformationStackStatus": "CREATE_IN_PROGRESS", "cloudformationStackArn": "arn:aws:cloudformation:eu-west-1:123456789012:stack/multi-queue-cluster/1234567-abcd-0123-def0-abcdef0123456", "region": "eu-west-1", "version": "3.16.1", "clusterStatus": "CREATE_IN_PROGRESS" } }
Ketika cluster dibuat, clusterStatus bidang akan ditampilkanCREATE_COMPLETE.
Masuk ke simpul kepala
Gunakan file kunci SSH pribadi Anda untuk masuk ke node kepala.
$pcluster ssh --cluster-name multi-queue-cluster -i~/path/to/yourkeyfile.pem
Untuk informasi selengkapnya tentang pcluster ssh, lihat pcluster ssh.
Setelah masuk, jalankan sinfo perintah untuk memverifikasi bahwa antrian penjadwal Anda diatur dan dikonfigurasi.
Untuk informasi lebih lanjut tentangsinfo, lihat sinfo
$sinfoPARTITION AVAIL TIMELIMIT NODES STATE NODELIST spot* up infinite 18 idle~ spot-dy-c5xlarge-[1-9],spot-dy-t2micro-[1-9] spot* up infinite 2 idle spot-st-c5xlarge-1,spot-st-t2micro-1 ondemand up infinite 10 idle~ ondemand-dy-c52xlarge-[1-10]
Output menunjukkan bahwa Anda memiliki satu t2.micro dan satu node c5.xlarge komputasi dalam idle keadaan yang tersedia di cluster Anda.
Node lain semuanya dalam status hemat daya, ditunjukkan oleh akhiran dalam status node, tanpa instans Amazon EC2 yang men ~ dukungnya. Antrian default ditunjukkan oleh akhiran * setelah nama antriannya. spotadalah antrian pekerjaan default Anda.
Jalankan pekerjaan dalam beberapa mode antrian
Selanjutnya, cobalah menjalankan pekerjaan untuk tidur sebentar. Pekerjaan nantinya menampilkan nama hostnya sendiri. Pastikan skrip ini dapat dijalankan oleh pengguna saat ini.
$tee <<EOF hellojob.sh#!/bin/bash sleep 30 echo "Hello World from \$(hostname)" EOF$chmod +x hellojob.sh$ls -l hellojob.sh-rwxrwxr-x 1 ec2-user ec2-user 57 Sep 23 21:57 hellojob.sh
Kirim pekerjaan menggunakan sbatch perintah. Minta dua node untuk pekerjaan ini dengan -N 2 opsi, dan verifikasi bahwa pekerjaan berhasil dikirimkan. Untuk informasi selengkapnyasbatch, lihat sbatch
$sbatch -N 2 --wrap "srun hellojob.sh"Submitted batch job 1
Anda dapat melihat antrian Anda dan memeriksa status pekerjaan dengan squeue perintah. Karena Anda tidak menentukan antrian tertentu, antrean default (spot) digunakan. Untuk informasi selengkap squeue nya, lihat squeue
$squeueJOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) 1 spot wrap ec2-user R 0:10 2 spot-st-c5xlarge-1,spot-st-t2micro-1
Output menunjukkan bahwa pekerjaan saat ini dalam keadaan berjalan. Tunggu sampai pekerjaan selesai. Ini membutuhkan waktu sekitar 30 detik. Lalu, jalankan squeue lagi.
$squeueJOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
Sekarang pekerjaan dalam antrian telah selesai, cari file output yang diberi nama slurm-1.out di direktori Anda saat ini.
$cat slurm-1.outHello World from spot-st-t2micro-1 Hello World from spot-st-c5xlarge-1
Output menunjukkan bahwa pekerjaan berhasil berjalan pada spot-st-c5xlarge-1 node spot-st-t2micro-1 dan.
Sekarang kirimkan pekerjaan yang sama dengan menentukan batasan untuk contoh tertentu dengan perintah berikut.
$sbatch -N 3 -p spot -C "[c5.xlarge*1&t2.micro*2]" --wrap "srun hellojob.sh"Submitted batch job 2
Anda menggunakan parameter ini untuksbatch:
-
-N 3— meminta tiga node. -
-p spot— mengirimkan pekerjaan kespotantrian. Anda juga dapat mengirimkan pekerjaan keondemandantrian dengan menentukan-p ondemand. -
-C "[c5.xlarge*1&t2.micro*2]"— menentukan batasan simpul spesifik untuk pekerjaan ini. Ini meminta satuc5.xlargenode dan duat2.micronode untuk digunakan untuk pekerjaan ini.
Jalankan sinfo perintah untuk melihat node dan antrian. Antrian dalam AWS ParallelCluster disebut partisi diSlurm.
$sinfoPARTITION AVAIL TIMELIMIT NODES STATE NODELIST spot* up infinite 1 alloc# spot-dy-t2micro-1 spot* up infinite 17 idle~ spot-dy-c5xlarge-[2-10],spot-dy-t2micro-[2-9] spot* up infinite 1 mix spot-st-c5xlarge-1 spot* up infinite 1 alloc spot-st-t2micro-1 ondemand up infinite 10 idle~ ondemand-dy-c52xlarge-[1-10]
Node sedang menyala. Ini ditunjukkan oleh akh # iran pada status simpul. Jalan squeue kan perintah untuk melihat informasi tentang pekerjaan di cluster.
$squeueJOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) 2 spot wrap ec2-user CF 0:04 3 spot-dy-c5xlarge-1,spot-dy-t2micro-1,spot-st-t2micro-1
Tugas Anda berada dalam CF status (CONFIGURING), menunggu instans untuk meningkatkan skala dan bergabung dengan cluster.
Setelah sekitar tiga menit, node tersedia dan pekerjaan memasuki status R (RUNNING).
$squeueJOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) 2 spot wrap ec2-user R 0:07 3 spot-dy-t2micro-1,spot-st-c5xlarge-1,spot-st-t2micro-1
Pekerjaan selesai, dan ketiga node berada di idle negara bagian.
$squeueJOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)$sinfoPARTITION AVAIL TIMELIMIT NODES STATE NODELIST spot* up infinite 17 idle~ spot-dy-c5xlarge-[1-9],spot-dy-t2micro-[2-9] spot* up infinite 3 idle spot-dy-t2micro-1,spot-st-c5xlarge-1,spot-st-t2micro-1 ondemand up infinite 10 idle~ ondemand-dy-c52xlarge-[1-10]
Kemudian, setelah tidak ada pekerjaan yang tersisa dalam antrian, periksa slurm-2.out di direktori lokal Anda.
$cat slurm-2.outHello World from spot-st-t2micro-1 Hello World from spot-dy-t2micro-1 Hello World from spot-st-c5xlarge-1
Ini adalah keadaan akhir cluster.
$sinfoPARTITION AVAIL TIMELIMIT NODES STATE NODELIST spot* up infinite 17 idle~ spot-dy-c5xlarge-[1-9],spot-dy-t2micro-[2-9] spot* up infinite 3 idle spot-dy-t2micro-1,spot-st-c5xlarge-1,spot-st-t2micro-1 ondemand up infinite 10 idle~ ondemand-dy-c52xlarge-[1-10]
Setelah keluar dari cluster, Anda dapat membersihkan dengan menjalankanpcluster delete-cluster. Lihat informasi yang lebih lengkap di klaster daftar pcluster dan pcluster hapus klaster.
$pcluster list-clusters{ "clusters": [ { "clusterName": "multi-queue-cluster", "cloudformationStackStatus": "CREATE_COMPLETE", "cloudformationStackArn": "arn:aws:cloudformation:eu-west-1:123456789012:stack/multi-queue-cluster/1234567-abcd-0123-def0-abcdef0123456", "region": "eu-west-1", "version": "3.1.4", "clusterStatus": "CREATE_COMPLETE" } ] }$pcluster delete-cluster -n multi-queue-cluster{ "cluster": { "clusterName": "multi-queue-cluster", "cloudformationStackStatus": "DELETE_IN_PROGRESS", "cloudformationStackArn": "arn:aws:cloudformation:eu-west-1:123456789012:stack/multi-queue-cluster/1234567-abcd-0123-def0-abcdef0123456", "region": "eu-west-1", "version": "3.1.4", "clusterStatus": "DELETE_IN_PROGRESS" } }