Naš stroj GB10 se je sam izklopil. Dnevnik je krivil pomnilnik; bila je toplota

Operacije

Ena od naših treh naprav NVIDIA GB10 se je v štirih dneh septembra trikrat ugasnila: 10. septembra, 12. septembra (bila je ugasnjena 17 ur) in 13. septembra, dvanajst minut po vklopu. Vsakič je potrebovala osebo, da pritisne gumb za vklop.

Kako je videti izklop zaradi toplote

Sistemski dnevnik se je preprosto ustavil sredi dejavnosti, brez zapisa o izklopu: trd izklop napajanja ne pusti časa journaldu, da zapiše svoj medpomnilnik. Julija se je ura po podobnem izklopu celo vrnila s starim datumom. In strojni varuh, ki ponovno zažene zataknilo se napravo, ni storil ničesar, ker se naprava ni zataknila: napajanje je bilo prekinjeno.

Napačen namig

Zadnje vrstice jedra pred vsakim izpadom so bile napake pomnilnika GPU (NV_ERR_NO_MEMORY), zato je bil pomnilnik videti kriv. Ni bil. Te vrstice so bile preprosto najpogostejša stvar, ki jo je jedro zapisalo: 440.580 jih je bilo v enem samem zagonu, ki je trajal 19 dni, preden se je končal. Ko se vrstica pojavi tako pogosto, bo zadnja vrstica pred čemur koli. Preden krivite vrstico v dnevniku, preštejte, kako pogosto se pojavi, ko gre vse v redu.

Pravilen namig

Ker dnevnik pri izklopu napajanja izgubi zadnje minute, smo dodali majhen vzorčilec, ki vsako minuto zapiše temperature, obremenitev in pomnilnik v datoteko ter jo zapiše na disk. Ujel je vseh pet izpadov od julija. Vsak je nastopil pri polni obremenitvi GPU (96 %), s CPU na 85 do 97 °C.

Časovni okvir je pojasnil preostanek. Okoli začetka septembra smo na to napravo prenesli upodabljanje videa. Poraba energije GPU pri polni obremenitvi je narasla s približno 24 W na 46 W, srednja temperatura GPU s 68 na 86 °C, minute na teden s CPU na 95 °C ali več pa z nič na 4.283. Naši drugi dve napravi GB10, ki poganjata jezikovni model pri enaki obremenitvi 96 %, sta ostali pri 65 do 81 °C. Ta se je preprosto slabše hladila.

Prva rešitev: omejitev takta GPU

Na GB10 nvidia-smi ne more nastaviti omejitve moči, lahko pa omeji takt GPU: nvidia-smi -lgc 0,2000. Julija je to v nekaj sekundah znižalo najtoplejšo cono s 91 °C na 77 do 83 °C. Pomembna sta dva detajla:

Druga popravila: zaščitni mehanizem pred pregrevanjem v korakih

Omejevalnik ni bil dovolj, ko je začel delovati upodabljalec, zato zaščitni mehanizem zdaj vsako sekundo prebere vse senzorje in ukrepa v korakih: nižji ura GPU od 89 °C in še nižji od 92 °C; od 94 °C se upodabljalec zaustavi (SIGSTOP) in CPU upočasni; od 96 °C se vsa opravila GPU zaustavijo za sekunde, potrebne za ohladitev. Koraki se sproščajo šele, ko se stroj dlje časa ohranja hladnejši. Pri 97 °C za 20 sekund zadnja zavora popolnoma ustavi storitev videa.

V prvih devetih minutah upodabljanja je najtoplejša cona dosegla vrh 94 °C z mediano 89 °C, v primerjavi s prejšnjimi platoji pri 97 °C. To ima svojo ceno: en dan sredi septembra je bil upodabljalec zaustavljen 17 % časa, GPU pa je večino dneva deloval pri 900 MHz ali manj. In to ni zdravilo: stroj se je še enkrat sam izklopil, 11. oktobra, pri 97 do 98 °C. Od takrat deluje brez prekinitve, 20 dni, ko to pišemo.

Štiri napake, ki smo jih storili na poti

Ključna ugotovitev

Programska oprema je ta stroj vzdrževala v pogonu, a vzrok je bil fizičen: njegovo hlajenje je bilo dva- do trikrat slabše kot pri sorodnih napravah. Če se stroj GB10 pod obremenitvijo sam izklopi, najprej preverite pretok zraka. Nato omejite takt GPU pred zagonom storitev, zaustavite zahtevna opravila, preden stroj doseže svojo mejo, in nastavite alarme glede na temperature, pri katerih dejansko deluje.

Factory Floor vključuje takšni zaščitni mehanizem pred pregrevanjem: bere najvišjo vrednost med senzorji GPU in toplotnih con, zaustavi zahtevna opravila, ki jih določite, pri nastavljeni temperaturi (privzeto 92 °C) in jih znova zažene šele pod nižjo temperaturo (84 °C), poleg njega pa sta še zaščitna mehanizma za pomnilnik in disk.

Posodobljeno: