Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 32 reacties

IBM is hard bezig om het ontwerp van de Cell-processor aan te passen voor gebruik in supercomputers. Naast een speciale versie voor de petaflopmachine Roadrunner, werkt het bedrijf aan een volgende generatie die een teraflop moet kunnen leveren.

De Cell, zoals die wordt toegepast in de PlayStation 3, heeft een algemene core en acht hulpeenheden speciaal voor numerieke bewerkingen. Ieder van deze eenheden kan acht flops per kloktik leveren, voor een totaal van 205 gigaflops op 3,2GHz. De grote valkuil hier is dat het gaat om rekenen met 32bits getallen. Veel wetenschappelijk werk moet met 64bits precisie gebeuren en Cell is daar ruim tien keer zo traag mee. Kortom, de 'echte' gigaflops die als maatstaaf voor supercomputers dienen schieten tekort.

Voor Roadrunner, die halverwege 2008 de boeken in moet gaan als de eerste petaflop supercomputer, heeft IBM daarom al een nieuwe versie ontwikkeld. De 'Enhanced Cell' heeft nog steeds dezelfde opzet als het origineel, maar kan efficiënter met 64bits getallen omgaan. Verder heeft men ondersteuning voor de fmac-instructie toegevoegd, die als twee flops telt. Hierdoor kan de nieuwe versie zelfs met 64bit getallen nog 102 gigaflops klokken. Ook heeft het bedrijf de Rambus xdr-geheugencontroller vervangen voor een standaard ddr2-interface, zodat goedkoper geheugen gebruikt kan worden.

Dit is echter pas de eerste stap, want over een paar jaar wil IBM een afgeleide van de Cell uitbrengen die nog vijf keer zo snel is. Met 32bits getallen zou deze dus in de buurt van de teraflop moet komen. De chip zou 2 algemene en 32 floatingpointcores krijgen.

Cell roadmap
Moderatie-faq Wijzig weergave

Reacties (32)

Hoe kan de cell omgaan met zowel 32 bits als 64 bits getallen, terwijl hij nog voor het 64 bits tijdperk is gebouwd? Of zit ik er nu naast?
Alle reacties hierboven me zijn wel leuk maar hebben helemaal niets te maken met waar het hier om gaat. De 32 vs 64 bits CPUs waarover gesproken wordt hebben voornamelijk te maken met de grootte van de general purpose integer registers, en helemaal niets met floating point registers. Zelfs oude 16 bit machines met een aparte FPU ondersteunden gewoon 32, 64 en 80-bits floating point getallen. De PPU van de Cell is overigens gewoon een 64 bits CPU. Het is trouwens niet per se waar dat 64 bits een hele verbetering is tov 32 bits. Zo moet je er even bij stilstaan dat alle generieke data zoals ints en geheugenaddressen in een programma ineens 2x zo groot worden, waardoor het meer geheugen verbruikt en cachemisses daardoor sneller zullen optreden. In de meeste applicaties is het geheugen nog altijd de bottleneck, dus een omschakeling van 32 naar 64 bits helpt alleen als je de geheugenbus en de cacheline 2x zo breed maakt en de hoeveelheid cache verdubbelt. Anders zal het voor de gemiddelde applicatie al snel nadelig uitpakken.

Een SPU is echt compleet anders - hij is volledig SIMD, en heeft daarom 128 * 128-bits general purpose registers, die als alles dienst kunnen doen: 8 * 16-bits ints, 4 * 32-bits ints, 4 * 32-bits floats en 2 * 64-bits floats (en in beperkte mate 16 * 8-bits ints, 16 individuele bytes dus, en 1 * 128-bits voor bitwise operaties) (en uiteraard ondersteunt ie ook gewoon scalar operaties, waardoor alleen de eerste 8, 16, 32 of 64 bits van een register gebruikt worden). De opmerking in het artikel dat een SPU puur bedoeld is voor floating point operaties is dus onjuist.

