Náš stroj GB10 sa sám vypínal. Log obviňoval pamäť; príčinou bolo teplo.

Prevádzka

Jeden z našich troch strojov NVIDIA GB10 zhasol trikrát za štyri dni v septembri: 10. septembra, 12. septembra (bol vypnutý 17 hodín) a 13. septembra, dvanásť minút po opätovnom zapnutí. Vždy bolo potrebné, aby niekto stlačil tlačidlo napájania.

Ako vyzerá vypnutie spôsobené prehriatím

Systémový denník jednoducho prestal zapisovať uprostred činnosti, bez záznamu o vypnutí: tvrdé vypnutie nedá journald čas zapísať buffer. V júli sa po podobnom vypnutí hodiny dokonca vrátili so starým dátumom. A hardvérový watchdog, ktorý reštartuje zaseknutý stroj, nič neurobil, pretože stroj sa nezasekol: odišla energia.

Mylná stopa

Posledné riadky kernela pred každým zlyhaním boli chyby nedostatočnej pamäte GPU (NV_ERR_NO_MEMORY), takže pamäť vyzerala ako vinník. Nebola. Tieto riadky boli jednoducho najčastejšie zapisované kernelom: 440 580 z nich pri jednom štarte, ktorý trval 19 dní pred ukončením. Keď sa riadok objavuje tak často, bude posledným riadkom pred čímkoľvek. Pred obvinením riadka v logu si spočítajte, ako často sa objavuje, keď sa nič nepokazí.

Správna stopa

Keďže denník pri vypnutí stratí posledné minúty, pridali sme malý vzorkovač, ktorý každú minútu zapíše teploty, záťaž a pamäť do súboru a uloží ho na disk. Zachytil všetkých päť zlyhaní od júla. Každé nastalo pri plnej záťaži GPU (96 %) s CPU na 85 až 97 °C.

Časovanie vysvetlilo zvyšok. Okolo začiatku septembra sme na tento stroj presunuli vykresľovanie videa. Jeho výkon GPU pri plnej záťaži stúpol z približne 24 W na 46 W, mediánová teplota GPU z 68 na 86 °C a minúty týždenne s CPU na 95 °C alebo viac z nuly na 4 283. Naše dva ďalšie stroje GB10, ktoré bežia s jazykovým modelom pri rovnakej 96 % záťaži, zostali na 65 až 81 °C. Tento sa jednoducho horšie chladil.

Prvá oprava: obmedzenie taktu GPU

Na GB10 nemôže nvidia-smi nastaviť limit výkonu, ale môže obmedziť takt GPU: nvidia-smi -lgc 0,2000. V júli to znížilo najteplejšiu zónu z 91 °C na 77 až 83 °C v priebehu sekúnd. Dva detaily sú dôležité:

Druhá oprava: bezpečnostná poistka proti prehriatiu s postupnými krokmi

Obmedzenie nestačilo, keď začalo prebiehať vykresľovanie, preto bezpečnostná poistka teraz každú sekundu číta všetky senzory a koná v krokoch: zníženie taktu GPU od 89 °C a ďalšie zníženie od 92 °C; od 94 °C sa pozastaví vykresľovač (SIGSTOP) a spomalí sa CPU; od 96 °C sa pozastavia všetky úlohy GPU na čas potrebný na ochladenie. Spätné zvýšenie nastane až po tom, čo stroj zostane chladnejší určitú dobu. Pri 97 °C počas 20 sekúnd zasiahne núdzová brzda, ktorá úplne zastaví video službu.

Počas prvých deviatich minút pri vykresľovaní dosiahla najteplejšia zóna vrchol 94 °C s mediánom 89 °C, oproti predchádzajúcim plató na úrovni 97 °C. Má to svoju cenu: jeden deň v polovici septembra bol vykresľovač pozastavený 17 % času a GPU bežala väčšinu dňa na 900 MHz alebo menej. A nie je to liek: stroj sa ešte raz sám vypol, 11. októbra, pri 97 až 98 °C. Odvtedy beží bez prerušenia, 20 dní od napísania tohto textu.

Štyri chyby, ktoré sme po ceste urobili

Zhrnutie

Softvér udržoval tento stroj v prevádzke, ale príčina bola fyzická: jeho chladenie bolo dva až trikrát horšie ako u jeho súrodencov. Ak sa stroj GB10 pod záťažou sám vypne, najprv skontrolujte prietok vzduchu. Potom obmedzte takt GPU pred spustením vašich služieb, pozastavte náročné úlohy skôr, ako stroj dosiahne svoj limit, a nastavte alarmy podľa teplôt, pri ktorých skutočne beží.

Factory Floor obsahuje bezpečnostnú poistku proti prehriatiu tohto typu: číta najvyššiu hodnotu zo senzorov GPU a tepelných zón, pozastaví vami určené náročné úlohy pri nastavenej teplote (predvolene 92 °C) a obnoví ich až pod nižšiu teplotu (84 °C), pričom vedľa nej sú bezpečnostné poistky pre pamäť a disk.

Aktualizované: