Varken ARM eller x86 vinner
I början av nittiotalet var kampen hård om vem som skulle bli framtidens datortillverkare och vilken processorarkitektur som skulle vinna. Bäst odds hade förmodligen Sun, Digital Equipment och IBM, med datorer baserade på Sparc, Alpha respektive PowerPC. Ingen av dem vann.
Idag talar många om kampen mellan ARM och x86, möjligen med RISC V som uppstickare. Förmodligen kommer ingen av dem att vinna. I stället ser vi början av den stora och svåra övergången till domänspecifika arkitekturer och domänspecifik mjukvara. Det blir en gigantisk omvälvning.
Som för femtio år sedan
Under årens lopp har jag skrivit en hel del om processorarkitekturer och datorprestanda. Många kommer nog ihåg steget från CISC till RISC och alla har väl sett utvecklingen mot flernivåcachar och flera processorkärnor på samma chip.
Ändå är kanske det märkligaste att så lite har hänt på arkitektursidan de senaste femtio eller sextio åren. När jag kom in i elektronikbranschen i slutet av sjuttiotalet var mikroprocessorn sju år gammal, men den grundläggande datorarkitekturen hade egentligen inte förändrats sedan sextiotalet. Operativsystemet Unix har också sina rötter i sextiotalet och steget från femtiotalsspråket Fortran till det modernare PL/1 och C kom på sextiotalet.
När det gäller pris, energiförbrukning och storlek är det naturligtvis en himmelsvid skillnad mellan femtio- och sextiotalets datorer och dagens små, snabba och billiga datorer, men grundarkitekturen har inte ändrats särskilt mycket. Det har räckt ganska bra med förfining, integration och snabbare klockfrekvens.
Tog stopp vid sekelskiftet
Eller rättare sagt – det räckte ganska bra fram till sekelskiftet. Ungefär då slog klockfrekvensen ”i taket” och prestanda för en enskild processorkärna började plana ut.
De flesta har säkert märkt att mikroprocessorer sällan har klockfrekvenser särskilt mycket över 3 GHz. Det finns utmärkta skäl till det. Efter att 3 GHz-gränsen uppnåddes har det mesta handlat om effektivare minneshantering, acceleratorer och fler processorkärnor per komponent.
Amdahls lag
Att addera fler processorkärnor är naturligtvis det enkla och självklara sättet att öka prestanda. Med dagens tillverkningsprocesser går det utan vidare att lägga hundratals processorkärnor på ett chip. Men det är en helt annan sak att få prestanda att öka i takt med antalet processorkärnor.
Här kan vi återigen gå tillbaka till sextiotalet. Redan 1967 beskrev datorforskaren Gene Amdahl problemet med parallella datorarkitekturer. Det brukar kallas Amdahls lag och gäller fortfarande, helt enkelt för att datorarkitekturerna i grunden är desamma som på den tiden.
I praktiken innebär Amdahls lag att ett enskilt program inte kan dra nytta av särskilt många parallella processorer. Med fyra processorkärnor får man ungefär 2,5 gånger bättre prestanda. Därefter planar prestanda snabbt ut och det blir meningslöst att lägga till fler processorkärnor.
Däremot är det förstås lönsamt att lägga till fler processorer för att köra flera parallella program, men det är en helt annan femma. En serverhall med många tusen processorer kan köra tusentals virtuella datorer på ett effektivt och lönsamt sätt. Men när ett enskilt program slagit i taket finns inte mycket att göra.
Nittiotalet
På nittiotalet fanns det gott om företag och uppfinnare som ville ta tag i problemet och skapa ”riktiga” multiprocessorsystem med generella processorer för generella tillämpningar. Men den utvecklingen hindrades av flera faktorer.
Den viktigaste faktorn var väl att processtekniken samtidigt tog ett stort språng. Det blev möjligt att driva upp klockfrekvenserna från ett par hundra MHz upp till ett par GHz. Dessutom utvecklades snabba grafikacceleratorer. Tillsammans löste det de akuta problemen och den tänkta övergången till multiprocessorer sköts effektivt i sank.
Äntligen något nytt
Och varför skulle då tiderna förändras just nu?
Det hela är egentligen väldigt enkelt. Prestanda för generella processorer har inte ökat på väldigt länge och det finns inget som tyder på att något nytt kommer att hända på den sidan. Vanliga x86-processorer eller ARM-processorer duger hyfsat bra så länge inget nytt händer.
Men något nytt har redan hänt. AI-tekniken håller på att växa ur barnskorna och vanliga processorarkitekturer är redan alldeles för ineffektiva. Det går fortfarande att dela upp uppgifterna och köra i serverhallar, men alla vet att tiden håller på att rinna ut. Nya arkitekturer, baserade på massivt parallella vektorprocessorer, DSPer, GPUer och FPGAer kommer hela tiden.
Fordon betalar
De närmaste åren är det sannolikt fordonsindustrin, övervakningsindustrin och mobiltelefonindustrin som både ställer krav och betalar. Det sista är viktigast. Äntligen finns det flera områden med massor av pengar som inte bara har råd att betala. De måste betala för att få fram teknik som går att använda.
Det här har redan satt fart på alla världens elektronikföretag. Nästan fyra gånger så mycket pengar går idag till uppstartsföretag på halvledarsidan inom AI och maskininlärning än till motsvarande företag inom telekom/5G. I Kina investeras ofattbara belopp på att ta ledningen i AI-racet. Just nu handlar det om kanske sex eller sju gånger mer än närmaste konkurrent (Silicon Valley). Europa är knappt urskiljbart och klart mindre än Israel.
Jag återkommer med en krönika om de regionpolitiska effekterna av den här utvecklingen. De är på många sätt skrämmande. Men helt klart är i alla fall att det investeras otroligt mycket pengar just nu och inget pekar på att investeringarna kommer att minska. Tvärtom lär de öka ännu mycket mer.
Skiftet kommer
Vi står alltså inför en mycket intressant tid. Nya arkitekturer och ny mjukvara kommer att utvecklas parallellt. Till att börja med handlar det om domänspecifika arkitekturer för olika typer av AI-tillämpningar, men det finns ingen som helst orsak till att det skulle stoppa där.
Jag skulle alltså tro att det stora skiftet äntligen är på väg. Det kommer att ta några år, men efter hand lär de gamla trotjänarna från sextio- och sjuttiotalet reduceras till att hantera hushållstjänster, ”housekeeping”. Det gäller både de gamla mikroprocessorerna och de gamla operativsystemen. Det verkliga arbetet utförs av domänspecifik hårdvara och domänspecifik mjukvara.
Förmodligen står vi inför det största teknikskiftet på femtio år.
Visst är väl det intressant.
Filed under: Göte Fagerfjäll
Hej Göte
Jätteintressant krönika. Tack
Jag har sett flera olika användningar av begreppet domänspecifik arkitektur/HW/SW mm. Kan du förtydliga vad du avser med begreppen i din krönika?
Gärna också vad du väger in i ”AI-racet” avseende processor-arkitektur
Hälsningar
Magnus
Hej,
En allmän artikel i ämnet hade varit mycket intressant. Lutar det år ”grafikgänget”, eller vad finns för andra intressanta spår?