Mencoba menjalankan pekerjaan - AWS ParallelCluster

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

Mencoba menjalankan pekerjaan

srunpekerjaan interaktif gagal dengan kesalahan srun: error: fwd_tree_thread: can't find address for <host>, check slurm.conf

  • Mengapa gagal?

    Anda menjalankan srun perintah untuk mengirimkan pekerjaan, dan kemudian Anda meningkatkan ukuran antrian dengan menggunakan pcluster update-cluster perintah tanpa memulai ulang Slurm daemon setelah pembaruan selesai.

    Slurmmengatur Slurm daemon dalam hierarki pohon untuk mengoptimalkan komunikasi. Hirarki ini hanya diperbarui saat daemon dimulai.

    Misalkan Anda menggunakan srun untuk meluncurkan pekerjaan dan kemudian menjalankan pcluster update-cluster perintah untuk meningkatkan ukuran antrian. Node komputasi baru diluncurkan sebagai bagian dari pembaruan. Kemudian, Slurm antrian pekerjaan Anda ke salah satu node komputasi baru. Dalam hal ini, baik Slurm daemon dan srun tidak mendeteksi node komputasi baru. srunmengembalikan kesalahan karena tidak mendeteksi node baru.

  • Bagaimana cara mengatasinya?

    Mulai ulang Slurm daemon pada semua node komputasi, dan kemudian gunakan srun untuk mengirimkan pekerjaan Anda. Anda dapat menjadwalkan Slurm daemon restart dengan menjalankan scontrol reboot perintah yang memulai ulang node komputasi. Untuk informasi selengkapnya, lihat scontrol reboot di Slurm dokumentasi. Anda juga dapat me-restart Slurm daemon secara manual pada node komputasi dengan meminta restart layanan terkait. systemd

Job terjebak dalam CF keadaan dengan squeue perintah

Ini mungkin menjadi masalah dengan node dinamis yang menyala. Untuk informasi selengkapnya, lihat Melihat kesalahan dalam inisialisasi node komputasi.

Menjalankan pekerjaan skala besar dan melihat nfsd: too many open connections, consider increasing the number of threads in /var/log/messages

Dengan sistem file jaringan, ketika batas jaringan tercapai, waktu tunggu I/O juga meningkat. Ini dapat menghasilkan penguncian lunak karena jaringan digunakan untuk menulis data untuk jaringan dan metrik I/O.

Dengan instance generasi ke-5, kami menggunakan driver ENA untuk mengekspos penghitung paket. Penghitung ini menghitung paket yang dibentuk oleh AWS ketika jaringan mencapai batas bandwidth instance. Anda dapat memeriksa penghitung ini untuk melihat apakah mereka lebih besar dari 0. Jika ya, maka Anda telah melampaui batas bandwidth Anda. Anda dapat melihat penghitung ini dengan menjalankanethtool -S eth0 | grep exceeded.

Melebihi batas jaringan seringkali merupakan hasil dari mendukung terlalu banyak koneksi NFS. Ini adalah salah satu hal pertama yang harus diperiksa ketika Anda mencapai atau melampaui batas jaringan.

Misalnya, output berikut menunjukkan paket yang dijatuhkan:

$ ethtool -S eth0 | grep exceeded bw_in_allowance_exceeded: 38750610 bw_out_allowance_exceeded: 1165693 pps_allowance_exceeded: 103 conntrack_allowance_exceeded: 0 linklocal_allowance_exceeded: 0

Untuk menghindari pesan ini, pertimbangkan untuk mengubah tipe instance node head ke tipe instance yang lebih berkinerja. Pertimbangkan untuk memindahkan penyimpanan data Anda ke sistem file penyimpanan bersama yang tidak diekspor sebagai berbagi NFS, seperti Amazon EFS atau Amazon FSx. Untuk informasi selengkapnya, lihat Penyimpanan bersama dan Praktik Terbaik di AWS ParallelCluster Wiki di GitHub.

Menjalankan pekerjaan MPI

Mengaktifkan mode debug

Untuk mengaktifkan mode debug OpenMpi, lihat Kontrol apa yang dimiliki Open MPI yang membantu dalam debugging.

Untuk mengaktifkan mode debug IntelMpi, lihat Variabel Lingkungan Lainnya.

Melihat MPI_ERRORS_ARE_FATAL dan OPAL ERROR dalam output pekerjaan

Kode kesalahan ini berasal dari lapisan MPI dalam aplikasi Anda. Untuk mempelajari cara mendapatkan log debug MPI dari aplikasi Anda, lihat. Mengaktifkan mode debug

Kemungkinan penyebab kesalahan ini adalah aplikasi Anda telah dikompilasi untuk implementasi MPI tertentu, seperti OpenMPI, dan Anda mencoba menjalankannya dengan implementasi MPI yang berbeda, seperti IntelMPI. Pastikan Anda berdua mengkompilasi dan menjalankan aplikasi Anda dengan implementasi MPI yang sama.

Menggunakan mpirun dengan DNS terkelola dinonaktifkan

Untuk cluster yang dibuat SlurmSettingsdengan/Dns/DisableManagedDnsdan UseEc2Hostnames disetel ketrue, nama Slurm node tidak diselesaikan oleh DNS. Slurmdapat mem-bootstrap proses MPI saat nodenames tidak diaktifkan dan jika pekerjaan MPI dijalankan dalam suatu Slurm konteks. Kami merekomendasikan mengikuti panduan dalam Panduan Pengguna Slurm MPI untuk menjalankan pekerjaan MPI dengan. Slurm