Naar de content

Computers zijn in de afgelopen tientallen jaren duizenden malen sneller geworden. Dat was onder andere mogelijk door steeds meer transistors op een chip te proppen en de opdrachten er sneller doorheen te jagen. Inmiddels loopt deze ontwikkeling tegen grenzen aan. Hoe maken we nóg snellere computers?

Vroeger was het simpel. ‘Mijn computer heeft meer megahertz dan de jouwe dus is hij sneller.’ De kloksnelheid, oftewel het tempo waarin een computer opdrachten achter elkaar uitvoert, was in grote mate bepalend voor de snelheid van een computer. Werden pc’s in 1995 uitgerust met processors die rond de 100 megahertz klokten (dat staat voor 100.000.000 tikken oftewel berekeningen per seconde), bijna tien jaar later was dat verdertigvoudigd tot ongeveer 3 gigahertz. De ontwikkelingen gingen zo snel dat je computer al bijna verouderd was als je er de winkel mee uit liep.

Een grafiek die de verschillende ontwikkelingen in processors van een computer weergeeft.

De verschillende ontwikkelingen in processors laten rond het jaar 2004 een stagnatie zien. Vergroot voor meer uitleg.

IEEE Computer Society

Achter de schermen groeide ook het aantal transistors, oftewel schakelingen, van processors. Deze twee ontwikkelingen waren de belangrijkste redenen dat pc’s steeds krachtiger werd en meer taken kon overnemen.

En hoewel de vraag naar steeds snellere processors onverminderd groot is gebleven zijn chipfabrikanten bruut tegen de grenzen gebotst van wat mogelijk was. Zo heeft de kloksnelheid zich bijna tien jaar geleden rond de 3 gigahertz genesteld en lijkt daar nauwelijks meer vanaf te komen. Een belangrijke reden daarvoor is de warmteontwikkeling in de chip die bij hogere snelheden steeds verder toeneemt. Op een gegeven moment zijn koelplaten en ventilators niet meer afdoende om de warmte van de processor weg te voeren.

Met het bereiken van deze fysische grens leken prestaties processors in eerste instantie achter te blijven, ondanks dat er nog wel rek zat in het aantal transistors dat een chip kan bevatten. “Vroeger was er eigenlijk een direct verband tussen het aantal transistors op een chip en de prestaties van de processor”, zegt Bernard van Gastel die promoveert op de afdeling Computer Science van de Open Universiteit. “Dat geldt tegenwoordig niet meer. Je kunt chips nog best uitbreiden met meer transistors, en dat wordt ook gedaan, maar dat wil niet meteen zeggen dat hij daardoor ook sneller wordt.”

Er viel Gordon Moore in 1965 iets op. Hij was al jaren werkzaam in de chipindustrie en zag dat het aantal transistors op chips in de voorgaande jaren elke 12 maanden ruwweg was verdubbeld. Hij beschreef zijn observatie in een inmiddels bekend artikel en voorspelde dat deze trend tot ten minste 1975 moest kunnen doorgaan.

Hoewel de voorspelling in 1970 iets werd bijgesteld tot een verdubbeling eens in de 24 maanden blijkt hij tot op de dag van vandaag houdbaar. Zaten er in het begin van de jaren ’70 van de vorige eeuw nog enkele duizenden transistors op een chip, tegenwoordig zijn enkele miljarden transistors standaard.

De Wet van Moore begon als een constatering maar functioneert tegenwoordig meer als een doel op zich. De chip-industrie probeert de wet bij te benen, en lijkt daar de komende jaren nog wel in te kunnen slagen.

Miljarden transistors gepropt op een oppervlak van pakweg 2 bij 2 centimeter. Ze zijn dan ook onzichtbaar voor het blote oog. Alleen de grove structuren van de chip (bijvoorbeeld cores en geheugen) zijn te ontwaren.

Advanced Micro Devices, Inc. (AMD) via CC BY 3.0

Meer is soms beter

Om toch nog snellere processors te maken zag de industrie zich genoodzaakt een nieuwe weg in te slaan. En sindsdien vliegen zogenoemde dual-, quad- en octacores ons om de oren. Zoals de naam al zegt zijn deze processors uitgerust met meerdere cores, oftewel rekeneenheden die individueel een berekening kunnen uitvoeren. Zo kunnen ze twee, vier, acht of meer berekeningen tegelijkertijd uitvoeren. En daarmee werken deze processors fundamenteel anders dan hun voorgangers die alle berekeningen één voor één uitvoeren.

