Een onderzoeker van Intel zei afgelopen week op de Supercomputer 2010 conferentie dat het mogelijk is om een processor met 1.000 cores te ontwikkelen op basis van het expermintele Single Chip Cloud Computer (SCC) platform. Dat platform draait momenteel op een processor met 48 cores maar volgens Timothy Mattson, de onderzoeker, kan hij in principe gewoon cores toe blijven voegen aan de cpu.

Steeds meer cores

Volgens Mattson wordt de performance van zo’n cpu pas vanaf meer dan 1.000 cores negatief beïnvloed. De grootte van het netwerk dat de verschillende kernen op de chip met elkaar verbindt zou dan namelijk te groot worden.

Intel blijft er zeker van dat vooruitgang van processors in de toekomst alleen mogelijk is met het plaatsen van steeds meer cores op één chip. Naarmate er meer kernen op een cpu worden geplaatst moeten de technici van Intel echter wel afrekenen met het schaalbaarheidsprobleem. De kern van dat probleem zit in de architectuur van de Intel-processors. Die chips werken met een aantal protocollen die ervoor zorgen dat iedere core het computergeheugen hetzelfde ziet: cache coherentie.

Overhead

Maar hoe meer processorkernen er op een chip geplaatst worden, hoe problematischer die techniek wordt. Intel’s protocol heeft namelijk per core een percentage overhead. Die overhead groeit met elke kern. Uiteindelijk is er dus een maximum aantal kernen waarmee nog winst gehaald wordt in snelheid. Daarna is de extra overhead hoger dan één processorkern op kan vangen.

Matsson stelt daarom dat het een betere manier is om de cache coherentie uit te schakelen en in plaats daarvan cores direct met elkaar te kunnen laten communiceren. Dit principe zou veel schaalbaarder zijn als er extra kernen op een processorchip worden geplaatst. De ontwikkelaars van Intel zijn momenteel bezig om zo’n systeem te ontwerpen.

Linux-cluster

In het SCC-platform maakt Intel gebruik van een netwerktechniek waarmee dat schaalbaarheidsprobleem wordt omzeild. Elke kern heeft een ‘mesh-interface component’ die de data verpakt in pakketjes en via een on-board router verstuurt naar de andere kernen. Iedere core heeft bovendien een buffer met 16KB RAM geheugen.

De onderzoekers van Intel hebben verschillende manieren geprobeerd om gegevens tussen de verschillende processors te delen. Door het TCP/IP protocol op de datalinklaag te installeren kreeg Intel het voor elkaar om een losse versie van Linux op iedere core te laten draaien. Het was volgens Mattson ook wel mogelijk om een Linux cluster van 48 kernen te draaien. “Maar dat zou saai zijn”.