Computere regner forkert

Hvis du har gået rundt og troet, at computere er er logiske og deterministiske og derfor aldrig regner forkert, så har du taget fejl.

Den centrale regnedims i en computer, også kaldet en CPU, er blevet mere og mere fejlbehæftet i takt med, at antallet af transistorer er steget, nogen påstår endda, at chipproducenterne selv har mistet overblikket. Vi har således fået fugt i fundamentet og er truet af skimmelsvamp, det er på tide at få lagt dræn ind.

Prøv lige at tage et kig på Intels fejlliste og få syn for sagen. Og Intel er endda en af de chipproducenter, der er mest offentlige omkring det.

Jeg kan i flæng nævne: "Certain Combinations of AVX Instructions May Cause Unpredictable System Behavior" og "SMRAM State-Save Area Above the 4GB Boundary May Cause Unpredictable System Behavior"

Når man nærlæser Intels fejlliste, så bliver man efterladt med det indtryk, at det er lidt af et mirakel, hver gang en computer lykkedes at starte op. Og så læg lige mærke til, hvordan Intel har tænkt sig at rette fejlene op, med en "No Fix".

Kyllingestykker

Når man fremstiller chips, så har producenten nogle såkaldte "chicken bits", som teknikerne kan bruge til at tænde, slukke og justere dele af CPU'ens funktionalitet under test og Burn-In. Afhængig af antallet af transistorer på chippen, så kan antallet af disse kyllingebidder i dag overstige 100.000 stykker, og de er alle udokumenterede.

Faktisk bliver CPU'er i dag solgt med flere og flere af disse kyllingebidder sat, dvs. at selvom man har købt en splinterny CPU, så er det ikke sikkert, at den opfører sig optimalt, og der kan være forskel i funktionaliteten fra chip til chip, selvom de ser ens ud, når man holder dem i hånden.

Fejl, på fejl, på fejl...

Så vi har fejl i hardwaren, fejl i softwaren, fejl hos programmørerne og fejl i de teoretiske modeller – det er et fedt tidspunkt at være it-branchen på, vi bliver aldrig arbejdsløse. Det er, hvad det er, men hvad jeg er mest bekymret for, eller bange for, er alle slutbrugere. Altså dem der tager beslutninger på mine vegne med software, som de bruger ukritisk, og tilsidesætter menneskelig moral, normer og værdier.

Faktisk så kan NRA's uofficielle motto omskrives til en computerkontekst inden så længe. Så jeg har taget forskud på glæderne og designet en bumper sticker; hvis der er nogen der får den trykt, så send mig endelig et par eksemplarer.

Men intet er så slemt, at det ikke er godt for noget. Det har jo altid været et værre mas med at lave en ægte tilfældighedsgenerator, men nu er der heldigvis lys forude.

International Man of Computer Business. It- filosof, strateg og columnist. Hands-on problemknuser uanset teknologi og tager over, når eksperterne har givet op. Elsker lugten af brændt Pertinax om morgenen. Til hverdag er Gordon vigtigper i et mindre multinationalt it-firma.

Kommentarer (25)

Jens Jönsson

Med den stigende overvågning i vores samfund (http://www.version2.dk/artikel/nu-skal-politiet-til-automatisk-opsnappe-...) skal man ikke være bange længere.....

CPUen i computeren der registrerer hvor man befinder sig på et givent tidspunkt, regner forkert på GPS koordinaterne og kobler dermed en til en lokation, hvor der netop er begået et terrorangreb.....
Da der jo ikke er fejl i registreringen (systemet fungerer jo upåklageligt og politiet mener ikke det laver fejl), bliver man for evigt stemplet som DAESH sympatisør.....
Og det er selvom man bare er på vej hjem fra håndbold onsdag aften....

[.... en hel del ironi kan forekomme.... men også lidt kedelig alvor....]

Ivo Santos

Så er der kun en ting at gøre, og det kunne være at vende tilbage til sin gamle Commodore 64, eller en gammel 386 med windows 3.11 wfw!...

PS: Ironi kan forekomme!..

Ivo Santos

Den første pc jeg legede med var en brugt 40 mhz. 386, 4MB ram, og en 120 MB harddisk, har dog aldrig haft mulighed for lege med noget der var ældre end sådan en, altså udover en Commondore 64.
Det operativ system jeg kørte med på den pågældende 386 var DOS 6.22 samt Windows 3.11 wfw versionen, og til små hygge ting og leg var det sådan set en glimrende pc, hvilken er derfor jeg kom til at tænke på sådan en konfiguration.

I øvrigt så fik du mig til at grine af din 8086 kommentar! det må give mindst +2 fra min side.

Henrik Eiriksson

Al denne snak om chickenbits og gamle CPU'er får mig til at tænke: måske er computere blevet overkomplekse. Håber ikke dette er for off-topic.

"Fordi vi kan" mentaliteten indenfor it, er ved at æde verden. Men software folkene bør ikke blande sig i alt før de har prøvet at bygge en bro eller et hus.

Spørgsmål: "hvad skal denne #!%@ maskine kunne - sådan, for realz". Ikke alle lommecomputere behøver være general-purpose CERN-grade maskiner. Det meste processorpower i forbrugeres hænder bliver alligevel kun brugt til underholdning. Typisk at når markedet for en given seriøs teknologi mættes, vil fabrikanterne differenciere på underholdnings-features.

Indskyder lige et et filosofisk spørgsmål: vil vi løse vores problemer - eller vil vi bare underholdes.

OK, tilbage. Har alle brug for shiny, underholdende, GPU-intensiv grafik? Hvad er trend'en? Apple er gået fra 3D regndråbe-knapper og vandløbs-scrollbar's til 2D. Kan folk stadig bruge softwaren? Åbenbart. MS er også gået 2D. Virker stadig.

Indenfor forretningssoftware kan de fleste formål klare sig med et TUI. Seriøst.
De fleste UI situationer kræver blot at man viser en formular og håndterer bruger-input. Hvor bred en bus kræver det lige? Plus, computeres multitasking og "piiing" kan være en dræber når koncentration er påkrævet.
Banker, for eksempel, kører langt hen ad vejen på ren TUI. Skal du bruge et lån? Skærmbillederne dertil har et veldefineret flow hvor man tabulerer mellem felter. Jeg kender en ingeniør virksomhed som på 20'ende år baserer sine komplicerede udregninger på et DOS regneark. Det opfylder formålet, går aldrig ned og regner rigtigt hver gang. Det kørte i årevis på en 286. De prøvede Excel men gik tilbage. Da jeg købte en lejlighed, brugte min advokat Word Perfect 5.1. Det var lige efter Y2K. De udskrevne dokumenter var aldeles læsbare.

Mit yndlings UI eksempel: synthesizere og trommemaskiner. De har ofte små LCD-display - taget i betragtning at det er maskiner der skal befordre kreativitet - men de er (ofte) fabelagtigt intuitive at bruge. Det skyldes et *virkelig gennemtænkt arbejds-flow - og en åben erkendelse om at maskinen ikke også skal kunne vaske op.

Det blev til lidt af et rant... Måske er jeg bare halvgammel og uimponeret ;-)

[] *Yamaha DX7 var banebrydende, men en total UI #FAIL og umulig at programmere - og derfor lyder al 80'er synth musik som dens presets. Men trods det, blev der blev sgu' da skrevet nogen sange i 80'erne.

Ditlev Petersen

Nu er du jo næsten maskinstormer. Men jeg er enig.
Og alt det skrammel fylder i lageret. Det gør bærbare apparater dyrere (og kræver idelige udskiftninger) samt dræner batteriet. Til gengæld ville computerindustrien gå under, hvis en computer bare fungerede og ikke skulle udskiftes til noget kraftigere hele tiden. Jeg ved ikke, om det økonomisk kunne fungere med "spil for sig og snot for sig", jeg tror det ikke.
Der er ikke så mange ting, jeg roder med, der kræver stor kraft. Antivirus bliver tungere og tungere og vil tvinge mig til at købe en ny maskine inden så længe. Men det er fjollet, når mine to kerner som regel arbejder under 10%.

Henrik Eiriksson

Maskinstormer?. Overhovedet ikke ;-) Elsker teknologi og har arbejdet med udvikling indenfor it hele min karriere. Problemet, som jeg ser det, er at it branchen har fået lov at være ren legestue på alles bekostning. Det ses på de mange kæntrede it projekter og det er blevet pinligt. It-havarikommission anyone?

Guilty as charged. Jeg har leget mig udmattet og det har været vildt sjovt. Men jeg er begyndt at spørge før jeg koder: er det her nødvendigt og hvor simpelt kan det gøres? (aka. "framework-fatigue")

En øjenåbner for mig har været at udvikle på en hardware dims der har flere funktioner. Baseret på en lille Atmel CPU (1kb RAM) og med kun 1 dreje/tryk-knap, 2 lysdioder og nogle 7-segment displays som UI, kræver det at jeg tænker dybt over brugeroplevelsen :-) Igen, ved musikken: Korg's Kaossilator er et godt eksempel på et gennemtænkt UI med lign. betjeningsgrænseflade.

En IBM chef udtalte i 1943 at "verden har ikke brug for mere end 5 computere" og det er ikke langt fra virkeligheden i dag hvor brugernes multi-core enheder stort set bruges som terminaler op mod nogle få massive datacentre (google, facebook etc.). Well, enten det, eller som spilkonsoller ;-)
Vi startede med få store mainframes og tilkoblede terminaler. Siden kom der en computer på hvert skrivebord og omkostningen ved software-fejl reduceredes til 1 pissed-off person kontra at hele virksomheder gik i stå - og nu er vi tilbage til mainframe-modellen som snedigt kaldes "cloud" for at camouflere overfor forbrugerne at vi blot er kommet full-circle.

Suk...

Gordon Flemming Blogger

Henrik,

Jeg syntes du har ramt plet med dit UI indlæg. Jeg tror at grafik udviklingen indenfor business software er drevet af lederes behov for at visualisere data, de elsker jo at flyve gennem 3D datamodeller. Desuden har grafik den virkning at man føler sig mere klog jo mere crap der er på skærmen, også selvom man ikke forstår det, men det kan kollegaerne jo ikke vide, de tror man er en eller anden slags troldmand.

Mht. gaming, hvis jeg spillede i dag, så tror jeg nok jeg ville vælge en dedikeret maskine til det f.eks. en spillekonsol.

Jeg tror generelt der er noget om den gamle snak med "Ingen vil nogensinde få brug for mere end 640K", hvis det ikke var for alt det grafik.

Jeg havde også en Yamaha sampler/sequencer, med samme LCD display, man kunne bruge timevis på at programmere den og det drev en til vanvid, og hvis man slukkede for den, så var alt tabt, og nej - det var ingen "save" ;-)

Og jeg venter stadig på at en eller anden laver et library, der kan emulere eftergløden af en IBM 3270.

Ditlev Petersen

Og jeg venter stadig på at en eller anden laver et library, der kan emulere eftergløden af en IBM 3270.


Og fastbrændte tegn som skygger?

Nogle gange er det nu rart med mere end 640 k, hvis ikke man skal trashe disken. Hvis man f.eks. arbejder med billeder, film eller dtp. Mere nostalgiker er jeg ikke. Men at sidde og finde på snedige ting med en streng (i BASIC naturligvis) for at undgå vild læsning på disken, og få programmet til at køre vanvittigt hurtigere, det er en god skole, også når man står med moderne maskiner.

Søren Harder

Måske drejer det sig bare om at vi skal anerkende at matematikken ikke er det uindtagelige slot som formalisterne inden for matematisk logik (Russell/Whitehead) prøvede at gøre det til. Principia Mathematica kuldsejlede da Gödel kom på banen. Og udenfor diskussionen af matematikkens grundlagsproblemer, har det også vist sig, at det måske i virkeligheden ikke er så relevant. I kognitiv psykologi har man bl.a. bevæget sig fra aristoteliske kategorier til kognitiv semantik (Lakoff/Johnson), i sprogvidenskaben fra generative grammatikker til datadrevne og statistiske metoder, i filosofi er man begyndt at se, at der ikke er en modsætning mellem Wittgensteins tidlige "logiske" filosofi og hans senere filosofi, men at de to faktisk hænger sammen (Kripke om regelfølge). Bevidsthedsfilosofien har bevæget sig fra cartesiansk dualisme til evolutionær funktionalisme (Dennett) og kunstig intelligens har bevæget sig fra computerfunktionalistisk algoritmisk "Real Artificial Intelligence" til Rodney Brooks behaviour-based robotics. Måske skal vi anerkende, at computere der er formelt fejlfrie, bare er legetøj, mens computere der kun tager fejl på den rigtige måde, er fremtiden. (Undskyld for den megen namedropping, men det er den eneste måde jeg kan tegne det større billede jeg tror der er ved at vise sig).

Gordon Flemming Blogger

Søren,

vi skal anerkende

Det kræver at man revurderer noget mentalt tankegods der er hundrede af år gammelt. Da vi kender menneskets genetiske behov for at søge tryghed i det familiære, kommer det ikke til at ske.

at computere der er formelt fejlfrie, bare er legetøj, mens computere der kun tager fejl på den rigtige måde, er fremtiden.

Det lyder som en rigtig god anerkendelse.

Undskyld for den megen namedropping, men det er den eneste måde jeg kan tegne det større billede jeg tror der er ved at vise sig

Det gør ikke noget, det er jo det folket godt kan lide. For jo flere der mener det samme, jo mere rigtigt må det være.

Andy Fischer

Der har været fejl i processorer til alle tider, og åbenhed omkring det er en forholdsvis ny ting. Jeg startede med at kode maskinkode på Z80 for meget snart 40 år siden, og har fulgt de forskellige processorer op til i dag. De har alle haft både små, og meget alvorlige fejl.

Tilbage i firserne og halvfemserne var det ofte programmørernes opgave at finde fejlene, hvorefter producenterne konsekvent nægtede tilstedeværelsen af problemet. Helt op til slutningen af halvfemserne var en af de største producenter helt lukkede, og truede stort set alle som påpegede selv små fejl med store sagsanlæg. Man kunne kun få faktiske oplysninger, hvis man accepterede at underskrive meget vidtgående non-disclosure-agreements.

Der var en enkelt amerikaner som kæmpede en hård kamp mod en enkelt producent, men jeg kan simpelthen ikke længere huske hans navn, men det fyldte en del i Dr. Dobbs Journal i den periode.

Jørn Thyssen

Jeg ved godt at IBM mainframes ikke just er populære herinde, men de chips der benyttes har indbygget checkpoint & recovery, og hvis der opdages fejl så køres instruktionen igen. Ved persistente fejl så markeres core'n som fejlramt og en spare core indsættes i stedet. Programmet der kørte på den pågældende core afvikles automatisk på en anden core.

Memory på mainframes er RAIM (Redudant Array of Independent Memory) ækvivalent til RAID. RAIM sørger for at maskinen kan opdage og overleve en lang række fejl i både memory chips og controllers.

Bent Jensen

IBM mainframes ikke just er populære herinde


Ved ikke, de har været med til at sætte mange standarder, i sidste ende også for PC-en.
De glemte så lige at patentere og beskytte den, en af grundene til at det blev en default standard, da de ikke have
set dens udbredelse, ligesom OS dertil heller ikke blev inkorporeret (DOS og MS).
Deres EISA bus blev på samme grundlag aldrig en stor succe, da IBM have patentere denne.

Tror mere at mainframes ikke er populære, ikke er på grund af IBM som i deres storhedstid have meget grundforskning, og drev og driver en sober virksomhed. Men mere er baseret på nuværende sikkerhedsspørgsmål og pris på selve hardware og Software ?

Log ind eller opret en konto for at skrive kommentarer