Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Jalankan alasan kegagalan
Jika proses gagal, gunakan operasi GetRun API untuk mengambil alasan kegagalan.
Tinjau alasan kegagalan untuk membantu Anda memecahkan masalah mengapa proses gagal. Tabel berikut mencantumkan setiap alasan kegagalan bersama dengan deskripsi kesalahan.
| Alasan kegagalan | Deskripsi kesalahan |
|---|---|
|
|
HealthOmics tidak memiliki izin untuk mengambil peran. Tentukan HealthOmics prinsipal dalam hubungan kepercayaan untuk peran tersebut. |
|
|
Tidak dapat memulai tugas alur kerja: |
|
|
Tidak dapat memulai tugas alur kerja: |
ECR_PERMISSION_ERROR |
HealthOmics tidak memiliki izin untuk mengakses URI gambar. Konfirmasikan bahwa repositori pribadi Amazon ECR ada dan telah memberikan akses ke HealthOmics prinsipal layanan. |
|
|
Ekspor gagal. Periksa apakah bucket keluaran ada dan peran run memiliki izin menulis ke bucket. |
|
|
Sistem file tidak memiliki cukup ruang. Tingkatkan ukuran sistem file dan jalankan lagi. |
|
|
Tidak dapat memverifikasi gambar |
|
|
Impor gagal. Periksa apakah file input ada dan peran run dapat mengakses input. |
SUMBER DAYA PENYIMPANAN_OMICS_INAKTIF_ |
URI HealthOmics penyimpanan tidak dalam keadaan AKTIF. Aktifkan set baca dan coba lagi. Untuk mempelajari selengkapnya tentang mengaktifkan set baca, lihatMengaktifkan set baca di HealthOmics. |
MASUKAN_URI_TIDAK DITEMUKAN |
URI yang disediakan tidak ada:uri. Periksa apakah jalur URI ada dan konfirmasikan bahwa peran dapat mengakses objek. |
|
|
Tidak ada kapasitas instans yang cukup untuk menyelesaikan proses alur kerja. Tunggu dan coba jalankan alur kerja lagi. Untuk mempelajari selengkapnya tentang mitigasi kesalahan gagal reservasi instans, lihatMengurangi kesalahan INSTANCE_RESERVATION_FAILED. |
ECR_IMAGE_URI TIDAK VALID |
Struktur URI gambar Amazon ECR tidak valid. Berikan URI yang valid dan coba lagi. |
|
|
GPU, CPU, atau memori yang diminta terlalu tinggi untuk kapasitas komputasi yang tersedia, atau kurang dari nilai minimum 1 untuk tugasID. |
|
|
Struktur URI tidak validuri. Periksa struktur URI dan coba lagi. |
SUMBER MASUKAN_YANG DIMODIFIKASI |
URI yang disediakan |
|
|
Tugas alur |
|
|
Jalankan gagal karena tugas gagal. Untuk men-debug kegagalan tugas, gunakan operasi GetRunTask API dan aliran Amazon CloudWatch Logs. |
|
|
Jalankan batas waktu setelah beberapa |
SERVICE_ERROR |
Ada kesalahan sementara dalam layanan. Coba jalankan alur kerja lagi. |
TUGAS_TERWAKTU_HABIS |
Tugas id habis waktu setelah beberapa number detik. |
|
|
Ukuran input total terlalu tinggi. Kurangi ukuran input dan coba lagi. |
|
|
Proses alur kerja gagal. Tinjau aliran CloudWatch log engine Logs: |
|
|
HealthOmics tidak mendukung versi Nextflow yang diminta: |
|
|
Jenis instans yang diminta tidak didukung di |
Mengurangi kesalahan INSTANCE_RESERVATION_FAILED
Instans GPU adalah sumber daya sesuai permintaan yang mungkin tidak selalu tersedia segera di Zona Ketersediaan atau Wilayah pilihan Anda.
HealthOmics Apa yang dilakukan secara otomatis
HealthOmics melakukan beberapa pengoptimalan atas nama Anda untuk memaksimalkan keberhasilan akuisisi GPU:
-
Multi-AZ pencarian: HealthOmics memeriksa beberapa Zona Ketersediaan untuk kapasitas GPU, bukan hanya satu AZ.
-
Percobaan ulang otomatis: Ketika GPU tidak segera tersedia, HealthOmics coba lagi beberapa kali untuk memperoleh kapasitas saat tersedia.
-
Retensi GPU di seluruh tugas: Ketika alur kerja Anda memiliki tugas berurutan yang memerlukan GPU, per HealthOmics tahankan GPU yang sudah Anda miliki untuk tugas-tugas berikutnya daripada melepaskannya dan meminta ulang, memastikan penyelesaian alur kerja GPU multi-langkah berhasil.
Praktik terbaik tambahan berikut dapat meningkatkan tingkat keberhasilan Anda saat menjalankan alur GPU-accelerated kerja pada: HealthOmics
-
Gunakan bundel akselerator untuk memaksimalkan fleksibilitas
Alih-alih meminta jenis instance GPU tertentu, gunakan bundel akselerator yang memungkinkan HealthOmics untuk memilih dari beberapa generasi GPU yang kompatibel (misalnya, g4dn, g5, g6). Semakin banyak jenis GPU yang dapat diterima alur kerja Anda, semakin tinggi kemungkinan menemukan kapasitas yang tersedia.
Untuk mempelajari selengkapnya, lihat Akselerator tugas dalam definisi al HealthOmics ur kerja. Contoh:
-
nvidia-t4-a10g-l4mengambil dari keluarga instans G4, G5, dan G6 -
nvidia-l4-a10gmengambil dari keluarga instans G5 dan G6
-
-
Pertimbangkan untuk menjalankan alur kerja Anda di Wil AWS ayah lain
Ketersediaan GPU bervariasi di seluruh AWS Wilayah. Jika persyaratan tempat tinggal data memungkinkan, pertimbangkan untuk menjalankan GPU-intensive alur kerja di Wilayah lain di mana kapasitas mungkin lebih tersedia. Untuk mempelajari lebih lanjut tentang Wilayah yang didukung, lihat Kuota layanan dan titik akhir untuk AWS HealthOmics.
-
Konfigurasikan fallback sumber daya (Hanya alur kerja WDL)
Untuk alur kerja WDL, direktif
omicsResourceFallbackOrdermemungkinkan Anda menentukan daftar profil sumber daya yang diurutkan (GPU atau CPU) per tugas. Jika jenis akselerator pilihan Anda tidak tersedia, HealthOmics secara otomatis mencoba jenis akselerator atau CPU berikutnya alih-alih gagal. Anda juga dapat menentukan berapa lama HealthOmics harus mencari GPU. Kasus penggunaan meliputi:-
Fallback GPU ke GPU — coba akselerator pilihan Anda terlebih dahulu, lalu kembali ke alternatif (misalnya, coba
nvidia-l40sdulu, kemudiannvidia-l4). -
Fallback GPU ke CPU — tambahkan CPU-only profil akhir sehingga tugas selesai bahkan ketika tidak ada kapasitas GPU yang tersedia.
catatan
omicsResourceFallbackOrderDirektif saat ini didukung untuk alur kerja WDL saja. Dukungan Nextflow direncanakan.Untuk mempelajari selengkapnya, lihat Konfigurasi sumber daya lanjutan.
-
Panduan untuk lari yang tidak responsif
Saat mengembangkan alur kerja baru, proses atau tugas tertentu bisa menjadi “macet” atau “hang” jika ada masalah dengan kode Anda, dan tugas gagal keluar dari proses dengan benar. Ini bisa menjadi tantangan untuk dipecahkan dan ditangkap, karena tugas berjalan untuk waktu yang lama adalah hal yang normal. Untuk mencegah dan mengidentifikasi proses yang tidak responsif, ikuti praktik terbaik yang disarankan di bagian berikut.
Praktik terbaik untuk mencegah proses yang tidak responsif
-
Pastikan Anda menutup semua file yang dibuka dalam kode tugas Anda. Membuka terlalu banyak file kadang-kadang dapat menyebabkan masalah threading dalam mesin alur kerja.
-
Proses latar belakang yang dibuat oleh tugas alur kerja harus keluar saat tugas keluar. Namun, jika proses latar belakang tidak keluar dengan bersih, Anda harus secara eksplisit mematikan proses itu dalam kode tugas Anda.
-
Pastikan proses Anda tidak berputar tanpa keluar. Hal ini dapat menyebabkan proses tidak responsif, dan memerlukan perubahan pada kode definisi alur kerja Anda untuk diselesaikan.
-
Berikan memori dan alokasi CPU yang sesuai untuk tugas Anda. Analisis CloudWatch log atau gunakan alur kerja Jalankan Analyzer yang berhasil diselesaikan untuk memverifikasi bahwa Anda memiliki alokasi komputasi yang optimal. Gunakan
headroomparameter Run Analyzer untuk menyertakan headroom tambahan, memastikan proses memiliki sumber daya yang cukup untuk diselesaikan. Sertakan setidaknya 5% headroom dalam memori dan CPU yang dialokasikan, untuk memperhitungkan proses sistem operasi latar belakang.-
Selain itu, tingkatkan ukuran bandwidth instans jika instance memerlukan throughput yang lebih tinggi. Instans Amazon EC2 dengan kurang dari 16 vCPU (ukuran 4xl dan lebih kecil) dapat mengalami ledakan throughput. Untuk informasi selengkapnya tentang throughput instans Amazon EC2, lihat Bandwidth instans Amazon EC2 yang tersedia.
-
-
Pastikan Anda menggunakan ukuran sistem file yang benar untuk menjalankan Anda. Untuk proses yang tidak responsif yang menggunakan penyimpanan run statis, pertimbangkan untuk meningkatkan alokasi penyimpanan run statis untuk mengaktifkan throughput IO dan kapasitas penyimpanan yang lebih tinggi pada sistem file. Analisis manifes run untuk melihat penyimpanan sistem file maksimum, gunakan Run Analyzer untuk menentukan apakah alokasi sistem file perlu ditingkatkan.
Praktik terbaik untuk menangkap proses yang tidak responsif
-
Saat mengembangkan alur kerja baru, gunakan grup run dengan batas waktu berjalan maksimal yang ditetapkan untuk menangkap kode pelarian. Misalnya, jika proses harus memakan waktu 1 jam untuk diselesaikan, letakkan di grup run yang habis waktu setelah 2 atau 3 jam (atau periode waktu yang berbeda berdasarkan kasus penggunaan Anda) untuk menangkap pekerjaan yang tidak berhasil. Juga, terapkan buffer untuk memperhitungkan varians dalam waktu pemrosesan.
-
Siapkan serangkaian grup run dengan batas runtime maksimum yang berbeda. Misalnya, Anda dapat menetapkan run pendek ke grup run yang mengakhiri proses setelah beberapa jam, dan grup lari panjang yang menghentikan proses setelah beberapa hari, berdasarkan durasi alur kerja yang diharapkan.
-
HealthOmics memiliki batas layanan durasi berjalan maksimum default 604.800 Detik, atau 7 hari, yang dapat disesuaikan melalui permintaan di alat kuota. Hanya minta kenaikan batas layanan dari kuota ini jika Anda telah menjalankan yang durasi mendekati seminggu. Jika Anda memiliki campuran lari pendek dan panjang dan tidak menggunakan grup run, pertimbangkan untuk meletakkan run yang berjalan lama di akun terpisah dengan batas layanan durasi lari maksimum yang lebih tinggi.
-
Periksa CloudWatch log untuk tugas-tugas yang Anda duga tidak responsif. Jika tugas biasanya mengeluarkan pernyataan log reguler dan belum melakukannya untuk waktu yang lama, tugas tersebut kemungkinan macet atau beku.
Apa yang harus dilakukan jika Anda mengalami run yang tidak responsif
-
Batalkan lari untuk menghindari menimbulkan biaya tambahan.
-
Periksa log tugas untuk memeriksa apakah ada proses yang gagal keluar dengan benar.
-
Periksa log mesin untuk mengidentifikasi perilaku mesin yang tidak normal.
-
Bandingkan log tugas dan mesin dari proses yang tidak responsif dengan proses yang identik dan berhasil diselesaikan. Ini dapat membantu mengidentifikasi perbedaan apa pun yang mungkin menyebabkan perilaku tidak responsif.
-
Jika Anda tidak dapat menentukan akar penyebabnya, angkat kasus dukungan dan sertakan yang berikut:
-
ARN dari run macet dan ARN dari run identik yang diselesaikan dengan sukses.
-
Log mesin (tersedia setelah proses dibatalkan atau gagal)
-
Log tugas untuk tugas yang tidak responsif. Kami tidak memerlukan log tugas untuk semua tugas dalam alur kerja untuk memecahkan masalah.
-