Datacentre plages af uforklarlige og uforudsigelige regnefejl

Plus6. juni 2021 kl. 10:1012
Datacentre plages af uforklarlige og uforudsigelige regnefejl
En Google-medarbejder undersøger en overophedet CPU i et datacenter i USA. Illustration: Google.
Tilbagevendende, men uforudsigelige regnefejl i processorer giver hovedbrud hos Google og Facebook, som efterlyser mere fokus på hardware og fejlsøgningsværktøjer.
Artiklen er ældre end 30 dage

Hver dag bliver der koblet nye lange rækker af server-racks op i de gigantiske hyperskala-datacentre, som løbende udvides for at kunne følge med den umættelige appetit på data verden over.

To af de helt store CPU-forbrugere er Google og Facebook, som hver især har millioner af servere i drift verden over. Men begge melder de nu om en ny type regnefejl, som skyldes hardware-problemer i processorerne.

Gratis adgang i 30 dage

Tegn et gratis prøveabonnement og få adgang til alt PLUS-indhold på Ing.dk, Version2 og Radar, helt uden binding eller betalingsoplysninger.

Alternativt kan du købe et abonnement
remove_circle
Har du allerede et PLUS-abonnement eller klip?
close

Velkommen til PLUS

Da du er ved at tilmelde dig en gratis prøve beder vi dig hjælpe os med at gøre vores indhold mere relevant for dig, ved at vælge et eller flere emner der interesserer dig.

Vælg mindst et emne *
Du skal vælge en adgangskode til når du fremover skal logge ind på din brugerkonto.
visibility
Dit medlemskab giver adgang
Som medlem af IDA har du gratis adgang til PLUS-indhold, som en del af dit medlemskab. Fortsæt med MitIDA for at aktivere din adgang til indholdet.
Oplever du problemer med login, så skriv til os på websupport@ing.dk
Abonnementsfordele
vpn_key
Fuld adgang til Ing.dk, Version2 og Radar
Fuld digital adgang til PLUS-indhold på Ing.dk, Version2 og Radar, tilgængeligt på din computer, tablet og mobil.
drafts
Kuraterede nyhedsbreve
Det seneste nye fra branchen, leveret til din indbakke.
Adgang til andre medier
Hver måned får du 6 klip, som kan bruges til permanent at låse op for indhold på vores andre medier.
thumb_up
Adgang til debatten
Deltag i debatten med andre kloge læsere.
12 kommentarer.  Hop til debatten
Debatten
Log ind eller opret en bruger for at deltage i debatten.
settingsDebatindstillinger
11
8. juni 2021 kl. 09:56

Så vidt jeg kan forstå laver Google deres egne CPU'er nu, så de har jo skeen i egen hånd :-P

Mht. kosmisk-stråling, hvad har man af muligheder for afskærmning af disse? Snakker vi bly-afskærming, og hvor tykt? Tilsyneladende er et alm. stålkabinet ikke nok. En del af denne stråling bliver jo blokkeret af atmosfæren, så helt ustoppelig kan strålingen ikke være.

Det skulle i øvrigt undre hvis de (Facebook, Google m.v.) ikke er opmærksom på denne "trussel"...ærgeligt det ikke fremgår hvad deres overvejelser er i den forbindelse, om de helt har frikendt komisk-stråling som årsag,

10
7. juni 2021 kl. 17:04

Re: Test er umulig, fordi ikke</p>
<p>Strømmålinger kombineret med funktionelle tests, er en af de bedste måder at teste en chip,</p>
<p>Nej. Det har det ikke været i 15+ år.</p>
<p>Spredningen i lækstrømme i moderne processer er så stor at den meget effektivt dækker over enkelttransistorers eventuelle statiske forbrug.

Det er måske ca. 20-25 år siden, at jeg havde test af integrerede kredse og skrev rapport over IDDQ testing, så jeg udelukker ikke, at du har ret. De chips, som jeg har været i nærheden af, har dog meget små lækstrømme - i størrelsen under 1µA. Og den bliver endda mindre, ved nye teknologier. Laver man en kæmpe chip, så kan lækstrømmen blive stor, men deles den op i sektioner, så er den meget lav. Er der en MOSFET som er kortsluttet, så er strømmene i størrelsen 100-1000 gange større. I nogle tilfælde reducerer man i dag spændingerne så meget, at transistorerne er på grænsen mellem at lede og ikke lede, og dette kan sandsynligvis være et problem ved visse teknologier der anvender meget lav spænding.

