All Products
Search
Document Center

Platform For AI:AIMaster: Mesin toleransi kesalahan elastis dan otomatis

Last Updated:Jul 06, 2026

Topik ini menjelaskan cara menggunakan fitur pemantauan toleransi kesalahan berbasis AIMaster yang disediakan oleh DLC.

Latar Belakang

Pembelajaran mendalam kini banyak digunakan. Seiring dengan meningkatnya ukuran model dan set data, pelatihan terdistribusi telah menjadi praktik umum. Namun, peningkatan jumlah instans pekerjaan juga meningkatkan kemungkinan terjadinya pengecualian perangkat lunak maupun keras, yang dapat menyebabkan kegagalan pekerjaan.

Untuk memastikan operasi stabil pada pekerjaan pembelajaran mendalam terdistribusi berskala besar, DLC menyediakan fitur pemantauan toleransi kesalahan berbasis AIMaster. AIMaster merupakan komponen tingkat pekerjaan. Saat diaktifkan, sebuah instans AIMaster berjalan bersama instans pekerjaan lainnya untuk melakukan pemantauan pekerjaan, penilaian toleransi kesalahan, dan pengendalian sumber daya.

Batasan

AIMaster saat ini mendukung framework berikut: PyTorch, MPI, TensorFlow, dan ElasticBatch.

Langkah 1: Konfigurasikan parameter toleransi kesalahan

Bagian ini menjelaskan semua parameter untuk fitur pemantauan toleransi kesalahan. Anda dapat menggunakan konfigurasi contoh berikut untuk membantu merencanakan pengaturan Anda. Saat mengaktifkan fitur ini, tentukan parameter tersebut di bagian Other Cofiguration.

Parameter

Kategori

Fitur

Parameter

Deskripsi

Bawaan

Konfigurasi umum

Mode eksekusi pekerjaan

--job-execution-mode

Menentukan mode eksekusi pekerjaan. Nilai yang valid:

  • Sync: Pekerjaan sinkron.

  • Async: Pekerjaan asinkron.

Perilaku toleransi kesalahan untuk error yang dapat dicoba ulang bervariasi berdasarkan jenis pekerjaan:

  • Untuk pekerjaan sinkron, seluruh pekerjaan dimulai ulang.

  • Untuk pekerjaan asinkron, instans worker bersifat independen. Hanya instans yang gagal yang dimulai ulang, dan instans lain tidak terpengaruh.

Sync

Pengaturan mulai ulang pekerjaan

--enable-job-restart

Menentukan apakah pekerjaan dimulai ulang ketika kondisi toleransi kesalahan terpenuhi atau terjadi pengecualian waktu proses. Nilai yang valid:

  • False: Pekerjaan tidak dimulai ulang.

  • True: Pekerjaan dimulai ulang.

False

--max-num-of-job-restart

Menentukan jumlah maksimum kali pekerjaan dapat dimulai ulang. Jika jumlah ini terlampaui, pekerjaan ditandai sebagai gagal.

3

Konfigurasi waktu proses

Catatan

Berlaku untuk skenario di mana tidak ada instans yang gagal.

Pendeteksian hang pekerjaan

--enable-job-hang-detection

Menentukan apakah akan mengaktifkan pendeteksian hang untuk pekerjaan yang sedang berjalan. Fitur ini hanya mendukung pekerjaan sinkron. Nilai yang valid:

  • False: Menonaktifkan fitur.

  • True: Mengaktifkan fitur. Jika log stdout dan stderr semua instans tidak diperbarui dalam jangka waktu tertentu, pemicu mulai ulang pekerjaan dijalankan.

False

--job-hang-interval

Menentukan durasi dalam detik bahwa pekerjaan dapat tidak aktif sebelum dianggap hang. Nilainya harus bilangan bulat positif.

Jika durasi tidak aktif melebihi nilai ini, pekerjaan ditandai sebagai abnormal dan pemicu mulai ulang dijalankan.

1800

--enable-c4d-hang-detection

