Computere med regnefejl giver de nyttigste resultater

15. november 2015 kl. 11:008
Computere med regnefejl giver de nyttigste resultater
Prototypechip med et 64 bit additionskredsløb baseret på probabilistisk beskæring, hvor nogle af transistorerne i et normalt additionskredsløb er fjernet. Dette kredsløb giver en upræcis beregning, men chippen bruger mindre energi end en normal chip. Hvis fejlen i beregningen maksimalt er på 0,25 pct., er energiforbruget 3,5 gange mindre. Samlet set er forbedringen i størrelse og hastighed på 7,5 gange i forhold til en normal chip. Illustration: Avinash Lingamneni/Rice University/CSEM.
Supercomputere er enorme energislugere. Visse typer beregninger kan derfor med fordel udføres med computere, der regner forkert og bruger mindre energi.
Artiklen er ældre end 30 dage

Når vejrudsigten skal beregnes, når forholdene ved universets begyndelse skal simuleres, når den menneskelige hjerne skal modelleres, eller aktørerne på de finansielle markeder skal handle, så er der brug for supercomputere.

Udviklingen inden for disse områder er båret af miniaturisering inden for halvlederteknologi, som har gjort det muligt at øge regnekraften i et konstant tempo, siden Gordon Moore formulerede sin berømte lov om eksponentielle forbedringer af computerchips for 50 år siden.

Gennem mange år har ingeniører og forskere kæmpet med og overvundet de vanskeligheder, der har været forbundet med at designe og producere nye og hurtigere computere baseret på mindre og hurtigere transistorer.

Omkostningen har dog været, at energiforbruget ved computerbereg­ninger nærmer sig det uantagelige.

Artiklen fortsætter efter annoncen

De største supercomputere i verden har en regnekraft, der måles i petaflops. Flops står for ‘floating points operations per second’; peta angiver, at de største computere kan udføre flere millioner milliarder (peta = 10^15) af disse.

Den kinesiske Tianhe-2 er verdens største supercomputer med 33,86 petaflops. Inklusive køling kræver den en effekt på 24 megawatt.

Forskere, ingeniører og meteorologer mv. kan sagtens finde på anvendelser til en exa-computer, hvis beregningsevne skal måles i exaflops (exa = 10^18).

Det er ikke antallet af flops, der er problemet med at fremstille en sådan computer. Problemet er, at man kan forudse, at effektforbruget vil være omkring 100 megawatt – det samme som H.C. Ørstedsværket i København producerer af elektrisk effekt.

Artiklen fortsætter efter annoncen

Kun helt undtagelsesvis kan man tillade så stort et effektforbrug.

Det bliver derfor nødvendigt at udvikle computere, der regner hurtigere end i dag, men som ikke bruger mere end 20-30 megawatt, som af mange anses for den øvre grænse.

Regnefejl sparer energi

Der findes flere måder at reducere energiforbruget på. En af de mere overraskende er at bruge computere, der regner forkert, eller mere præcist kun garanterer nøjagtigheden af deres beregning med en bestemt fejlmargin.

Computerdesignere har kæmpet med eller rettere mod regnefejl siden John von Neumanns computere fra 1950’erne.

John Presper Eckert, der var med til at designe verdens første elektroniske computer, Eniac, under Anden Verdenskrig, har forklaret, at der opstod en fejl i et af de godt 17.000 ­radiorør omkring hver anden dag, og det tog 15 minutter at finde fejlen.

John von Neumann beskæftigede sig derfor intenst med pålidelighed og var i computeralderens barndom med til at udvikle metoder til at håndtere og rette fejl.

Efterhånden som transistorer erstattede radiorør, blev fejlproblemerne mindre og mindre, men i takt med, at transistorer er skrumpet, så nye fysiske effekter har fået betydning, er fejlproblemet nu efter 50 år vendt tilbage.

For næsten 15 år siden stillede Krishna Palem fra Rice University i Houston, Texas, derfor spørgsmålet, om det kunne at være en mulighed at leve med fejlene frem for fortsat at stræbe efter at bygge fuldstændigt pålidelige kredsløb og computere ud fra komponenter, der ikke kan garanteres at være fejlfrie.

Artiklen fortsætter efter annoncen

Klimaforskeren Tim Palmer fra University of Oxford mener, at det er en nyttig synsvinkel.

»Den energi, vi sparer ved ikke at udføre fuldstændigt eksakte beregninger, kan bruges mere produktivt på anden vis,« skrev han for nylig i en artikel i Nature.

Beregninger bliver aldrig eksakte

Når det kan komme på tale at udføre fejlagtige beregninger, er det, fordi man i mange situationer alligevel må forlade sig på, at en beregning aldrig kan blive eksakt.

Ved vejrudsigter og klimamodeller inddeler man atmosfæren i et gitter. Fænomener, der optræder på en skala mindre end gitterafstanden – som kan være nogle få kilometer – skal medtages på en simplificeret måde, der i sig selv indebærer en form for fejl. Det kan for eksempel være tordenvejr.

Begyndelsesbetingelser og randbetingelser kendes heller ikke med fuld nøjagtighed.