Det ændrer dog ikke på sandheden af det jeg skriver - det er umuligt, at teste alle fejl ved alene en funktionel test. Halvdelen af transistorerne er P-MOS transistorer, og kortsluttes en af disse, vil det med stor sandsynlighed aldrig kunne opdages ved en funktionel test, da det eneste resultat, er et større strømforbrug i bestemte tilstande. Funktionelt, vil mange gates fungere som NMOS logik, når en PMOS er kortsluttet eller næsten kortsluttet. Dette kan også ske ved afbrydelse i gate, ved variationer på offset spænding mv. Det er derfor korrekt, at selvom vi kan lave funktionelle tests der tester funktionaliteten 100%, så er det ikke det samme som at teste at chippen er fejlfri. Der er mange typer fejl, og variationer i processen, som en funktionel tests ikke fanger, og der kan opstå fejl på grund af timing, spændinger, temperaturer osv. som Lars Jensen skriver.

Jeg undrer mig dog lidt over, at IDDQ testing ikke mere er muligt. Men, det vil være nødvendigt at lave strømmålinger mange steder i chippen. I dag er relativt nemt, at indbygge A/D og D/A konvertere og strømmåling i chippen, så mange dele, kan testes samtidigt. Man kan også indbygge sampling osciloscoper i chipsene, men det er måske mest når der laves prototyper. De kan, som eksempel også bruges på I/O'er og bruges til automatisk impedanstilpasning, justering af forsinkelse for kompensationer osv. Normalt, vil det være en fordel at lade dem side på chippen, selvom det optager en smule plads, da de derved fungerer ens.

7
7. juni 2021 kl. 13:36

Test er umulig, fordi ikke
Test er umulig, fordi ikke alle kombinationerne kan tests, der kan udløser fejlene: Temperature/spænding variationer over tid og leveltid.</p>
<p>Komikstråling er en kendt kilde til CPU/storage fejl, det var et problem allerede i slut 80’en og det blevet kun håndteret i cache og storage.</p>
<p>Der er en god grund at få IC/Protokollere designe med fremadrette fejl korrektion/opdagelse og/eller redundant i alle dele af computerne ALU/Cache/microcode/logic,etc, hvis information(beregning) er meget vigtigt.

Når man tester chips, laves testprogrammer eller testvektorer, som udføres på hardwaren. Disse testvektorer kan man sikre sig, går kombinationerne for en gate igennem, og det er således muligt at lave en komplet funktionel test . Det betyder, at alle komponenterne godt kan testes. Imidlertid, så er det ikke nok - en løs forbindelse, kan i nogle tilfælde overføre data kapacitivt, og virke nogle gange, og andre ikke. Eller, en P-Mos transistor kan trække konstant, og så virker det stadigt, da det fungerer som et N-MOS chip, hvor P-transistoren fungere som resistiv pull-up. Selvom man går igennem samtlige muligheder, og har en logisk test, der viser det er 100% korrekt, så er stadigt risiko for fejl. Nogle af disse fejl kan måles ved at måle strømforbruget. F.eks. vil en resistiv pull-up, medføre at der trækkes statisk strøm, i en bestemt tilstand. Men, det kan hurtigt blive kompliceret at teste chips. Strømmålinger kombineret med funktionelle tests, er en af de bedste måder at teste en chip, da at mange typer fejl kun kan ses ved strømmålinger, f.eks. af det statiske forbrug. Dynamisk strømforbrug, kan også indikere fejl, men det er sværre at lave en sikker test.

Har man mistanke om fejl, så kan man lave software programmer, der genberegner alt to gange, eller anvende to forskellige producenter af hardware, til at udføre samme beregninger. Det går ud over regnekapaciteten, men det kan være med til, at der opdages fejl. Opdages uoverensstemmelser, kan det hele genberegnes igen, og derved ses om samme uoverenstemmelse kommer, eller en ny. Opstår stadigt uoverensstemmelser, kan man evt. lave en genberegning, på to andre computere, af hver sit fabrikat, for at se om det kan være en fejl der kun er opstået på en bestemt computer.