De reden waarom 64 bits floating point operaties een stuk langzamer zijn is simpelweg gewoon omdat de "oude" cell zoals die in de PS3 zit daar niet op is geoptimaliseerd. Het kost een hoop transistors meer om de zogenaamde 'doubles' in een clockcycle te kunnen verwerken terwijl ze doorgaans veel minder gebruikt worden dan 'singles', dus het was gewoon een kostenbesparing. Nu er vraag naar snelle double verwerking vanuit de wetenschap is gaan ze de chip aanpassen.

Voor de mensen de geïnteresseerd zijn in de details van de SPU architectuur: klik

[Reactie gewijzigd door .oisyn op 27 november 2007 01:53]

Iedere processor 320bit kan rekenen met 64 bits getallen....duurt alleen friggin lang omdat 't getal in in 2 helften van 32 bits bewerkt moet worden(dus 2x zoveel ophaal, reken & schrijf werk). en dan moet evt. overflow(wat normaal gewoon een overflow bitje set) tussen de Hi & low Dword moet recht getrokken worden.(2^32*2 = 2^33, wat eigenlijk gewoon het verhogen van het least significant bit in 't HI Dword is), dat kost dus tijd.
(Zo kun je met een 8 bits microcontroller toch 16-bits berekeningen doen, of meer waarschijnlijk: 16(of meer heb ook al een een controller gehad met 17bits breed geheugen :+)-bit breed geheugen aanspreken, anders heb je maar 256 byte geheugen..zelf voor een microcontroller is dat erg weinig)

Omdat 't ophalen van gegevens uit de cache of interngeheugen ook nog eens relatief traag gaat, duurt 't nog langer, hence de 10x zo lang....
Je zit er naast :-)

Er was al in 1991 een 64bits cpu (DEC Alpha, http://en.wikipedia.org/wiki/Dec_Alpha).
Daarnaast zou het anders evt de eerste 64bits cpu kunnen zijn geweest.

Oh eigenlijk al in 1961 lees ik ;) http://en.wikipedia.org/wiki/64-bit


Maar er zijn veel meer cpu's in deze wereld dan wat Intel en AMD op de markt zetten. In de wereld buiten de PC bestaat 64bit dus al veel langer.
Maar er zijn veel meer cpu's in deze wereld dan wat Intel en AMD op de markt zetten. In de wereld buiten de PC bestaat 64bit dus al veel langer.
Sterker nog, de chipmarkt buiten desktop en serverprocessoren om is een vele malen groter...ga maar na: In een beetje PC zitten een stuk of 20 tot 30 microcontrollers....

't zijn misschien crappy 8 of 16bits dingen á 10 tot 50ct per stuk, maar als je wasmachine er ook 5 heeft, je magnetron 4, je auto een stuk of 15, je plasmascherm een stuk of 20...etc etc. per huishouden kom je op misschien wel honderd of meer microcontrollerchips...

Tegenwoordig word 't wel allemaal meer integrated...waardoor je minder, maar geavanceerdere chips krijgt...
voor micro procs hebbie gelijk maar kijk eens naar dit lijstje:
* 1961: IBM delivers the IBM 7030 Stretch supercomputer, which uses 64-bit data words and 32 or 64-bit instruction words.

* 1974: Control Data Corporation launches the CDC Star-100 vector supercomputer, which uses a 64-bit word architecture (previous CDC systems were based on a 60-bit architecture).

* 1976: Cray Research delivers the first Cray-1 supercomputer, which is based on a 64-bit word architecture and would form the basis for later Cray vector supercomputers.

* 1983: Elxsi launches the Elxsi 6400 parallel minisupercomputer. The Elxsi architecture has 64-bit data registers but a 32-bit address space.
En dan heb je nog zoiets als crusou dat met Very Long Word s werkt 128 en 256 bit.

De bios vertaalde dan alle x86-32bit naar deze cpu, waardoor het eenheel zuinig systeem was, maar ook wel traag..
IBM had al in 2001 een 64-bits processor (in de z900 mainframes) en een 64-bits OS (z/OS) en in 2001 zijn ze ook begonnen met het ontwikkelen van de Cell: http://en.wikipedia.org/wiki/Cell_Processor. Dus geen probleem lijkt me :)

[edit]Nét te laat O-)

[Reactie gewijzigd door S913 op 26 november 2007 20:42]