Menentukan apakah akan mengaktifkan pendeteksian C4D (Calibrating Collective Communication over Converged ethernet - Diagnosis). Fitur ini membantu Anda mendiagnosis dan menemukan node lambat serta node rusak yang menyebabkan pekerjaan hang secara cepat.

Catatan

Parameter ini hanya berlaku ketika --enable-job-hang-detection diaktifkan.

False

Pendeteksian hang saat keluar pekerjaan

--enable-job-exit-hang-detection

Menentukan apakah akan mengaktifkan pendeteksian hang ketika pekerjaan akan keluar. Fitur ini hanya mendukung pekerjaan sinkron. Nilai yang valid:

  • False: Menonaktifkan fitur.

  • True: Mengaktifkan fitur. Jika pekerjaan tidak keluar dalam periode tertentu setelah salah satu instansnya selesai, pemicu mulai ulang pekerjaan dijalankan.

False

--job-exit-hang-interval

Menentukan durasi dalam detik bahwa pekerjaan dapat tidak aktif selama proses keluar. Nilainya harus bilangan bulat positif.

Jika durasi tidak aktif saat keluar melebihi nilai ini, pekerjaan ditandai sebagai abnormal dan pemicu mulai ulang dijalankan.

600

Konfigurasi toleransi kesalahan

Catatan

Berlaku untuk skenario di mana sebuah instans gagal.

Kebijakan toleransi kesalahan

--fault-tolerant-policy

Menentukan kebijakan toleransi kesalahan. Nilai yang valid:

  • OnFailure: Ketika terjadi pengecualian pekerjaan:

    • Untuk pekerjaan asinkron, instans yang gagal dimulai ulang tanpa syarat.

    • Untuk pekerjaan sinkron, pekerjaan dimulai ulang tanpa syarat.

  • ExitCodeAndErrorMsg: Ketika terjadi pengecualian pekerjaan, sistem mengevaluasi kode keluar dan pesan error dari instans yang gagal. Untuk informasi lebih lanjut, lihat Langkah 3: Konfigurasikan fitur lanjutan untuk pemantauan toleransi kesalahan. Jika kondisi percobaan ulang terpenuhi:

    • Untuk pekerjaan asinkron, instans yang gagal dimulai ulang.

    • Untuk pekerjaan sinkron, pekerjaan dimulai ulang.

  • Never: Tidak ada tindakan yang diambil. Pekerjaan ditandai sebagai gagal.

ExitCodeAndErrorMsg

Jumlah maksimum kemunculan error yang sama

--max-num-of-same-error

Menentukan jumlah maksimum kali error yang sama dapat terjadi pada satu instans.

Jika jumlah error melebihi nilai ini, pekerjaan ditandai sebagai gagal.

10

Laju kegagalan maksimum yang ditoleransi

--max-tolerated-failure-rate

Mengatur laju kegagalan maksimum yang ditoleransi. Jika persentase instans yang gagal melebihi nilai ini, pekerjaan ditandai sebagai gagal.

Nilai bawaan -1 menunjukkan bahwa fitur ini dinonaktifkan. Contoh: Jika Anda menyetel parameter ini ke 0,3, pekerjaan ditandai sebagai gagal jika lebih dari 30% instans worker gagal.

-1

Konfigurasi contoh

Contoh berikut menunjukkan konfigurasi parameter umum untuk berbagai jenis pekerjaan pelatihan.

  • Pekerjaan pelatihan sinkron (umum pada pekerjaan PyTorch)

    Pekerjaan dimulai ulang jika sebuah instans mengalami pengecualian dan kondisi toleransi kesalahan terpenuhi.

    --job-execution-mode=Sync --enable-job-restart=True --max-num-of-job-restart=3 --fault-tolerant-policy=ExitCodeAndErrorMsg
  • Pekerjaan pelatihan asinkron (umum pada pekerjaan TensorFlow)

    Untuk error yang dapat dicoba ulang, hanya instans worker yang gagal yang dimulai ulang. Secara bawaan, pekerjaan tidak dimulai ulang jika instans PS atau Chief gagal. Untuk mengaktifkan mulai ulang pekerjaan, atur --enable-job-restart ke True.

    --job-execution-mode=Async --fault-tolerant-policy=OnFailure
  • Pekerjaan inferensi offline (umum pada pekerjaan ElasticBatch)

    Instans bersifat independen, mirip dengan pekerjaan asinkron. Jika sebuah instans gagal, hanya instans tersebut yang dimulai ulang.

    --job-execution-mode=Async --fault-tolerant-policy=OnFailure

