Dat gaat nooit lukken met de huidige technologie - het probleem is onder andere de cache coherency. Elke write naar elke cache wordt gecommuniceerd met vrijwel elke cache van elke cpu.
Dat werkt dus grotendeels gecentraliseerd.
Met tientallen cores is dat al onbegonnen werk eigenlijk. Nu hebben ze 't wat gefaseerd. Eerst een L1 dan een L2 en dan een centrale L3 cache.
Het woord 'centraal' is niet mogelijk met duizenden cores. alles moet dan decentraal.
Dus het 'cpu concept' zoals we dat kennen komt te vervallen in absolute zin.
Wat wel relatief simpel zou zijn, is een manycore bakken met zeg honderden cpu's,
waar je dan HANDMATIG de cache coherency doet op een soort van MPI achtige manier.
De SIMD laat je dan compleet vervallen. Wel maak je het ding 64 bits. Dus maximale wordgrootte is dan 64 bits.
De latency mag dan bar slecht van verre core naar verre core, zeg enige honderden nanosecondes, maar dat zou haalbaar zijn. Een paar crossbars op de CPU merk je bijna niet dan op in aantal transistors ten opzichte van wat al het centraal regelen van dingen nu kost.
Kijk DAT zou een geniale CPU zijn voor ondergetekende.
Probleem is dat ze 'm voorlopig niet gaan bouwen.
Zo'n manycore CPU is in theorie te bouwen.
http://en.wikipedia.org/wiki/Transistor_count
Penitum-3 was natuurlijk een geniale core en erg energiezuinig. Die had 9.5 miljoen transistors nodig. Een 64 bits core an sich zou niet meer moeten kosten dan die 10 miljoen transistors.
Dan kun je dus met caches en vanalles erbij zo rond de 128 van die cores op zeg 2.0Ghz wel op 1 cpu krijgen @ 2 miljard transistors, maar dus zonder automatische cache coherency.
Dus elk parallel rekenend programma, moet dan een speciale library gebruiken cq handig gescheduled worden op de CPU.
Zo'n soort CPU zou dan 256 Ghz in totaal leveren potentieel. Zo Iets zou alle GPU's ook compleet wegblazen voor alles behalve floating point.
Intel was een keer begonnen met het bouwen van zo'n CPU volgens eigen zeggen (niet te verwarren met larrabee later omgedoopt naar knight xyz wat een hopeloos ding is met 512 bits vectors, wat natuurlijk compleet hopeloos programmeren is met zulke enorme vectoren), maar daarna zwegen ze erover. De testversies ervan heb ik ook nooit gezien - ofschoon ik er 1 aanvroeg. Dus intel is nooit serieus op dit plan ingegaan.
Als we tegen bovenstaande 2Ghz @ 128 core Pentium-3 cpu dan de huidige i7 afzetten. Die is qua IPC iets sneller, maar niet zo heel veel als dan dat je dat met een ARM core zou krijgen. procent of 30 voor de integer codes hier. Dat is dan met hyperthreading meegerekend.
3.9Ghz * 6 cores * 1.3x sneller = 30.42Ghz aan P3 power.
Factor 8 trager dus dan de virtuele manycore Pentium3 cpu.
Nog steeds legt zo'n 128 core CPU het dan compleet af in floating point power tegen de K20.
Zo'n 128 core ding zou dan, als we uitgaan van 64 bits cores aan Gflops leveren, daarbij aangetekend dat er maar 1 multiplication unit is per CPU die multicycle throughput is dus
niet 2 flops per cycle levert:
128 cores * 3 instructies per clock * 2Ghz = 0.768 Tflop
Dat is een theoretisch getal hoor, veel theoretischer dan van de Nvidia K20 die dus naar verwachting 2 Tflop levert (Nvidia geeft zelf aan dat hij 3x sneller is in double precision dan de M2070 en dat zou dan dus 2 Tflop moeten zijn).
Op 64 bit integer gebied en voor de software die goed wordt geschreven voor zo'n 128 core P3 cpu, dat blaast allemaal natuurlijk elke andere cpu of gpu weg.
Het is overigens wel mogelijk om met de hand iets te bouwen dat geen automatische cache coherency heeft maar wel enorm veel cores. Zo iets heet een cluster
p.s. zo'n virtuele 128 manycore cpu zou onder heel veel wetenschappers enorm populair worden, die doen alles toch al via MPI namelijk, dus dat vormt geen probleem.
vooral de NSA's van alle landen zouden er veel van bestellen. Dus een aantal miljoen ervan drukken gaat wel lukken, als hij niet al te duur is.
Intel gaat dat echter niet snel overwegen. Want zeg 50% winst erop en dat zo'n cpu voor een dollar of 150 per stuk gedrukt wordt (yields zijn enorm goed want kapotte cpu's schakel je gewoon uit op manycores). Zeg verkocht voor 500 dollar per stuk.
Bruto winst erop, waarvan wel de investering ook terugbetaald moet worden: $350.
Dat keer paar miljoen = potentie van 700 miljoen winst.
Dat is veel te weinig voor intel. die willen minimaal 20 miljard kunnen verdienen per CPU design, anders dan beginnen ze er niet aan.
DAT is het kernprobleem waarom zo'n cpu niet bestaat.
Je winstverwachting ligt rondom en nabij de 1 miljard dollar. Dat vinden de heren TE WEINIG. Ik ga overigens geen waardeoordeel daarover geven, want zelfs het kleine fabriekje van AMD kostte al 4.6 miljard dollar om te bouwen - dus CPU's die minder dan
de prijs van 1 fabriek opleveren - die worden gewoon niet gebouwd.
Wat heel jammer is voor de nerds...
Eigenlijk alleen de gamers worden bediend... ...met quadcores die ze voor 30 dollar drukken... ...en verkopen voor honderden dollars per stuk.
[Reactie gewijzigd door hardwareaddict op 22 juli 2024 23:31]