Meer is beter zou je kunnen denken. Als je vier kanaaltjes hebt waar je berekeningen doorheen ‘stromen’ dan kun je ook vier keer zoveel verwerken. Toch is het niet zo simpel. “Om de volledige kracht van zo’n processor te kunnen gebruiken loop je al makkelijk tegen problemen aan”, zegt Van Gastel. “Alle berekeningen die normaal gesproken achter elkaar plaatsvinden moeten nu opeens razendsnel opgedeeld worden en later weer bij elkaar gevoegd worden tot een samenhangend geheel, en dat is lastig. Het werken met zo’n chip vergt eigenlijk een andere manier van denken, niet alleen voor de mensen die processors ontwerpen, maar bijvoorbeeld ook voor programmeurs die software voor deze computers maken.”

Daar voegt Van Gastel nog aan toe dat de snelheidswinst bij een processor met meerdere cores afhangt van het soort berekeningen dat je hem voorlegt. “Beeldbewerking is bij uitstek geschikt om parallel uit te voeren. Je kunt bijvoorbeeld elke core een nieuwe pixel in een plaatje laten berekenen. De cores werken dan onafhankelijk van elkaar. Maar gaat het bijvoorbeeld over het ontcijferen van een code voor een beveiligde website dan schiet je niet zoveel op met meerdere cores. In die gevallen kan een berekening meestal pas gestart worden als de vorige voltooid is. De cores zitten dan feitelijk op elkaar te wachten, waardoor de mogelijke snelheidswinst in rook opgaat.”

Verkeersregels op de chip

Daarnaast is er met meerdere cores ook een nieuwe reeks aan problemen opgedoken. Zo moeten ze bijvoorbeeld met elkaar communiceren. Even een extra draadje aanleggen, zou je zeggen, maar dat is moeilijker dan het lijkt. Zeker als het gaat om meer dan vier cores. Dan moeten draden noodgedwongen over elkaar heen lopen en juist dát proberen chip-ontwerpers uit alle macht te vermijden omdat dit veel extra productiekosten met zich meebrengt.

Net als het gewone verkeer moet het dataverkeer op chips in goede banen geleid worden. Een boodschap moet kosten wat kost op de bestemming aankomen.

flickr.com, Paul Jansen via CC BY-NC-ND 2.0

Een oplossing hiervoor is het creëren van een soort netwerk van cores, waarin niet elke rekeneenheid een apart draadje heeft met elke andere eenheid maar waarin ze via elkaar communiceren. En dat is precies waar Van Gastel en collega’s zich mee bezig houden. Julien Schmaltz, universitair docent Computer Science aan de Open Universiteit, zegt: “Wij proberen manieren te vinden om het datatransport op zo’n geavanceerde chip in goede banen te leiden. En hoe meer cores je hebt, hoe lastiger dat is.”

Van Gastel en Schmaltz zeggen dat het een drukte van jewelste kan zijn in zo’n netwerk en dat vergt regels, zoals het drukke stadsverkeer ook regels nodig heeft. “Het kan bijvoorbeeld gebeuren dat er op een punt in het netwerk verschillende boodschappen aankomen”, zegt Schmaltz. “Uiteindelijk moet één van die boodschappen voorrang krijgen, net als twee auto’s op een kruispunt.

Wat we in ieder geval uit alle macht proberen te voor komen is een zogenoemde deadlock, waarin er van alle kanten berichten aankomen op een kruispunt die elkaar allemaal blokkeren. Vergelijkbaar met een gelijkwaardige kruising waarbij van alle kanten auto’s aankomen en elkaar blokkeren.”

Een ‘lockdown’ in het verkeer. Wie heeft er voorrang?

Bernard van Gastel

Langer leven voor de Wet van Moore

Voordat het zover is dat grote aantallen cores via gestroomlijnde netwerken met elkaar communiceren moet eerst worden uitgezocht hoe het dataverkeer op z’n chip goed gaat. Schmaltz: “Essentieel voor de goede werking van een processor is dat de boodschappen tussen cores hun bestemming bereiken, en in veel gevallen ook nog eens een bepaalde volgorde. Wetenschappers zoals wij zijn druk bezig om theorieën en methodes te ontwikkelen om dat in goede banen te leiden.”

Van Gastel vult aan: “Ons huidige onderzoek wordt door chipfabrikant Intel betaald, maar de resultaten zijn openbaar. Zo moet uiteindelijke iedere chipontwerper er vruchten van kunnen plukken, want eigenlijk zit iedereen met dezelfde problemen als er grote aantallen cores in een processor zitten.”

Hij denkt overigens dat het nog wel even kan duren voordat zijn fundamentele onderzoek aan processors terug te vinden is in producten die in de winkel liggen. “O, dat duurt nog minimaal 10 tot 15 jaar. Maar het belangrijkste is dat processors sneller worden en tegelijkertijd foutloos blijven.”

Met het onderzoek van Van Gastel, Schmaltz en collega’s kan de Wet van Moore wellicht nog een langer leven beschoren zijn. Maar misschien moeten we dan niet meer het aantal transistors op de chip tellen, maar het aantal cores.

Verschillende processors van Intel naast elkaar.

flickr.com, Intel Free Press via CC BY-SA 2.0