View a markdown version of this page

Memecahkan masalah catatan pekerjaan yang hilang di Slurry akuntansi - AWS PCS

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

Memecahkan masalah catatan pekerjaan yang hilang di Slurry akuntansi

Pekerjaan yang berjalan hingga selesai hilang dari laporan Slurm akuntansi, seperti output dari sreport perintah sacct or. Catatan tidak ada hanya untuk jendela waktu terbatas, biasanya yang mengikuti periode tingkat pengiriman pekerjaan yang sangat tinggi. Laporan akuntansi selesai sebelum dan sesudah jendela itu. Topik ini berlaku untuk cluster yang Slurm mengaktifkan akuntansi. Untuk informasi lebih lanjut tentang akuntansi, lihatAkuntansi slurm di AWS PCS.

Penyebab umum

SlurmController daemon (slurmctld) tidak menulis data akuntansi ke database akuntansi secara langsung. Ini mengirimkan data ke Slurm database daemon (slurmdbd) melalui antrian internal dalam memori. Antrian dapat mencapai ukuran maksimumnya jika pekerjaan dikirimkan lebih cepat daripada slurmdbd rekaman commit ke database. Ketika antrian penuh, membuang slurmctld pesan akuntansi baru alih-alih menambahkannya ke antrian.

Pesan yang dibuang tidak dicoba lagi, sehingga riwayat pekerjaan yang dibawa tidak ada secara permanen dari database akuntansi. Hanya data akuntansi yang terpengaruh. Penjadwalan pekerjaan dan eksekusi pekerjaan berlanjut secara normal. Catatan yang slurmdbd sudah dikomit tetap berada di database. Akuntansi dilanjutkan secara otomatis saat antrian habis.

Resolusi

Untuk mengkonfirmasi penyebabnya dan mengurangi kemungkinan kekambuhan
  1. Cari slurmctld log cluster untuk entri yang mirip dengan berikut ini.

    error: agent queue is full (33794), discarding DBD_JOB_START:1425 request

    Setiap entri sesuai dengan satu pesan akuntansi yang dibuang. Jenis pesan mengidentifikasi catatan yang hilang, sepertiDBD_JOB_START,, DBD_JOB_COMPLETEDBD_STEP_START, atauDBD_STEP_COMPLETE. Jika cluster tidak mengirimkan log penjadwal, atur pengiriman log. Ini memungkinkan Anda mengkonfirmasi penyebabnya jika kondisi terjadi lagi. Untuk informasi selengkapnya, lihat Log penjadwal di AWS PCS.

  2. Atur CommitDelay parameter ke 1 dalam konfigurasi slurmdbd cluster. Dengan pengaturan ini, pengel slurmdbd ompokan komit database alih-alih melakukan setiap catatan secara individual, yang meningkatkan kecepatan menguras antrian. Gunakan SlurmdbdCustomSettings properti cluster untuk menerapkan pengaturan. Untuk informasi lebih lanjut, lihat Mengkonfigurasi pengaturan SlurmDBD khusus di AWS PCS dan CommitDelay dalam Slurm dokumentasi.

    penting

    SlurmdbdCustomSettingsmenggantikan pengaturan slurmdbd dari cluster alih-alih menambahkannya. Setelan apa pun yang Anda hilangkan dari permintaan pembaruan akan dihapus. Jika cluster mungkin sudah memiliki pengaturan slurmdbd, jalankan aws pcs get-cluster terlebih dahulu, tambahkan {parameterName=CommitDelay,parameterValue="1"} ke daftar yang diambil, lalu kirimkan daftar lengkapnya.

    contoh— Pengaturan CommitDelay pada cluster
    aws pcs update-cluster --cluster-identifier my-cluster \ --slurm-configuration \ 'SlurmdbdCustomSettings=[{parameterName=CommitDelay,parameterValue="1"}]'
  3. Konfirmasikan bahwa pengaturan sudah di tempatnya. Di Konsol Manajemen AWS, lihat Peng aturan penjadwal tambahan untuk cluster. Di dalam AWS CLI, jalankan perintah berikut dan periksa slurmConfiguration bidang respons.

    aws pcs get-cluster --cluster-identifier my-cluster
catatan

Catatan akuntansi yang slurmctld dibuang tidak dapat dipulihkan. Pekerjaan yang berjalan selama jendela yang terkena dampak tetap tidak ada dalam laporan akuntansi.

Pencegahan

Untuk mendeteksi saturasi antrian saat terjadi alih-alih menemukan catatan yang hilang nanti, kirimkan slurmctld CloudWatch log ke Amazon Logs, Amazon Simple Storage Service (Amazon S3), atau Amazon Data Firehose, dan pantau agent queue is full entri. Untuk informasi selengkapnya, lihat Log penjadwal di AWS PCS.

Tet CommitDelay ap set 1 el pada cluster yang menjalankan beban kerja dengan tingkat pengiriman pekerjaan yang tinggi.