Multicore-processors: Programmeurs aan de bak
De manier waarop ze jarenlang de processors van meer transistoren hebben voorzien en de kloksnelheid hebben opgevoerd tot bijna 4 GHz, heeft geleid tot dermate hete chipoppervlakken, dat de koeling een probleem begint te worden, evenals het stroomverbruik. De oplossing: minder ‘opgevoerde’ processors, maar dan in veelvoud op een en hetzelfde chipoppervlak: multicore-processors. Wie denkt dat de verwerkingscapaciteit van de computer op deze nieuwe manier is te vergroten zonder consequenties voor de software, heeft het mis. De gedachte dat de softwaretaken op een computer met een multicore-processor simpelweg over de afzonderlijke chipkernen te verdelen zijn, gaat vaak niet op. Wie bij een grote supermarkt zijn boodschappen over alle beschikbare kassa’s verdeelt, zal ook merken dat het niet sneller gaat. Veel software die ‘gewend’ is op eenkernige processors te draaien, zal op een multicore-processor gewoon een van de kernen uitkiezen en daar met hetzelfde tempo zijn instructies ten uitvoer brengen – of eigenlijk op een iets lager tempo, want de afzonderlijke cores werken op relatief lage snelheid om het energieverbruik en de warmteontwikkeling te drukken. Kortom: veel software zal moeten worden aangepast om in aparte ‘threads’ uitgevoerd te kunnen worden. Dat wordt de grote uitdaging van de komende tijd, zegt Gartner-analist Carl Claunch. Vraag de programmeurs van nu om parallelle, ‘multithreaded’ applicaties te maken en ze zullen je vaak glazig aankijken. Ze zijn gewend hun programma’s te schrijven als sequentiële monolieten, die steeds maar ééns instructie tegelijkertijd uitvoeren volgens een door henzelf vastgesteld pad – zelfs als ze een objectgeoriënteerde taal gebruiken. “Met elke verdubbeling van het aantal processorkernen zal daardoor het ‘glazen plafond’ in capaciteitsbenutting lager komen te liggen”, aldus Claunch.