Multicore wacht nog op software
Multicore is de toekomst voor processoren, maar de weg voorwaarts heeft nog wat hobbels. De software is er nog niet klaar voor en de ontwikkeltools ook niet. Een analyse van de benodigde omslag.
Processoren worden niet meer sneller, maar werken wel sneller. Dat eerste is te wijten aan grenzen voor hitte-afgifte en energieverbruik, het tweede is te danken aan multicore. Chips krijgen niet méér GHz, maar meer rekenkernen. Kernen die elk relatief langzamer of simpeler mogen zijn. Het totaal is dan beter.
Bovendien krijgen de cores in de praktijk juist meer optimalisatie ingebouwd voor efficiënte verwerking van instructies. Software kan daardoor beter, sneller draaien. Toch is er in theorie veel meer winst te behalen. Huidige programmatuur is namelijk vooral ontwikkeld voor 'rechtlijnige' uitvoering, dus door processoren met één kern. Multicore wordt dan niet efficiënt gebruikt. Conclusie: multicore is moeilijk. Tenminste, anno 2008.
Software struikelblok
Multithreaded software is voor servers al jaren gemeengoed. Dat soort programma's zijn te splitsen in verschillende delen die tegelijk worden uitgevoerd. Die verschillende delen moeten dan natuurlijk niet afhankelijk zijn van elkaars bewerking. Of de ontwikkelaar moet daar vooraf rekening mee houden en dus zijn code optimaliseren voor multicore.
Intel heeft jaren terug met zijn HyperThreading al een voorschot genomen. Die techniek in de Pentium 4-processoren, en diens servervariant Xeon, deed een single core-processor zich voordoen als een dualcore. Dit moest 'stilliggen' van die krachtige chip, met erg lange verwerkingslijn voor instructies, voorkomen.
Belangrijker doel was dat dit softwareontwikkelaars ertoe moest bewegen hun code van de grond af aan te bouwen voor multithreading. Sommige software bleek ook minder goed te draaien op processoren met HyperThreading ingeschakeld. Inmiddels is deze Intel-techniek achterhaald en ingehaald door (echte) multicore-processoren. Daarop is HyperThreading weliswaar mogelijk, maar de meerwaarde neemt af.
Meest geschikt
Complexe software zoals bijvoorbeeld een SOA (service oriented architecture) blijkt beter te draaien op multicore-chips. Een systeem met quadcore-processor presteert dan bijna twee keer beter dan een dualcore. De wet van afnemende meerwaarde komt echter om de hoek kijken bij verder doorschalen. Complexiteit eist dan zijn tol; bijvoorbeeld de overhead van de onderlinge afstemming tussen de cores kost dan steeds meer rekenkracht.
Wat is straks de prestatiewinst op acht cores, en op zestien, enzovoorts? Daar valt nog veel te verbeteren en liefst snel. Quadcore is zo langzamerhand gewoon en de vermenigvuldiging snelt voort. Intel voorspelt voor komend jaar al chips met tweeëndertig cores en het heeft al een prototype gedemonstreerd van een tachtig core-processor, dat overigens niet x86-compatibel is.
De meest geschikte toepassing voor multicore is op dit moment virtualisatie; elke virtuele machine kan een eigen core, of twee, gebruiken. Het daarop draaiende besturingssysteem en de daar bovenop draaiende applicaties kunnen dan volledig gebruik maken van multicore; elk gescheiden en ongewijzigd op een core. AMD en Sun hebben hun respectievelijke multicore-processoren specifiek voorzien van instructies voor betere virtualisatie.
Parallel ontwikkelen
Het ontwikkelen van efficiënte software voor multicore-processoren is niet makkelijk. Of: niet voor de meeste ontwikkelaars en de meestgebruikte tools. Beide voor wat nú gangbaar is. Vandaar ook de aandacht voor andere programmeertalen en tools. Enerzijds oudere klassiekers en anderzijds geheel nieuwe ontwerpen. Dan hoeft multicore niet moeilijk te zijn.
Software zal voortaan anders moeten draaien. En dus anders worden geschreven. Ict-leveranciers als Intel, Microsoft, Sun en IBM werken hier naar toe. Zo biedt Intel al jaren geavanceerde compilertechnologie en heeft het met Microsoft een gezamenlijk ontwikkellab voor parallelle programmatuur opgezet. De verwachting is dat dit werk aan de omslag nog wel wat tijd nodig heeft.
10-02 Raadsels rond computerstoring Groningen
09-02 'Ook met cookiewet is gebruiker niet anoniem'
07-02 Detron zoekt naar scherper profiel
07-02 De lange weg naar ERP
01-02 Imtech ICT hoort bij tien grootste dienstverleners
31-01 Infotheek profiteert van overjarige hardware
27-01 iPad is favoriet in de zakelijke markt
25-01 Recessie schrikt ICT-bedrijven niet af bij...
23-01 Boek belicht tien effecten van opkomst apps
20-01 'Oracle wil iPad van de bedrijfs-ICT worden'
10-02 Tester Four Oaks in Israëlische handen
10-02 Nieuwe software brengt Vitens in problemen
08-02 Nokia verplaatst smartphoneproductie naar India
08-02 'ICT-afdeling is te traag voor ontwikkeling apps'
06-02 Banometer: Topstart vacaturemarkt krijgt vervolg
06-02 Duitse PMCS.helpLine neemt Leidse MCH+ over
03-02 Siemens PLM Software introduceert Jack 7.1
03-02 Itemis betreedt Nederlandse markt via Warmer IT
01-02 Microsoft-partner Asapnet zet IT-University op
01-02 Kwaliteitscontroleur is nog geen testprofessional
|
|
23-09-10 Parijs bedrijf biedt uitweg uit multi-core crisis
26-04-10 Twente maakt parallelle processor zuiniger
08-01-09 Servers en applicaties groeien uit elkaar
22-12-08 OS moet schok parallel programmeren opvangen
28-10-08 Hulp in zicht voor ‘multithreaden’ van software
25-08-08 Intel geeft Visual Studio multicore-plugins
21-07-08 GHz-race blijft uit, multicore wint
09-07-08 Intel multicore-GPU gebruikt Pentium 1
22-06-08 Multicore hoeft niet moeilijk te zijn
27-03-08 Onderzoekscentra naar rekenmethoden voor multicores
05-02-08 Multicore is moeilijk
14-12-07 Multicore vraagt om nieuwe taal
07-11-07 Ontwerper C++: multicore vraagt om nieuwe taal
16-03-07 Multicore processors niet zaligmakend
14-11-05 Sun lanceert multicore Niagara-processoren
Gemeenten en ICT besparingen
Sommige gemeenten wijzigen hun autonome ICT omgeving in een samenwerkingsverband met als doel het verlagen van ICT......

