Ang aming GB10 machine ay patuloy na namamatay sa sarili. Ang log ay nagsisi sa memorya; init pala ang dahilan

Ops

Isa sa aming tatlong NVIDIA GB10 machines ang namatay nang tatlong beses sa loob ng apat na araw noong Setyembre: noong Setyembre 10, noong Setyembre 12 (nagpatuloy itong patay sa loob ng 17 oras) at noong Setyembre 13, labing-dalawang minuto pagkatapos itong buksan muli. Bawat beses, kailangan ng tao na pindutin ang power button.

Ganito ang itsura ng heat shutdown

Biglang tumigil ang system journal, habang aktibo pa ito, walang nakasulat na shutdown: ang hard power-off ay hindi nagbibigay ng sapat na oras sa journald upang isulat ang buffer nito. Noong Hulyo, pagkatapos ng katulad na shutdown, bumalik pa nga ang orasan na may lumang petsa. At ang hardware watchdog, na nagre-reboot ng machine na nag-hang, ay walang ginawa, dahil hindi nag-hang ang machine: nawala ang kuryente.

Ang mali na pahiwatig

Ang huling mga linya ng kernel bawat pagkamatay ay mga GPU out-of-memory errors (NV_ERR_NO_MEMORY), kaya mukhang memorya ang may kasalanan. Hindi pala. Ang mga linyang iyon ay simpleng pinakakaraniwang isinulat ng kernel: 440,580 sa isang boot na tumakbo ng 19 araw bago ito natapos. Kapag ang isang linya ay lumilitaw nang ganito kadalas, ito ang magiging huling linya bago ang anumang bagay. Bago sisihin ang isang linya ng log, bilangin kung gaano kadalas itong lumilitaw kapag walang problema.

Ang tamang pahiwatig

Dahil nawawala ng journal ang huling ilang minuto sa power-off, nagdagdag kami ng maliit na sampler na nagsusulat ng temperatura, load at memorya sa isang file bawat minuto at pinapalabas ito sa disk. Nahuli nito ang lahat ng limang pagkamatay mula Hulyo. Bawat isa ay nangyari sa full GPU load (96%), na may CPU na 85 hanggang 97 °C.

Ang timing ang nagpaliwanag sa natitira. Mga simula ng Setyembre, inilipat namin ang video rendering sa machine na ito. Ang GPU power nito sa full load ay tumaas mula humigit-kumulang 24 W hanggang 46 W, ang median GPU temperature nito mula 68 hanggang 86 °C, at ang mga minuto kada linggo na may CPU na 95 °C o higit pa ay mula wala hanggang 4,283. Ang aming dalawang iba pang GB10 machines, na tumatakbo ng language model sa parehong 96% load, ay nanatili sa 65 hanggang 81 °C. Ang isa lang itong mas hindi nag-cool nang maayos.

Ang unang ayos: isang GPU clock cap

Sa GB10, hindi kayang itakda ng nvidia-smi ang power limit, ngunit kaya nitong i-cap ang GPU clock: nvidia-smi -lgc 0,2000. Noong Hulyo, ibinaba nito ang pinakamainit na zone mula 91 °C hanggang 77 hanggang 83 °C sa loob ng ilang segundo. Dalawang detalye ang mahalaga:

Ang pangalawang pag-aayos: isang heat guard sa mga hakbang

Hindi sapat ang cap nang pumasok ang rendering, kaya ngayon ay binabasa ng isang guard ang bawat sensor isang beses kada segundo at kumikilos sa mga hakbang: mas mababang GPU clock mula 89 °C at mas mababa pa mula 92 °C; mula 94 °C, ipinapause ang renderer (SIGSTOP) at pinapabagal ang CPU; mula 96 °C, ipinapause ang lahat ng GPU job sa mga segundo na kailangan para lumamig. Bumabalik ito sa dating setting lamang matapos manatiling mas malamig ang makina sa isang panahon. Sa 97 °C sa loob ng 20 segundo, ang isang last-resort brake ay humihinto sa video service nang tuluyan.

Sa unang siyam na minuto nito sa ilalim ng rendering, ang pinakamainit na zone ay umabot sa 94 °C na may median na 89 °C, kumpara sa mga plateau na 97 °C noon. May presyo ito: sa isang araw noong kalagitnaan ng Setyembre, ang renderer ay ipinause sa 17% ng oras, at ang GPU ay tumakbo sa 900 MHz o mas mababa sa karamihan ng araw. At hindi ito lunas: sarili itong pinatay ang makina nang isang beses pa, noong 11 Oktubre, sa 97 hanggang 98 °C. Tumatakbo ito nang walang pahinga mula noon, 20 araw habang sinusulat namin ito.

Apat na pagkakamali na ginawa namin sa daan

Ang takeaway

Pinanatili ng software ang buhay ng makinang ito, ngunit ang dahilan ay pisikal: ang pagpapalamig nito ay dalawa hanggang tatlong beses na mas masama kaysa sa mga kapwa nito. Kung ang isang GB10 machine ay kusang namamatay sa ilalim ng load, tingnan muna ang airflow. Pagkatapos, limitahan ang GPU clock bago magsimula ang mga serbisyo ninyo, i-pause ang mga mabigat na trabaho bago maabot ng makina ang limitasyon nito, at itakda ang mga alarm mula sa mga temperatura na talagang ginagamit nito.

Factory Floor ay may kasamang heat guard ng ganitong uri: binabasa nito ang pinakamainit sa mga sensor ng GPU at thermal-zone, ini-pause ang mga mabigat na trabaho na tinukoy ninyo sa isang itinakdang temperatura (92 °C by default), at ipinagpapatuloy lamang ang mga ito kapag nasa ibaba ng mas mababang temperatura (84 °C), kasama ang memory at disk guards sa tabi nito.

Na-update: