Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menjalankan pekerjaan dalam klaster mode antrian ganda
Tutorial ini mencakup cara menjalankan pekerjaan "Hello World" pertama Anda AWS ParallelCluster dengan beberapa mode antrian.
Saat menggunakan antarmuka baris AWS ParallelCluster perintah (CLI) atau API, Anda hanya membayar 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 diinstal.
-
AWS CLI Itu diinstal dan dikonfigurasi.
-
Anda memiliki EC2 key pair Amazon.
-
Anda memiliki peran IAM dengan izin yang diperlukan untuk menjalankan CLIpcluster.
Konfigurasikan klaster Anda
Pertama, verifikasi AWS ParallelCluster yang diinstal dengan benar dengan menjalankan perintah berikut.
$pcluster version
Untuk informasi selengkapnya tentang pcluster version, lihat pcluster version.
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 configure.
Setelah Anda menyelesaikan langkah ini, file konfigurasi dasar bernama multi-queue-mode.yaml muncul. File ini berisi konfigurasi cluster dasar.
Pada langkah berikutnya, Anda memodifikasi file konfigurasi baru Anda dan meluncurkan cluster dengan beberapa antrian.
catatan
Beberapa contoh yang digunakan tutorial ini tidak memenuhi syarat tingkat gratis.
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: alinux2 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 klaster 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.14.0", "clusterStatus": "CREATE_IN_PROGRESS" } }
Untuk informasi selengkapnya tentang pcluster create-cluster perintah, lihatpcluster create-cluster.
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.14.0", "clusterStatus": "CREATE_IN_PROGRESS" } }
Ketika cluster dibuat, clusterStatus bidang menunjukkanCREATE_COMPLETE.
Masuk ke node 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 sudah 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 ~ sufiks dalam status simpul, tanpa EC2 instans Amazon yang mendukungnya. Antrian default ditunjukkan oleh * akhiran setelah nama antreannya. spotadalah antrian pekerjaan default Anda.
Jalankan pekerjaan dalam beberapa mode antrian
Selanjutnya, cobalah untuk menjalankan pekerjaan untuk tidur sebentar. Pekerjaan itu kemudian mengeluarkan 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 dikirim. 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, antrian default (spot) digunakan. Untuk informasi selengkapnyasqueue, 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. Kemudian, lari 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 berjalan dengan sukses pada spot-st-c5xlarge-1 node spot-st-t2micro-1 dan.
Sekarang kirimkan pekerjaan yang sama dengan menentukan batasan untuk instance 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 kendala node tertentu 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 di. Slurm
$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 menyala. Ini ditunjukkan oleh # sufiks pada status node. Jalankan squeue 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
Pekerjaan Anda dalam status CF (CONFIGURING), menunggu instans ditingkatkan 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 dalam idle keadaan.
$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 dari 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 log off dari cluster, Anda dapat membersihkan dengan menjalankanpcluster delete-cluster. Lihat informasi yang lebih lengkap di pcluster list-clusters dan pcluster delete-cluster.
$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" } }