Dankzij Moore's Law en het groeiend aantal van steeds kleinere transistors per chip brengen microprocessorbouwers nu al jarenlang alsmaar krachtiger producten uit voor servers, pc's desktops en notebooks.
...

Dankzij Moore's Law en het groeiend aantal van steeds kleinere transistors per chip brengen microprocessorbouwers nu al jarenlang alsmaar krachtiger producten uit voor servers, pc's desktops en notebooks. Helaas groeide ook de stroomhonger van die processoren, zodat het lastiger werd ze op goedkope wijze te koelen. Bovendien kwamen de ontwerpers aan het einde van hun latijn om met extra intelligentie in de verwerkingskern nog wat meer efficiëntie uit de chip te persen, terwijl zich ook geheugentoegangsproblemen aandienden. In de jaren negentig werd dan ook bestudeerd hoe het gebruik van verscheidene, individueel allicht minder krachtige 'cores' in een zelfde chip de groei van het verwerkingsvermogen van microprocessoren konden bestendigen voor gebruik in de systemen van alledag (1). De verschillende ontwerpers van microprocessorchips - IBM, Sun, Intel, AMD - bewandelden hiervoor verschillende wegen, en de meeste lezers maken daarvan wel al gebruik in een of ander product. 'Multicore'(ook aangeduid als chip[-level multiprocessor / CMP) is dan ook een bijzonder breed begrip, dat kan gaan van 'meerdere volledig gescheiden processoren in een zelfde verpakking' langs 'meerdere verwerkingskernen met gedeeld cachegeheugen' tot 'meerdere kernen, multithreading en gedeelde cache'. Die 'cores' behouden voorts heel wat van de mogelijkheden van single-core processoren, zoals 'pipelining' en 'multithreading'. Bij Sun Microsystems heeft Denis Sheahan, distinguished engineer, hier een kijk op als expert inzake Suns multicore, multithreaded architectuur. Sun heeft momenteel al een drietal generaties multicore Sparc-processoren onder de riem, met zowel een eerste als tweede generatie Niagara processor (in de UltraSparc serie), als de 'Rock' (een nieuwe top-end processor met 16 en meer cores, verwacht in 2009). Sun omschrijft zijn aanpak als CMT (Chip MultiThreading). In die verschillende generaties heeft Sun oplossingen gecreëerd voor onder meer geheugentoegangsproblemen en het blokkeren van threads, niet zelden door een aangepaste hardwareondersteuning in de processor. Een en ander zorgt ervoor zoveel mogelijk threads tegelijkertijd actief te hebben per core, terwijl ook hardwareondersteuning voor virtualisering wordt geboden (onder meer voor het gebruik van 'logical domains). Boven de ronduit zonnige toekomst van de multicore microprocessoren hangt wel nog een zware donderwolk. Al sinds de begindagen van computers met parallellizerende mogelijkheden, hebben de softwarebouwers hier moeilijkheden mee. Voor een programmeur belichaamt elke computer nog in wezen het von Neumann computermodel, met een enkele processor die een stroom van sequentiële instructies uitvoert en verbonden met een onverdeeld geheugen dat alle data bevat. Het gevolg is dat "software het vandaag echt moeilijk heeft," meent Sheahan, "De huidige generatie softwarebouwers moet echt worden geleerd hoe toepassingen te laten doorgroeien" op multicore systemen. Een aantal toepassingen kunnen zo'n doorgroei wel aan, zij het dat het dan vaak een betere vorm van multitasking betreft. Maar daarnaast zijn er heel wat toepassingen die op een single processorbox werden geconcipieerd en nooit bedoeld waren om door te groeien. Ze werden niet geschreven met het oog op paralellizering of het betreft toepassingen die zich hiertoe niet lenen. Kortom, "er moeten voldoende 'incentives' zijn om de ontwikkelaar zo ver te krijgen dat hij of zij de softwareontwikkeling anders aanpakt." Voorts ontbreekt het nog aan tools en hulpmiddelen om de doorsnee ontwikkelaar hierbij te helpen. Helaas lijken de makkelijke oplossingen nog niet voor het grijpen, integendeel. Kunle Olukotun, professor en onderzoeker aan de Stanford universiteit, had het recent zelfs over "een crisis, en ik vraag me af of wat we doen en wat er gebeurt in de industrie niet te weinig, te laat is." Een opmerkelijke uitspraak van een prof die ooit een bedrijf oprichtte - Afara - waarvan de technologie aan de basis lag van Suns Niagara processorfamilie. (1) Het artikel 'rationale and design of the Hydra multiprocessor' van Kunle Olukotun et al. (1994) illustreert deze problemen en schetst een eerste multi-microprocessorontwerp met de Hydra. (http://ogun.stanford.edu/~kunle) Guy Kindermans