NMI Watchdog Reset na 4-GPU: IRQ oluja i PCIe AER
U svijetu visokih performansi, posebno na klasterima koji koriste više grafičkih procesora, stabilnost sustava je ključna. Nedavno je uočeno da su čvorovi s četiri GPU-a na bare metal konfiguraciji podvrgnuti čestim hardverskim resetima. Uzrok je otkriven kao NMI watchdog timeout, a uzrokovano je olujama IRQ-a koje potječu od PCIe AER (Advanced Error Reporting) grešaka. U nastavku ćemo detaljno opisati metodološki put koji je omogućio identifikaciju i rješavanje ovog problema.
1. Početak s dmesg – prvi trag
Prvi korak u dijagnostici bilo kojeg kernel problema je pregled dmesg izlaza.
U slučaju naših čvorova, primijetili smo ponavljajuće linije:
- "NMI watchdog: BUG: time out"
- "PCIe AER: Corrected error"
- "IRQ storm detected"
Ovi zapisi jasno ukazuju na to da kernel ne može obraditi sve dolazne IRQ-e u očekivano vrijeme, što rezultira timeoutom watchdoga. Međutim, samog timeouta nije dovoljno da se otkrije izvor – potrebno je pratiti nizu događaja.
2. Analiza PCIe AER poruka
PCIe AER je mehanizam koji kernel koristi za prijavu naprednih grešaka na PCIe magistrali. Greške koje se pojavljuju u našim čvorovima su tipa "Corrected error", što znači da je hardver samostalno ispravio problem, ali je generirao signal koji je zatim preuzeo kernel. Ove poruke su često poveznica na "IRQ storms" jer se više IRQ-a generira u kratkom vremenskom razdoblju.
3. Praćenje IRQ storma
Da bismo potvrdili da su IRQ-i stvarno oluja, koristili smo perf i irqbalance alate. Rezultati su pokazali:
- Sudbina IRQ-a na svim četiri GPU-a je znatno povećana.
- IRQ-i se generiraju brže od 10 kHz, što je iznad normalne radne frekvencije.
- Ovaj uzorak se pojavio samo kada su PCIe AER greške aktivne.
Ovo je potvrdilo da PCIe AER greške uzrokuju preveliku količinu IRQ-a, što na kraju dovodi do timeouta NMI watchdoga.
4. Postavke firmwarea – ključni korak
Jednom kada je povezan lanac uzroka, sljedeći korak je prilagodba firmwarea. U BIOS/UEFI postavkama našeg servera, pronašli smo opciju "PCIe Advanced Error Reporting". Ova opcija je bila uključena, što je rezultiralo aktiviranjem AER funkcionalnosti. Ispustili smo ovu opciju i dodali pci=noaer u kernel parametre, čime smo onemogućili AER prijavu.
Rezultat?
Nakon promjene, dmesg više ne prikazuje AER poruke, a NMI watchdog više ne generira timeoutove. Čvorovi su se stabilizirali i resetiranja su se prestala događati.
5. Dodatne mjere – optimizacija IRQ-a
Uz onemogućavanje AER, implementirali smo i irqbalance konfiguraciju koja raspodjeljuje IRQ-e ravnomjernije među CPU jezgri. To je dodatno smanjilo opterećenje na pojedinačne jezgre i spriječilo ponovljene oluje.
Zaključak
Ovaj slučaj ilustrira kako su moderni hardverski mehanizmi, poput PCIe AER, mogli nehotice uzrokovati ozbiljne probleme u klasterima s više GPU-a. Ključ je u sistematskom pristupu – od dmesg, preko analize AER poruka, do prilagodbe firmwarea i kernel parametara. Nakon ovih koraka, čvorovi su se stabilizirali i NMI watchdog više ne resetira.
Zanima vas ovakva AI tehnologija?
RiNET gradi sovereign AI rjesenja za javni sektor i poduzeca - od civic intelligence do automatizacije nabave.
Kontaktirajte nas →
Komentari