Langkah 2: Aktifkan pemantauan toleransi kesalahan

Anda dapat mengaktifkan fitur pemantauan toleransi kesalahan melalui konsol DLC atau menggunakan SDK saat mengirimkan pekerjaan pelatihan.

Aktifkan di konsol

Saat mengirimkan pekerjaan pelatihan DLC di konsol, aktifkan sakelar Automatic Fault Tolerance di bagian Fault Tolerance and Diagnosis, lalu konfigurasi parameter lainnya. Untuk informasi lebih lanjut, lihat Buat pekerjaan pelatihan. Mengaktifkan fitur ini akan memulai peran AIMaster untuk memantau pekerjaan sepanjang siklus hidupnya dan melakukan tindakan toleransi kesalahan saat terjadi error.

image

Item berikut menjelaskan pengaturannya:

  • Anda dapat menentukan parameter lain di kotak teks Other Cofiguration. Untuk informasi lebih lanjut tentang parameter tersebut, lihat Langkah 1: Konfigurasikan parameter toleransi kesalahan.

  • Setelah mengaktifkan Hang Detection, Anda dapat mengaktifkan C4D Detection. C4D (Calibrating Collective Communication over Converged ethernet - Diagnosis) adalah alat diagnostik eksklusif yang dikembangkan oleh Alibaba Cloud untuk mengidentifikasi masalah seperti kinerja lambat atau hang pada pekerjaan pelatihan model besar. Untuk informasi lebih lanjut, lihat Gunakan C4D.

    Catatan
    • C4D bergantung pada ACCL, pustaka komunikasi kolektif berkinerja-tinggi yang dikembangkan oleh Alibaba Cloud. Pastikan ACCL telah diinstal. Untuk informasi lebih lanjut, lihat ACCL: Pustaka komunikasi kolektif berkinerja-tinggi Alibaba Cloud.

    • Saat ini, fitur C4D Detection hanya tersedia untuk pekerjaan DLC yang berjalan di Layanan Komputasi AI Lingjun.

  • Setelah mengaktifkan Hang Detection, Anda dapat menggunakan alat analisis snapshot tumpukan panggilan untuk menemukan baris kode spesifik tempat pekerjaan hang. Hal ini memerlukan konfigurasi khusus untuk ambang batas pendeteksian hang. Untuk informasi lebih lanjut, lihat Gunakan alat analisis snapshot tumpukan panggilan.

Aktifkan penggunaan DLC SDK

  • Gunakan Go SDK

    Aktifkan fitur pemantauan toleransi kesalahan saat mengirimkan pekerjaan menggunakan Go SDK.

    createJobRequest := &client.CreateJobRequest{}
    settings := &client.JobSettings{
        EnableErrorMonitoringInAIMaster: tea.Bool(true),
        ErrorMonitoringArgs: tea.String("--job-execution-mode=Sync --enable-job-restart=True --enable-job-hang-detection=True --job-hang-interval=3600"),
    }
    createJobRequest.SetSettings(settings)

    Parameter:

    • EnableErrorMonitoringInAIMaster: Menentukan apakah akan mengaktifkan fitur pemantauan toleransi kesalahan.

    • ErrorMonitoringArgs: Menentukan parameter lain untuk pemantauan toleransi kesalahan.

  • Gunakan Python SDK

    Aktifkan fitur pemantauan toleransi kesalahan saat mengirimkan pekerjaan menggunakan Python SDK.

    from alibabacloud_pai_dlc20201203.models import CreateJobRequest, JobSettings
    
    settings = JobSettings(
        enable_error_monitoring_in_aimaster = True,
        error_monitoring_args = "--job-execution-mode=Sync --enable-job-restart=True --enable-job-hang-detection=True --job-hang-interval=30"
    )
    create_job_req = CreateJobRequest(
        ...
        settings = settings,
    )

    Parameter:

    • enable_error_monitoring_in_aimaster: Menentukan apakah akan mengaktifkan fitur pemantauan toleransi kesalahan.

    • error_monitoring_args: Menentukan parameter lain untuk pemantauan toleransi kesalahan.

