Momenteel is het zeer duidelijk dat binnen afzienbare tijd de klok snelheden van de mainstream CPUs niet meer sterk omhoog zullen gaan, maar dat 'voorlopig' (volgens roadmaps tenminste de komende 5 jaar) er vooral ingezet zal worden op multiple cores. Zitten we momenteel op 2 a 4 cores, in de toekomst zullen dat er mogelijk velen tientallen zijn.
Ik vraag me dus af hoe de meeste developpers hier met dit gegeven omgaan. Wat ik in de praktijk zie is dat >90% van de mensen die ik tegen kom nog steeds doet alsof zijn of haar neus bloed. Het speelt natuurlijk wel mee dat eigenlijk ook wel 90% van de mensen tegenwoordig aan serverside programmeren doet, waarbij meerdere requesten van meerdere users altijd wel de cores kunnen opvullen, maar toch...
-echt- ontwerpen voor parallel programming zie ik nog bijna niemand doen. Met komt dikwijls niet verder als: "Nou, tsja... ik spawn weleens een threadje ergens voor". Een schrikbarend aantal mensen schijnt ook nog steeds vol overtuiging te denken dat multiple cores een tijdelijke hype is en dat "intel binnenkort gewoon weer de klok snelheden omhoog gaat gooien" (ook op tweakers dachten velen hier minder dan een jaar geleden nog zo over).
Op dit moment is het mischien nog net aan te verantwoorden. Als je de 2de core negeert dan laat je slechts (potentieel) 50% power liggen, en je kan er nog mee wegkomen door te stellen dat lang niet elke PC al dual core is.
Maar software plan je als het goed is toch een tijdje van te voren. Over een jaar als een grote meerdeheid dual draait en quads ook al lang niet meer puur exotisch zijn zullen klanten ook steeds meer gaan verlangen dat je ook alle cores in een systeem benut. Zelfs voor serverside kan dit gaan gelden. Je wilt namelijk niet dat 1 user lang moet wachten omdat ie een zware berekening uitvoert die slechts op 1 core kan draaien, terwijl de 15 andere cores in je server lichtelijk uit hun neus lopen te eten.
Vandaar dus mijn vraag, hoe serieus nemen jullie nu al ontwerpen voor meerdere cores?
Om in cijfers duidelijk te maken hoe de mensen hierover denken is mischien een pol wel handig:
Poll: Programmeer je voornamelijk client- of server side?
• Voornamelijk serverside
• Voornamelijk clientside
• Ongeveer gelijk

Ook een poll maken? Klik hier
Poll: Hou jij in je software ontwerp rekening met meerdere cores?
• ja, wil aanwezige hardware optimaal benutten
• Een beetje, voor background tasks spawn ik wel eens een threadje
• nee, ik wacht tot compilers mijn code automatisch verdelen over threads
• nee, meeste software draait snel genoeg op single core
• nee, meer cores=onzin, intel moet snel weer de clock omhoog gooien
• nee, requesten van meerdere users gaan al automatisch naar cores

Ook een poll maken? Klik hier
Ik vraag me dus af hoe de meeste developpers hier met dit gegeven omgaan. Wat ik in de praktijk zie is dat >90% van de mensen die ik tegen kom nog steeds doet alsof zijn of haar neus bloed. Het speelt natuurlijk wel mee dat eigenlijk ook wel 90% van de mensen tegenwoordig aan serverside programmeren doet, waarbij meerdere requesten van meerdere users altijd wel de cores kunnen opvullen, maar toch...
-echt- ontwerpen voor parallel programming zie ik nog bijna niemand doen. Met komt dikwijls niet verder als: "Nou, tsja... ik spawn weleens een threadje ergens voor". Een schrikbarend aantal mensen schijnt ook nog steeds vol overtuiging te denken dat multiple cores een tijdelijke hype is en dat "intel binnenkort gewoon weer de klok snelheden omhoog gaat gooien" (ook op tweakers dachten velen hier minder dan een jaar geleden nog zo over).
Op dit moment is het mischien nog net aan te verantwoorden. Als je de 2de core negeert dan laat je slechts (potentieel) 50% power liggen, en je kan er nog mee wegkomen door te stellen dat lang niet elke PC al dual core is.
Maar software plan je als het goed is toch een tijdje van te voren. Over een jaar als een grote meerdeheid dual draait en quads ook al lang niet meer puur exotisch zijn zullen klanten ook steeds meer gaan verlangen dat je ook alle cores in een systeem benut. Zelfs voor serverside kan dit gaan gelden. Je wilt namelijk niet dat 1 user lang moet wachten omdat ie een zware berekening uitvoert die slechts op 1 core kan draaien, terwijl de 15 andere cores in je server lichtelijk uit hun neus lopen te eten.
Vandaar dus mijn vraag, hoe serieus nemen jullie nu al ontwerpen voor meerdere cores?
Om in cijfers duidelijk te maken hoe de mensen hierover denken is mischien een pol wel handig:
Poll: Programmeer je voornamelijk client- of server side?
• Voornamelijk serverside
• Voornamelijk clientside
• Ongeveer gelijk
Ook een poll maken? Klik hier
Poll: Hou jij in je software ontwerp rekening met meerdere cores?
• ja, wil aanwezige hardware optimaal benutten
• Een beetje, voor background tasks spawn ik wel eens een threadje
• nee, ik wacht tot compilers mijn code automatisch verdelen over threads
• nee, meeste software draait snel genoeg op single core
• nee, meer cores=onzin, intel moet snel weer de clock omhoog gooien
• nee, requesten van meerdere users gaan al automatisch naar cores
Ook een poll maken? Klik hier
[ Voor 28% gewijzigd door Verwijderd op 09-11-2006 17:07 . Reden: Een pol om te kijken hoeveel mensen nu concurency belangrijk vinden ]