Als je bijvoorbeeld x+y met 32-bits getallen kan doen dan kan je dezelfde operatie ook voor 64-bits getallen implementeren door middel van een aantal 32-bit operaties (waardoor het wel langzamer wordt, aangezien je meerdere 32-bit operaties moet doen voordat je 1 64-bit operatie hebt uitgevoerd).
Wat denken jullie? Gaat er straks software geschreven kunnen worden die de cell volledig kan benutten, en daarmee de concurrentie van tafel vegen?

Vooral voor de ps3 of zelfs in een pc/mac (als de architectuur wordt aangepast) :9
De Cell is alleen maar goed in dom floatingpointwerk, zelfs al neem je die toekomstige teraflopversie dan zal hij in de meeste desktopbenchmarks nog kansloos zijn tegenover een Core 2 Duo. Voor consumenten is die kracht misschien nuttig bij specifieke dingen als video-encoding, maar daar kan een gpu net zo goed bijspringen. Ik zie in ieder geval lang niet genoeg reden om x86 te dumpen ;).

[Reactie gewijzigd door Wouter Tinus op 26 november 2007 22:00]

De Cell is alleen maar goed in dom floatingpointwerk, zelfs al neem je die toekomstige teraflopversie dan zal hij in de meeste desktopbenchmarks nog kansloos zijn tegenover een Core 2 Duo.
Hoeveel mensen benutten de hele performance van hun processor? Dit is ook alleen maar in specifieke gevallen. Er is helaas geen goede benchmark meer van de PS3 sinds de linux kernel is geoptimaliseerd voor de PS3. Daarom kan er nog geen echte uitspraak gedaan worden of deze CPU voor huis tuin en keuken gebruik in te zetten was. In ieder geval is de hoeveelheid intern geheugen van een PS3 te klein om een PC vervanger te zijn.
Voor consumenten is die kracht misschien nuttig bij specifieke dingen als video-encoding, maar daar kan een gpu net zo goed bijspringen.
In dit geval is de Cell energie zuiniger dan een CPU GPU combinatie.
Ik zie in ieder geval lang niet genoeg reden om x86 te dumpen
Zal binnenkort ook niet gebeuren. De x86 is de gevestigde processor en windows draait niet op de Cell.
Daarom kan er nog geen echte uitspraak gedaan worden of deze CPU voor huis tuin en keuken gebruik in te zetten was.
http://www.primatelabs.ca...n-3-performance-may-2007/

Die algemene core in Cell is trager dan een 1,6GHz PowerPC G5. De enige optimalisatie die sindsdien in de Linux-kernel is gedaan is dat de SPE's aanspreekbaar zijn geworden. Dat betekent niet dat die automatisch gebruikt worden, wat betekent dat het voor het gros van de applicaties ook nooit zal gebeuren.
Deze link kende ik ook. Ik wil niet beweren dat de Cell implementatie in de PS3 snel is als PC. Maar geekbench is volgens mij geen gerenommeerde benchmark. Ik zou liever een echte fatsoenlijke benchmark zien met een echte vergelijking met een PC. Aangezien de PC benchmarks toch al erg focussen op graphics ed zou dit interessant kunnen zijn.
Dat betekent niet dat die automatisch gebruikt worden, wat betekent dat het voor het gros van de applicaties ook nooit zal gebeuren.
Dit is het zelfde verhaal dan multi core. Dit was ook niet geoptimaliseerd totdat deze op de proppen kwamen. Als de Cell ooit een belangrijke processor word zullen de SPE's meer gebruikt worden. (De PS3 is momenteel een game console en geen PC)

[Reactie gewijzigd door worldcitizen op 27 november 2007 09:12]