»I klimasimulationer svarer disse fejl til en form for stokastisk støj, og klimaforudsigelser er derfor af natur probabilistiske,« forklarer Tim Palmer.

Når modellen og input ikke er eksakt, kan man godt leve med, at selve beregningen heller ikke er eksakt. Den besparelse, man får ved den unøjagtige beregning, kan i stedet med fordel anvendes til at bruge en model med mindre gitterafstand.

Ifølge Tim Palmer kan en unøjagtig beregning på en finmasket model være langt mere nyttig end en eksakt beregning på en grov­masket model.

Hjernen laver også fejl

Tim Palmer mener også, at unøjagtige computere med fordel kan anvendes ved andre komplekse ulineære systemer som dannelse af stjerner og galakser eller studiet af ustabiliteter i plasmaet i en fusions­reaktor.

Et særskilt interessant område er levende systemer.

I sammenligning med elektroniske computere er den menneskelige hjerne supereffektiv med et effektforbrug på kun 20 watt. Til gen­- gæld er signaler, der transmitteres mellem hjerneceller, følsomme over for deres egen termiske støj.

Støjen anses ofte som et problem, men den tilfældighed, der er forbundet hermed, er måske også en del af forklaringen på menneskelig kreativitet, mener Tim Palmer.

Efter hans opfattelse vil ikke- eksakte, energieffektive computere være nøglen til at forstå hjernens virkemåde. Hvorimod ethvert forsøg på at simulere eller modellere hjernen med en deterministisk computer vil være dømt til at mislykkes.

Palmer er ikke den første til at mene, at tilfældighed er at foretrække frem for determinisme, når det gælder efterligning af menneskelig intelligens.

»Det er smart at medtage tilfældighed i en lærende maskine,« skrev Alan Turing i sin berømte artikel fra 1950, hvor han også beskrev sit Imitation Game, som er grundlaget for Turingtesten til vurdering af om ‘maskinel intelligens’ kan skelnes fra menneskelig intelligens.

Find beskæringssaksen frem

Der findes flere metoder til at udføre ikke-eksakte beregninger ved lavt energiforbrug. En af dem kaldes probabilistisk beskæring.

Sammenligning af videosignaler, der har været behandlet med henholdsvis en normal chip (tv.) og chips med en fejl på op til 0,54 pct. (midten) og 7,58 pct. (th.). Kvalitetstabet ved den lille fejlrate er ikke til at se – ved den store fejlrate er kvalitetsforskellen synlig, men billedet er stadig anvendeligt til identifikation af personer. Chippen kan derfor i visse situationer anvendes med fordel, idet chippen, der laver billedet længst til højre, er 15 gange så effektiv med hensyn til hastighed, størrelse og energiforbrug som chippen, der laver billedet længst til venstre. (Foto: Rice University/CSEM/NTU) Illustration: Rice University/CSEM/NTU.

I de fleste moderne computere udtrykkes tal som et decimaltal beskrevet med 52 bit og en eksponent beskrevet med 11 bit og en enkelt fortegnsbit – i alt 64 bit.

Visse supercomputere under­støtter også den mindre nøjagtige 32-bit repræsentation, men ingen kommercielle leverandører tilbyder beregninger med mindre nøjagtighed.

En nøglekomponent i en computer er derfor et 64-bit additionskredsløb, som kan lægge to tal i en 64-bit repræsentation sammen. Additionskredsløb kan designes på forskellig vis, men det kræver typisk nogle få tusinde transistorer at lave et 64-bit additionskredsløb.

Probabilistisk beskæring går ud på at fjerne dele eller bortskære elementer i kredsløbet og dermed reducere energiforbruget.

Metoden til at vurdere, hvilke elementer der kan skæres væk, er dels, hvor ofte de aktiveres under beregningen, og dels den vægt, de har for nøjagtigheden. Elementer, der håndterer de mest betydende bit, kan således ikke fjernes.

Sammen med sin kollega Avinash Lingamneni fremstillede Krishna Palem på den måde i 2012 et probabilistisk beskåret 64-bit additionskredsløb.

En anden metode til ikke-eksakte beregninger kaldes voltage overscaling. Her er princippet, at man udfører beregninger hurtigere (ved en højere frekvens), end det er tilladeligt for at opnå eksakte beregninger. Det sparer energi i forhold til at have en chip, der er designet til den høje frekvens, men betyder også fejl.

Andre forskere har udviklet statisk random access memory (SRAM), der bruger otte transistorer i de celler, der gemmer de mest betydende bit, men kun seks transistorer i celler for de mindst betydende bit.

Bruger man overscaling-princippet på en sådan komponent, kan man spare ca. en tredjedel af effektforbruget i forhold til en SRAM udelukkende designet med seks transistorer pr. celle og benyttet på sædvanlig vis.

Upræcise komponenter kan derfor være løsningen på de energislugende computer, men de kan naturligvis ikke anvendes i alle situationer

John Shalf, der er afdelingsleder for Computer Science ved Lawrence Berkeley National Laboratory i Californien, sagde tidligere på året til New York Times:

»Ikke-eksakte beregninger kan måske bruges i situationer, hvor konsekvensen af en fejl er lille. Men det vil være problematisk, når man skal designe en bro eller drage afgørende konklusioner om klimasystemet.«

8 kommentarer.  Hop til debatten
Debatten
Log ind eller opret en bruger for at deltage i debatten.
settingsDebatindstillinger
7
17. november 2015 kl. 20:27

I normale computere (PC'er) er det ikke regnekredsløbet som forbruger energien. Men alt andet end regnekredsløb.

Jeg tvivler på der er stor gevinst ved at indføre regnefejl i kredsløbet, f.eks. indføre fejl i mentekredsløb. Måske kan spares nogle få procent, men næppe meget.

Måske kan man regne korrekt, og spare en del energi, ved at anvende færre bits nøjagtighed. Det tror jeg er en mere holdbar løsning. Også fordi, at vi her sparer strøm ved aflæsning af registre, cache osv. Og her ligger en stor del af forbruget. At aflæse det hele med 64 bits, og at indføre fejl i menten, tror jeg er dårligt... Det at aflæse en enkelt bit fra et register, kan godt tage ligeså meget energi, som den komplette beregning for en bit. Årsagen er, at der er en del kapaciteter der skal omlades, når der aflæses en bit - derimod er meget lidt omladning af kapacitet, i de komponenter der behandler en bit. Og denne kapacitet forbliver stort set ens, uanset regnefejl.

Skal vi lave "upålidelige" kredsløb, tror jeg mere på reduceret støjmargin, og mindre spændingssving. Mindre spændingssving, og transistorer der leder "lidt" hele tiden, giver mulighed for mindre størrelse på linjebredder, hurtigere transistorer der begynder at påvirkes af kvantemekanik, og i alt kan gevinsterne måske være større end den eventuelle fejl, som den reducerede støjmargien giver. På grund af kvantemekanikken, så vil en reduceret støjmargin kunne give få fejl, og måske bør vi gå tilbage til dengang, hvor fejl blev repareret - i hvert fald hvis vi vil have noget pålideligt.

Derimod at indføre logiske fejl, er en dårlig idé, fordi det er svært/umuligt at rette fejl, i forhold til en rigtig stokastisk støjfejl.

En computer, der regner forkert med rigtig stokastisk støj, tror jeg er langt mere holdbar, end en der regner forkert med logiske fejl. Også når der forudsiges vejret.

6
17. november 2015 kl. 10:27

Det er vel ikke sådan at der skal være regnefejl i billedet.

Regnefejl er blot ikke en hindring.

Overskriften siger "Computere med regnefejl giver de nyttigste resultater". Helt samme opstilling, hvor ingen af delene fejler, giver vel lige så nyttige resultater og lige så billige.

Regnefejl kan akcepteres, men er ikke et krav

5
16. november 2015 kl. 15:05

at princippet, med ikke at allokere mere regnekraft end nødvendigt til en given opgave, ikke er bedre kendt. I Digital Signal Behandling har vi benyttet os af kvantisering ved enhver given lejlighed, og vi har studeret kvantiseringsfejl - hvad de betyder - hvorledes vi maskerer dem - hvorledes vi laver dem smartest muligt - og andet relevant i flere fag. Og vi har knoklet med at lave smart kode, hvor al hardware i en given processor udnyttes, så det hele kører hurtigst muligt med lavest muligt strømforbrug. Men det er da rart at se, at diciplinerne ikke er gået helt af mode.

4
16. november 2015 kl. 09:53

Computerdesignere har kæmpet med eller rettere mod regnefejl siden John von Neumanns computere fra 1950’erne.</p>
<p>John Presper Eckert, der var med til at designe verdens første elektroniske computer, Eniac, under Anden Verdenskrig, har forklaret, at der opstod en fejl i et af de godt 17.000 ­radiorør omkring hver anden dag, og det tog 15 minutter at finde fejlen

- der forekommer givetvis mange slags 'fejl' i computere, hvoraf deciderede regnefejl formentligt er i klart undertal!(?).

3
16. november 2015 kl. 08:18

Rigtig god artikel. Det inspirerer til at lave et energiregnskab for en virksomhed: computere kontra opvarmning. Morsomt endvidere at vi mennesker er udstyret med en 'sparepære' på 20 Watt. Når så kvantecomputeren kommer, hvad bruger den så ? Et andet, simplere emne, jeg kunne tænke mig uddybet er, hvorfor moderne brændeovne forurener så lidt i forhold til gamle. Det er jo en meget gammel teknologi. Lad os få en artikel om det.

2
15. november 2015 kl. 22:59

Og det er måske slet ikke dårligt. Det svarer jo lidt til på forhånd at vurdere hvad indkøbet i supermarkedet bør koste. Den mest simple test er at se på det mest betydende ciffer, som helst bør være under 3.

1
15. november 2015 kl. 17:44

Virkelig god artikel igen fra Ramskov

Man bliver klogere af at læse den og får lyst til at søge mere viden fordi nysgerrigheden er blevet pirret.