Langkah 3: Konfigurasikan fitur lanjutan

Anda dapat menggunakan fitur lanjutan berikut untuk menyesuaikan pemantauan toleransi kesalahan sesuai kebutuhan pekerjaan Anda.

Konfigurasikan notifikasi toleransi kesalahan

Setelah mengaktifkan pemantauan toleransi kesalahan untuk suatu pekerjaan, Anda dapat mengonfigurasi notifikasi untuk event toleransi kesalahan. Di halaman Workspace Details, pilih Configure Workspace > Configure Event Notification, klik Create Event Rule, lalu atur jenis event ke DLC task > Automatic Fault Tolerance. Untuk informasi selengkapnya, lihat Workspace Event Center.

Jika pekerjaan pelatihan mengalami pengecualian, seperti nilai loss NaN, Anda dapat menggunakan AIMaster SDK dalam kode Anda untuk mengirim pesan notifikasi kustom.

Catatan

Untuk menggunakan fitur ini, Anda harus menginstal paket wheel AIMaster. Untuk informasi lebih lanjut, lihat FAQ.

from aimaster import job_monitor as jm

job_monitor_client = jm.Monitor(config=jm.PyTorchConfig())

...

if loss == Nan and rank == 0:
  st = job_monitor_client.send_custom_message(content="The training loss for the job is NaN.")
  if not st.ok():
      print('failed to send message, error %s' % st.to_string())

Konfigurasikan kata kunci toleransi kesalahan kustom

Fitur pemantauan toleransi kesalahan mencakup modul pemantauan bawaan untuk error retriable umum. Jika Anda ingin tindakan toleransi kesalahan dipicu saat kata kunci tertentu muncul dalam log instans yang gagal, Anda dapat mengonfigurasi kata kunci tersebut dalam kode Anda. Setelah dikonfigurasi, modul pemantauan toleransi kesalahan akan memindai log akhir instans yang gagal untuk mencocokkan kata kunci.

Catatan

Kebijakan toleransi kesalahan harus diatur ke ExitCodeAndErrorMsg.

  • Contoh konfigurasi kata kunci toleransi kesalahan kustom untuk pekerjaan PyTorch

    from aimaster import job_monitor as jm
    
    jm_config_params = {}
    jm_config = jm.PyTorchConfig(**jm_config_params)
    monitor = jm.Monitor(config=jm_config)
    monitor.set_retryable_errors(["connect timeout", "error_yyy", "error_zzz"])

    Fungsi monitor.set_retryable_errors mengatur kata kunci toleransi kesalahan kustom.

  • Contoh konfigurasi kata kunci toleransi kesalahan kustom untuk pekerjaan TensorFlow

    from aimaster import job_monitor as jm
    
    jm_config_params = {}
    jm_config = jm.TFConfig(**jm_config_params)
    monitor = jm.Monitor(config=jm_config)
    monitor.set_retryable_errors(["connect timeout", "error_yyy", "error_zzz"])

Konfigurasikan pendeteksian hang pekerjaan bertahap

Secara bawaan, pengaturan pendeteksian hang berlaku untuk seluruh siklus hidup pekerjaan. Namun, pekerjaan berjalan dalam beberapa tahap. Misalnya, selama tahap inisialisasi, node mungkin memerlukan waktu lama untuk membangun komunikasi, sedangkan selama tahap pelatihan, log diperbarui lebih sering. Untuk mendeteksi node hang secara cepat selama proses pelatihan, DLC menyediakan fitur pendeteksian hang pekerjaan bertahap. Fitur ini memungkinkan Anda mengonfigurasi interval pendeteksian hang berbeda untuk tahap pelatihan berbeda. Kode berikut memberikan contohnya.