De Cell is alleen maar goed in dom floatingpointwerk, zelfs al neem je die toekomstige teraflopversie dan zal hij in de meeste desktopbenchmarks nog kansloos zijn tegenover een Core 2 Duo. Voor consumenten is die kracht misschien nuttig bij specifieke dingen als video-encoding, maar daar kan een gpu net zo goed bijspringen. Ik zie in ieder geval lang niet genoeg reden om x86 te dumpen ;).
hoho...hij zal redelijk zuigen in het draaien van een multitasking OS(ook al heeft ie 2 algemene cores), maar daar staat tegen over dat je unreal tournament 4 mét physics zonder beeldkaart in je CPU kan draaien....
hoho...hij zal redelijk zuigen in het draaien van een multitasking OS(ook al heeft ie 2 algemene cores), maar daar staat tegen over dat je unreal tournament 4 mét physics zonder beeldkaart in je CPU kan draaien....
Waarom denk je dat? Als Cell zo kei was in graphics, waarom hebben ze dan die Nvidia RSX-chip nodig in de PlayStation 3?
wat denk je van video EN audio EN physx in 1 enkele chip die dan vervolgens met de
HT3 link aan je cpu hangt... dan heb je namelijk wel een onmogelijk-snelle onboard-vga controler :P
"dom floatingpointwerk" ???
Heb je dan liever dat de Cell enkel "superintelligente" Integer-bewerkingen kan uitvoeren?

En met "de concurrentie van tafel vegen bedoelt Leno waarschijnlijk de andere gameconsoles, en niet de pc.

Trouwens, waarom zou je een desktop-benchmark willen draaien op een processor die daar helemaal niet voor gebouwd is?
Je draait toch ook geen benchmarks op bvb een mengpaneel?


Een goed geprogrammeerde Cell-processor veegt iedere andere processor zo van tafel. Daarom is de Cell dan ook heel geschikt voor HPC-toepassingen, aangezien de software die daarbij gebruikt wordt steeds speciaal voor de toepassing geschreven wordt & er trouwens ook niet naar de prijs van de software hoeft gekeken te worden.

De Cell is in feite helemaal niet ontwikkeld met het oog op general processing (bvb games). Al is het wel zo dat, mocht er een goede, intelligente compiler voor bestaan, de Cell er uitermate geschikt voor zou zijn.
De Cell is momenteel de perfecte HPC-cpu aangezien je er in theorie gigantisch veel aan elkaar kunt koppelen (door de I/O-bus die 76.8GByte/s kan slikken) waarbij iedere Cell een klein stukje van het totale werk uitvoert.
Veel wetenschappelijk werk moet met 64bits precisie gebeuren en Cell is daar ruim tien keer zo traag mee.
Hu? De Cell is 64 bits zie: http://arstechnica.com/articles/paedia/cpu/cell-1.ars/2
The Cell system features eight of these SPUs all hanging off a central bus, with one 64-bit POWERPC core handling all of the regular computational chores.
Daarbij zijn veel wetenschappelijke berekeningen vector berekeningen. Daar is een Cell al een krachtpatser in.

Zie ook:
nieuws: Folding@home gaat over de petaflops heen
Dat gaat over integers en geheugenadressering in algemene core, niet over floating point in de SPE's. Bovendien zegt ook niemand dat hij het niet kan, alleen dat het ruim tien keer zo traag is als 32-bits.
Omgerekend 24 gflops per actieve processor op die screenshot, dat haalt een dualcore x86'je tegenwoordig ook wel.

[Reactie gewijzigd door Wouter Tinus op 26 november 2007 21:50]

Dat gaat over integers en geheugenadressering in algemene core, niet over floating point in de SPE's. Bovendien zegt ook niemand dat hij het niet kan, alleen dat het ruim tien keer zo traag is als 32-bits.
Kun je er a.u.b. de link cq het bewijs van het 10 keer zo langzaam is bijzetten?
Omgerekend 24 gflops per actieve processor op die screenshot, dat haalt een dualcore x86'je tegenwoordig ook wel.
Bewijs? En is de dual core per core of in het totaal?

Nog wat linkjes tav de PS3 en folding @ home:
http://life.tweakers.net/...ness-book-of-records.html
http://www.stanford.edu/g...roup/folding/FAQ-PS3.html

[Reactie gewijzigd door worldcitizen op 26 november 2007 22:50]

Kun je er a.u.b. de link cq het bewijs van het 10 keer zo langzaam is bijzetten?
http://www.ipdps.org/ipdps2006/2006-banquet.pdf, pagina 10.
Bewijs? En is de dual core per core of in het totaal?
Totaal: C2D en K10 doen beide 4 DP of 8 SP flops per cycle per core (twee 128-bits vectoren). Voor een 3,0GHz dualcore komt je dus uit op 24 DP gigaflops of 48 SP gigaflops.
Dit is een nieuwer document van de 2.4 GHz Cell/B.E. processor
http://www.ibm.com/develo...y/pa-cellport3/index.html