Kørsel af programmerne på to computere, af forskellig fabrikat, er som regel den enkleste måde at teste computernes hardware på, og det vil man oftest gøre, hvis man skal sikre hardwaren fungerer pålideligt. I nogle tilfælde, skriver man også softwaren flere gange. Derved opnås ekstra sikkerhed, for at programmørerne ikke laver en fejl. Vi kan ved hjælp af menneskelig redundans for alt kode som udføres, sikre imod enhver implementeringsfejl. Men, det kræver, at der ikke stjæles kode fra andre, f.eks. genbruges kode imellem de forskellige uafhængige dele, eller stjæles kode fra open source. Generalt har vi derfor aldrig lov til at bruge open source, hvis vi laver sikker kode, med mindre vi får udtrykkeligt lov til det. Typisk, så kan man give lov til det for den første version der laves, for at få den hurtigere færdig, så klonerne der laves har noget at sammenligne med.

6
7. juni 2021 kl. 10:40

Professionelle kameraer fra Sony indeholder systemer til at eliminerer pixel fejl. Disse opstår i følge Sony ofte ved at en selle rammes af en nutrino. Af den årsag sender Sony ikke nye kameraer med luftfragt, men kun ad søvejen, da antallet af nutrinoer stiger med højden over jorden.

I den landsdækkende tv station hvor jeg arbejder, har jeg ofte bemærket, at der efter større soludbrud optræder flere computerfejl som krævet total genstart af HW og ikke kun SW genstart. Da der ikke er foretaget registrering og statestik, er det ikke muligt at fremlægge tal og dokumentation, men det har været en tydelig iagttagelse gennem årene.

Tænker at dette fænomen også må påvirke Google, facebook og andre, og især med større mængder af HW.

4
6. juni 2021 kl. 20:45

Da jeg læste artiklen kom jeg til at tænke på TMS570 fra TI. Det er efterhånden en gammel svend. Den har to fuldstændig identiske kerner. Input til den ene er forsinket to cycles, output fra den anden er tilsvarende forsinket. De to vores er roteret 90 grader. Et netværk holder øje med om de to kerner opfører sig 100% ens. Det er selvfølgelig ikke et princip der lader sig overføre problemfrit til de meget større kerner der benyttes i servere, men sikkerhed kan opnås for en pris.

3
6. juni 2021 kl. 15:12

Måske bidragende faktor?

2
6. juni 2021 kl. 14:21

Det er typisk kun enkelte funktionelle enheder i kerner i multi-kerne CPU'er der rammes og det er ikke en mulighed at udskifte store mængder HW af denne grund.

Poetisk retfærdighed måske og måske en følge af de krumspring man gør for sig for at holde gang i stadig mindre "features" i HW-komponenter.

En løsning for at omgå problemet er måske redundans, men det er dyr løsning af ændre compilere og biblioteker sådan at alle (i denne sammenhæng) kritiske operationer udføres parallelt i forskellige kerner eller CPU'er. Det kan "æde" fremskridt i HW-teknolgi, hvis (mange) komplekse operationer skal udføres 3-4 forskellige steder i større systemer. Det kan fx ramme, hvis krypteringsnøgler påvirkes og store mængder data går tabt.

Potentielt kan det være en større trussel end hackernes. Jeg læste en kort sci-fi-historie for længe siden, hvor samfundet "gik ned", fordi der gik "kuk" i deres data-arkiver.

1
6. juni 2021 kl. 12:19

Test er umulig, fordi ikke alle kombinationerne kan tests, der kan udløser fejlene: Temperature/spænding variationer over tid og leveltid.

Komikstråling er en kendt kilde til CPU/storage fejl, det var et problem allerede i slut 80’en og det blevet kun håndteret i cache og storage.

Der er en god grund at få IC/Protokollere designe med fremadrette fejl korrektion/opdagelse og/eller redundant i alle dele af computerne ALU/Cache/microcode/logic,etc, hvis information(beregning) er meget vigtigt.