monitor.reset_config(jm_config_params)

# Contoh:
#     monitor.reset_config(job_hang_interval=10)
#     atau
#     config_params = {"job_hang_interval": 10, }
#     monitor.reset_config(**config_params)

Kode berikut memberikan contoh cara mengonfigurasi pendeteksian hang pekerjaan bertahap untuk pekerjaan PyTorch.

import torch
import torch.distributed as dist
from aimaster import job_monitor as jm

jm_config_params = {
    "job_hang_interval": 1800 # Deteksi global 30 menit.
}
jm_config = jm.PyTorchConfig(**jm_config_params)
monitor = jm.Monitor(config=jm_config)

dist.init_process_group('nccl')

...

# Implementasikan dua fungsi ini di AIMaster SDK.
# Anda hanya perlu menambahkan anotasi ke fungsi Anda.
def reset_hang_detect(hang_seconds):
    jm_config_params = {
        "job_hang_interval": hang_seconds
    }
    monitor.reset_config(**jm_config_params)

def hang_detect(interval):
    reset_hang_detect(interval)
    ...

@hang_detect(180) # Atur ulang pendeteksian hang menjadi 3 menit, hanya untuk cakupan fungsi ini.
def train():
    ...

@hang_detect(-1) # Nonaktifkan sementara pendeteksian hang, hanya untuk cakupan fungsi ini.
def test():
    ...

for epoch in range(0, 100):
    train(epoch)
    test(epoch)
    self.scheduler.step()
                            

Gunakan C4D

C4D (Calibrating Collective Communication over Converged ethernet - Diagnosis) adalah alat eksklusif yang dikembangkan oleh Alibaba Cloud untuk mendiagnosis masalah seperti kinerja lambat atau hang pada pekerjaan pelatihan model besar. C4D bergantung pada ACCL, pustaka komunikasi kolektif berkinerja-tinggi yang dikembangkan oleh Alibaba Cloud. Pastikan ACCL telah diinstal dan variabel lingkungan dikonfigurasi dengan benar. Untuk informasi lebih lanjut, lihat ACCL: Pustaka komunikasi kolektif berkinerja-tinggi Alibaba Cloud. Saat ini, fitur pendeteksian C4D hanya tersedia untuk pekerjaan DLC yang berjalan di Layanan Komputasi AI Lingjun.

Cara kerja

C4D mengumpulkan informasi status dari semua node dalam pekerjaan untuk menentukan apakah ada node yang mengalami masalah di lapisan komunikasi atau di luar lapisan komunikasi. Gambar berikut menunjukkan arsitektur sistem.

Parameter

Setelah mengaktifkan C4D Detection, Anda dapat mengonfigurasi parameter berikut di kotak teks Other Configurations.

Parameter

Deskripsi

Contoh

--c4d-log-level

Mengatur tingkat log output C4D. Nilai yang valid:

  • Info

  • Warning (bawaan)

  • Error

Nilai bawaan adalah Warning, yang menghasilkan log pada tingkat Warning dan Error. Kami menyarankan Anda menggunakan nilai bawaan untuk operasi normal. Untuk memecahkan masalah kinerja, Anda dapat mengatur nilainya ke Info.

--c4d-log-level=Info

--c4d-common-envs

Mengatur variabel lingkungan untuk eksekusi C4D. Gunakan format k1=v1,k2=v2 dan pisahkan beberapa variabel dengan koma (,). Secara bawaan, parameter ini kosong. Variabel lingkungan berikut tersedia:

  • C4D_HANG_TIMEOUT: Durasi dalam mikrodetik bahwa pekerjaan dapat hang sebelum memicu Warning. Nilai bawaan: 10000000 (10 detik).

  • C4D_HANG_TIMES: Jumlah kemunculan hang yang memicu log Error dan logika isolasi node otomatis. Variabel ini digunakan bersama C4D_HANG_TIMEOUT. Nilai bawaan: 18 (Secara bawaan, hang selama 3 menit memicu isolasi node otomatis).

  • C4D_CONN_BW_CHECK_PERIOD: Interval pemeriksaan bandwidth. Nilai bawaan: 10 detik.

  • C4D_RUNTIME_LOG_LEVEL: Tingkat log waktu proses C4D. Nilai yang valid:

    • TRACE

    • DEBUG

    • INFO (bawaan)

    • WARNING

    • ERROR

    • FATAL

  • C4D_ENABLE_STATS_OUTPUT: Menentukan apakah akan mengeluarkan statistik terkait C4D. Nilai yang valid:

    • TRUE

    • FALSE (bawaan)