Hier staat de ook de reden in waarom Single precision snel is en double precision niet in de PS3
Many organizations require double-precision arithmetic. The initial target marketplace for the Cell/B.E. technology -- home entertainment systems -- typically doesn't need this precision, so the initial implementation of the Cell/B.E. environment provides very limited double-precision support in hardware.

[Reactie gewijzigd door worldcitizen op 26 november 2007 23:38]

Volgens mij kloppen er een aantal dingen niet helemaal met betrekking tot de telling in dit artikel.

'Naast een speciale versie voor de petaflopmachine Roadrunner, werkt het bedrijf aan een volgende generatie die een teraflop moet kunnen leveren.' Volgens mij is peta en tera hier omgedraait?

"Met 32bits getallen zou deze dus in de buurt van de teraflop moet komen." De teraflop is toch allang gehaald met cell processoren?

Ontopic: Heel mooi initiatief om zo door te werken met de Cell technologie, die ook vooral veel energie bespaard ten aanzien van zijn opponenten.
Volgens mij is peta en tera hier omgedraait?
De Roadrunner haalt een petaflop met bijna 13.000 Enhanced Cell-processors en bijna 7000 dualcore Opterons. Het tweede stuk gaat over één chip die een teraflop haalt.
De teraflop is toch allang gehaald met cell processoren?
Nee, zoals in het artikel staat haalt een Cell maximaal 204 gigaflops met 32-bits getallen, een vijfde teraflop dus, en nog niet eens een echte.

[Reactie gewijzigd door Wouter Tinus op 26 november 2007 20:38]

Ook heeft het bedrijf de Rambus xdr-geheugencontroller vervangen voor een standaard ddr2-interface, zodat goedkoper geheugen gebruikt kan worden.
Hadden ze niet beter DDR3 kunnen gebruiken? DDR2 wordt langzaam uit de markt gezet ter gunste van de DDR3 geheugen. Wanneer deze processor op de markt komt kan het alleen overweg met een verouderde type RAM geheugen die steeds moeilijker te vinden zal zijn.

[Reactie gewijzigd door jeroenathome op 26 november 2007 20:31]

Mwa als jij een terabyte aan geheugen besteld denk ik niet dat dat een probleem gaan zijn om een fabrikant te vinden die dat wil leveren. Dit gaat een processor worden voor supercomputers en dan praat je over geheugen groottes van terabytes ipv GB's.

Overigens neem ik aan dat er wel iemand is geweest die daar bij IBM over nagedacht heeft.
ik denk dat 't vooral te maken heeft met de latencies, die volgens enkele artikelen (sorry tis smorgens dus geen zin in links), tussen ddr1 en ddr3 evenredig stijgen aan de snelheids-verhoging, volgens sommigen hier @ tnet ligt dat aan de materiaal eigenschappen.

maar als dat zo is raakt de rek dus uit ddr, en kiest met ook bij ibm wel voor een type dat snel genoeg is om die cpu aan 't werk te houden, en liefst zo goekoop mogelijk is om ook betaalbaar te blijven. - anders hadden ze vast gewoon bij xdr gebleven
De hele architectuur van de Cell is ook juist zo ontworpen dat latencies in geheugen worden opgevangen door de local stores van de SPU's.
Door code uit te voeren in de local store, en parallel daar aan een DMA call naar het 'normale' geheugen te doen kan je dus door werken in je SPU, terwijl je data naar binnen wordt gehaald/ wordt weggeschreven.
Als je dus goed programmeert is memory latency lang niet zo'n probleem op de Cell als op bijvoorbeeld x86 processoren.
Waarom niet een Cell bouwen waarin iedere eenheid native een 64-bit float kan berekennen? De 8 eenheden worden dan mischien twee maal zo groot maar dat moet met de verkleiningsslag naar 45nm SOI geen probleem geven qua grote van de chip.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True