Download whitepapers, case studies
en onderzoeken over ICT-onderwerpen
Computable IT Knowledge Base
  Dagelijks het laatste
ICT-nieuws in je inbox?
Computable e-mail nieuwsbrief

Infrastructuur / Achtergrond

23-07-2008 08:30 | Door Jasper Bakker | Tags: Applicaties, Chips, Multitasking, Servers, Software, Programmeertalen | Gerelateerde bedrijven: AMD, IBM, Intel, Sun Microsystems | Er is 1 reactie op dit artikel | Permalink

Multicore wacht nog op software

Dunnington sixcore multicore Intel processor

Multicore-processoren zijn er, maar programma's die er efficiënt op draaien nog niet.

Multicore-processoren zijn er, maar programma's die er efficiënt op draaien nog niet.

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

virtualisatie

Totdat software écht goed multithreaded is, heeft virtualisatie het meeste nut aan multicore.

Totdat software écht goed multithreaded is, heeft virtualisatie het meeste nut aan multicore.

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.

bekijk reacties (1) print stuur door
Reacties op dit artikel
Erwin van den Berg, 22-09-2008 12:37
Meeste software, of in ieder geval meeste delen van software, is gewoonweg niet geschikt voor multicore. Echter software die CPU-intensieve processing moeten uitvoeren kan wel goed gebruik maken van multicores. De door mij ontwikkelde software DVD2one (zie dvd2one.com) heeft al sinds de V2-release van november 2005 ondersteuning voor multicores. De videocompressie gaat aanzienlijk sneller door gebruik te maken van alle beschikbare processoren en cores. Conclusie: multicore is helemaal niet moelijk, ten minste niet sinds 2005 ...
rssMeer Infrastructuur
Infrastructuur Whitepapers

Betere bescherming van data met gecentraliseerd storage management

Het verbinden van een replicatie-oplossing met verschillende architecture (DAS, NAS, SAN), meerdere multivendor storage platforms en diverse locaties is geen sinecure. Deze whitepaper belicht oplossingen voor de vele eisen die er aan storage-toepassingen worden gesteld.... Download nu

Checklist 11 essentiële eisen voor succesvolle virtualisatie

Datagroei is een hoofdpijnfactor voor veel organisaties. Virtualisatie kan daarin een oplossing bieden. maar er zijn nogal wat factoren waar je rekening mee moet houden bij Virtualisatie-oplossingen. In deze whitepaper worden de elf belangrijkste eisen op een rijtje gezet.... Download nu

Meer Infrastructuur whitepapers

ILM

Bedrijfsinformatie wordt geboren, leeft en sterft. Hoe we met informatie (moeten) omgaan binnen de levenscyclus heet 'Information Lifecycle Management'. Dat is meer dan een nieuw labeltje voor opslagbeheer; het koppelt namelijk bedrijfswaarde aan data.

Artikel
Infrastructuur Producten

Hirschmann Gigabit-Ethernet-switches

07-10 17:19   Hirschmann Automation and Control introduceert de nieuwe, unmanaged Spider II Giga 5T en Spider II Giga 5T/2S switches. Deze switches ondersteunen Gigabit Ethernet en hebben elk...

Meer infrastructuur producten
Infrastructuur Cases

Vialis uses virtualization to keep traffic information flowing

16-07 11:46   "Server virtualization enables us to give our customers more reliable and more flexible services and brings us the benefit of greater economy in the area of IT operation." - Johan...

Meer infrastructuur cases
Infrastructuur Achtergrond

Power backup: van accubak tot vliegwiel

03-10 08:10   Bedrijven zijn sterk afhankelijk van ict, dus zijn er voorzieningen voor beschikbaarheid getroffen. Maar ict is weer afhankelijk van stroom. Daarvoor zijn niet alleen eigen...

Meer infrastructuur achtergrond
Infrastructuur Opinie

Waarom een professionele tester inhuren?

07-10 10:30   Testen is makkelijk, toch....? Gewoon iemand achter een computer zetten en zeggen: "Zoek de fouten!" Iemand van de straat kan dat toch ook! Waarom zou je een professionele tester...

Meer infrastructuur opinie