--c4d-common-envs=C4D_HANG_TIMEOUT=1,C4D_HANG_TIMES=2

Untuk log tingkat Error, AIMaster secara otomatis mengisolasi node yang sesuai dan memulai ulang pekerjaan. Tabel berikut menjelaskan logika penanganan untuk setiap tingkat log.

Tingkat error

Deskripsi error

Tindakan

Error

Secara bawaan, hang di lapisan komunikasi yang melebihi tiga menit menyebabkan pekerjaan gagal. Anda dapat mengubah bawaan ini dengan mengonfigurasi parameter C4D_HANG_TIMEOUT dan C4D_HANG_TIMES.

AIMaster secara otomatis mengisolasi node yang dilaporkan dalam log.

Warn

Secara bawaan, hang di lapisan komunikasi yang melebihi 10 detik memengaruhi kinerja tetapi tidak menyebabkan pekerjaan gagal. Anda dapat mengubah bawaan ini dengan mengonfigurasi parameter C4D_HANG_TIMEOUT.

Node yang dilaporkan dalam log tidak diisolasi secara otomatis dan memerlukan konfirmasi manual.

Hang di luar lapisan komunikasi yang melebihi 10 detik dapat menyebabkan pekerjaan gagal.

Node yang dilaporkan dalam log tidak diisolasi secara otomatis dan memerlukan konfirmasi manual.

Info

Kelambatan di lapisan komunikasi dan kelambatan di luar lapisan komunikasi.

Log diagnostik ini terutama untuk masalah kinerja dan memerlukan konfirmasi manual.

Jika Anda menemukan bahwa pekerjaan DLC berjalan lambat atau hang, buka daftar pekerjaan DLC dan klik nama pekerjaan untuk membuka halaman detail pekerjaan. Di bagian Instance, lihat log node AIMaster untuk melihat hasil diagnosa C4D. Untuk informasi lebih lanjut tentang hasil diagnosa, lihat Contoh hasil diagnosa.5bc5051b1abae830588522ab7a50b23f

Hasil diagnosa

  • RankCommHang: Menunjukkan bahwa sebuah node mengalami hang di lapisan komunikasi.image

  • RankNonCommHang: Menunjukkan bahwa sebuah node mengalami hang di luar lapisan komunikasi, misalnya dalam proses komputasi.image

  • RankCommSlow: Menunjukkan bahwa sebuah node mengalami kinerja lambat di lapisan komunikasi.image

  • RankNonCommSlow: Menunjukkan bahwa sebuah node mengalami kinerja lambat di luar lapisan komunikasi.image

Gunakan alat analisis tumpukan panggilan

Hang pekerjaan adalah jenis kegagalan umum dalam pelatihan model besar. Contoh khasnya adalah hang NCCL, yang menghasilkan log "Watchdog caught collective operation timeout" saat pekerjaan gagal. Untuk membantu Anda mengidentifikasi akar penyebab hang pekerjaan secara cepat, kami mengembangkan alat analisis snapshot tumpukan panggilan. Ikuti langkah-langkah berikut untuk menggunakan alat ini:

Langkah 1: Instal pystack atau py-spy

Periksa apakah pystack atau py-spy telah diinstal dalam gambar kontainer Anda. Jika belum, Anda harus menginstal salah satunya. Perintah berikut memberikan contoh cara menginstal pystack.

pip install pystack -i https://mirrors.cloud.aliyuncs.com/pypi/simple/ --trusted-host mirrors.cloud.aliyuncs.com

Langkah 2: Aktifkan sakelar pendeteksian hang

Untuk informasi tentang cara mengaktifkan sakelar, lihat Aktifkan di konsol. Setelah mengaktifkan sakelar Hang Detection, Anda harus mengonfigurasi nilai yang sesuai untuk ambang batas pendeteksian hang agar dapat menggunakan alat analisis snapshot tumpukan panggilan. Pertama, periksa periode timeout pekerjaan Anda. Informasi ini biasanya dapat ditemukan di log error yang dihasilkan setelah pekerjaan hang. Kode berikut memberikan contoh log.

Watchdog caught collective operation timeout: WorkNCCL(SeqNum=2143, OpType=ALLREDUCE, NumelIn=659, NumelOut=659, Timeout(ms)=600000) ran for 600535 milliseconds before timing out

Bidang Timeout dalam log error ini menunjukkan bahwa periode timeout untuk pekerjaan adalah 600 detik (10 menit). Dalam kasus ini, kami menyarankan Anda menyetel ambang batas pendeteksian hang ke 450 detik. Jika nilai Timeout dalam log error adalah 1800 detik, kami menyarankan Anda menyetel ambang batas pendeteksian hang ke 1500 detik. Sebagai pedoman umum, ambang batas pendeteksian hang harus sekitar 150 hingga 200 detik lebih kecil dari nilai Timeout.

Setelah mengonfigurasi fitur pendeteksian hang seperti yang dijelaskan dalam langkah-langkah sebelumnya, AIMaster secara otomatis mengumpulkan dan menganalisis tumpukan panggilan proses pekerjaan saat terjadi hang. Anda dapat melihat hasil analisis di log node AIMaster. Gambar berikut menunjukkan contoh hasil analisis tumpukan panggilan yang dihasilkan setelah pekerjaan hang.

image.png

Dalam hasil analisis, bidang stack menunjukkan tumpukan panggilan spesifik, bidang threads menunjukkan thread terkait, dan bidang count menunjukkan jumlah thread yang memiliki tumpukan panggilan yang sama. Stack dengan count 1 sangat mungkin menjadi penyebab hang dan perlu diperiksa secara seksama.

Langkah 4: Lihat alasan mulai ulang

  • Lihat upaya mulai ulang: Informasi mulai ulang pekerjaan diorganisir berdasarkan upaya. Di halaman Ikhtisar Pekerjaan, Anda dapat mengklik untuk memperluas detail upaya guna melihat informasi seperti waktu yang dikonsumsi di setiap tahap. Hal ini membantu Anda memahami status pekerjaan dengan lebih baik.

    image

  • Lihat riwayat mulai ulang: Anda dapat mengklik jumlah mulai ulang atau tab Restart records untuk melihat informasi mulai ulang, termasuk alasan mulai ulang, hasil mulai ulang, dan waktu yang dikonsumsi oleh mulai ulang.

    image

    Lakukan langkah-langkah berikut:

    • Di daftar Restart records, klik Description untuk melihat informasi detail tentang mulai ulang, termasuk Restarts, Restart Time, Node Name, Instance Name, Error Code, Error Message, dan Error Source.

    • Klik View Aggregation Fault Details untuk memperluas detail semua catatan mulai ulang.

      image

FAQ

T: Bagaimana cara menginstal AIMaster SDK?

Jalankan perintah berikut untuk menginstal paket wheel yang sesuai berdasarkan versi Python Anda.

# Python 3.6
pip install -U http://odps-release.cn-hangzhou.oss.aliyun-inc.com/aimaster/pai_aimaster-1.2.1-cp36-cp36m-linux_x86_64.whl

# Python 3.8
pip install -U http://odps-release.cn-hangzhou.oss.aliyun-inc.com/aimaster/pai_aimaster-1.2.1-cp38-cp38-linux_x86_64.whl

# Python 3.10
pip install -U http://odps-release.cn-hangzhou.oss.aliyun-inc.com/aimaster/pai_aimaster-1.2.1-cp310-cp310-linux_x86_64.whl