Introducing the Cell Processor

Matthew Scarpino legt uit, op een basisniveau, wat de Cell processor is en hoe hij werkt.

In september 2007 kondigde het Guinness Book of World Records de nieuwe recordhouder aan voor ’s werelds krachtigste gedistribueerde computersysteem. Het ging niet om een traditioneel cluster van krachtige computers, maar om een wereldwijd netwerk van gewone pc’s en PlayStation 3-consoles (PS3’s). Dit gedistribueerde computersysteem, Folding@Home genaamd, simuleert het vouwen van eiwitten om te analyseren hoe ziekten ontstaan.

Voordat de PS3’s meededen, was het netwerk slechts in staat tot 0,25 petaflops (250.000.000.000.000.000 floating-point bewerkingen per seconde). Maar toen de Folding@Home-client op PS3’s begon te draaien, verviervoudigde de berekeningssnelheid in zes maanden, waardoor Folding@Home het eerste gedistribueerde computersysteem werd dat de 1 petaflop-barrière doorbrak.

Tabel 1.1 verduidelijkt het belang van de PS3’s in het Folding@Home-netwerk. Er zijn lang niet zoveel consoles als PC’s, maar ze leveren meer rekenkracht dan de Windows/Mac/Linux computers bij elkaar.

Tabel 1.1. Folding@Home Performance Statistieken (Opgenomen op 16 april, 2008)

OS Type

Current Pflops

Active CPUs

Totaal CPU’s

Windows

190,892

1.986.517

Mac OS X/PowerPC

8.478

114,326

Mac OS X/Intel

7,428

45,480

Linux

27.796

286,172

PlayStation 3

40.880

492,491

De enorme rekenkracht van de PS3 wordt geleverd door de Cell Broadband Engine, ook wel de Cell-processor of gewoon de Cell genoemd. Ontwikkeld door de STI Alliance (Sony, Toshiba, en IBM), combineert de Cell de general-purpose mogelijkheden van IBM’s PowerPC architectuur met genoeg rekenkracht om zelfs de meest veeleisende gamers en grafische ontwikkelaars tevreden te stellen.

Wat betekent dit voor jou? Het betekent dat u kunt genieten van het beste van twee werelden: rekenkundige flexibiliteit en kracht. Aan de ene kant kunt u een algemeen besturingssysteem, zoals Linux, op de Cell installeren en toepassingen net zo gemakkelijk uitvoeren als op een PC. Aan de andere kant kunt u rekenintensieve algoritmen implementeren met snelheden die veel hoger liggen dan die van gewone CPU’s en zelfs concurreren met supercomputers.1 Nog ongelooflijker is dat u beide tegelijk kunt doen.

De Cell maakt dit mogelijk door een werkverdeling op de chip: Het besturingssysteem draait op een enkel PowerPC Processor Element (PPE), en het rekenwerk op hoge snelheid wordt uitgevoerd door een serie Synergistic Processor Elements (SPE’s). Deze twee typen cores zijn speciaal ontworpen voor hun taken, en elk ondersteunt een andere set instructies.

Afzonderlijk beschouwd, zijn deze verwerkingselementen gemakkelijk te begrijpen en eenvoudig te programmeren. Het moeilijke deel is het coördineren van hun werking om hun sterke punten ten volle te benutten. Om dit te bereiken moet een programmeur de Cell-specifieke programmeercommando’s kennen en een gedegen kennis hebben van de architectuur van het apparaat: de verwerkingselementen, onderlinge verbindingen en geheugenstructuur.

Het doel van dit boek is om deze onderwerpen voldoende diepgaand te behandelen, zodat u toepassingen kunt maken die de mogelijkheden van de Cell optimaal benutten. Een groot deel van deze behandeling gaat in op de architectuur van de processor, maar alleen op de aspecten die u kunt gebruiken en configureren in code. Sommige onderwerpen kunnen overweldigend lijken voor degenen die niet gewend zijn te denken als computerarchitecten, maar wees niet bezorgd: Alles zal worden uitgelegd als de noodzaak zich voordoet. En het doel van dit boek is altijd software.

Het doel van dit hoofdstuk is om op een basisniveau uit te leggen wat de Cell processor is en hoe hij werkt. De discussie begint met een beschrijving van de achtergrond van de Cell, inclusief zijn geschiedenis en mogelijkheden, en gaat verder met het introduceren van de basisarchitectuur van de processor.

1.1 Achtergrond van de Cell Processor

De Cell is zo anders dan zijn voorgangers dat het helpt om te weten waarom hij is gemaakt en welke bedrijfskrachten het ontwerp hebben bepaald. Als je ziet waarom de STI Alliance zoveel tijd en moeite aan de Cell heeft besteed, heb je een beter idee waarom het de moeite waard is om er zelf meer over te leren.

Geschiedenis van de Cell

Sony voltooide de ontwikkeling van de PlayStation 2 in 1999 en bracht hem het jaar daarop uit. Ondanks het enorme succes was de toenmalige CEO Nobuyuki Idei nerveus: Hoe kon Sony’s console van de volgende generatie de PS2 overtreffen? Wat konden ze nog meer bereiken? Het antwoord, zo besloot hij, was tweeledig: Het volgende aanbod moest breedband multimediacapaciteiten integreren en dramatische verbeteringen in grafische verwerking bieden. Deze verheven doelstellingen vereisten geheel nieuwe hardware, en om dit mogelijk te maken overlegde hij met IBM’s toenmalige-CEO, Louis Gerstner. Samen vormden zij het concept dat uiteindelijk zou leiden tot de Cell Processor.

De chef van Sony Computer Entertainment, Ken Kutaragi, werkte de hardware eisen verder uit en stelde eisen die veel verder gingen dan de stand van de techniek. Ken Kutaragi zag elke processor als een bouwsteen van een groter, genetwerkt geheel en noemde het apparaat de Cell. In overeenstemming met Nobuyuki’s oorspronkelijke bedoeling, werd het project de Cell Broadband Engine (CBE) genoemd. Dit is nog steeds de officiële naam van de Cell processor.

Toshiba toonde belangstelling voor het gebruik van de Cell in hun consumentenelektronica, en in 2001 kondigden Sony, Toshiba, en IBM de oprichting aan van de STI Alliance. De bedoeling was om een baanbrekende processorarchitectuur te onderzoeken, te ontwikkelen en te produceren. Zij vormden het STI Design Center in Austin, Texas, om de eisen van de CBE te realiseren.

Als hoofdarchitect van de Cell, zag Jim Kahle dat de eisen van de CBE niet konden worden vervuld met een traditionele single-core processor – de vraag naar vermogen zou te groot zijn. In plaats daarvan koos hij voor een energiezuiniger ontwerp met meerdere verwerkingseenheden op één chip. De uiteindelijke architectuur bestond uit negen kernen: een centraal verwerkingselement en acht speciale elementen voor snelle berekeningen.

Op het moment van dit schrijven is het STI Design Center uitgegroeid tot meer dan 400 ingenieurs. Dr. H. Peter Hofstee, een van de oprichters van de cel, bekleedt de functie van hoofdwetenschapper en hoofdarchitect van het SPE. In een recente presentatie somde hij de belangrijkste doelen op die het ontwerp van de Cell aanstuurden:

  1. Uitstekende prestaties bij gaming en multimediatoepassingen
  2. Real-time responsiviteit voor de gebruiker en het netwerk
  3. Toepasbaarheid op een breed scala aan platforms

In 2004 produceerde IBM’s halfgeleiderfabriek in East Fishkill het eerste Cell-prototype. De STI-ingenieurs installeerden Linux en testten de processor op snelheden die hoger lagen dan het algemeen aangegeven bereik van 3 tot 4GHz. Het prototype slaagde. Het volgende jaar werkten Sony en IBM koortsachtig aan de integratie van het apparaat in Sony’s console van de volgende generatie, en verwachtingsvolle gamers vingen hun eerste glimp op van de PlayStation 3 op de Electronic Entertainment Expo (E3) van 2005.

November 2006 was de volledige commerciële release van de PS3, en de verhalen over lange rijen en nauwelijks verstandige consumenten zullen het winkelpersoneel nog jaren vermaken. Naast zijn krachtige Cell processorbrein bood de nieuwe console een resolutie tot 1080p en een Blu-ray drive voor high-definition video.

Datzelfde jaar bracht IBM zijn eerste CBE Software Development Kit (SDK) uit om ontwikkelaars in staat te stellen applicaties voor de Cell te bouwen. De SDK biedt compilers voor beide typen processing elementen, een gecombineerde simulator/debugger, talrijke code libraries, en een Eclipse-gebaseerde ontwikkelomgeving. Een groot deel van dit boek gaat over de SDK en hoe u die kunt gebruiken om applicaties te bouwen.

Midden 2008 werd de eerste op Cell gebaseerde supercomputer, de IBM Roadrunner, getest in het Los Alamos National Laboratory. De Roadrunner, die 12.960 Cell-processoren en 12.960 Opterons bevatte, bereikte een verwerkingssnelheid van 1,026 petaflops en is daarmee de snelste van de supercomputers op de TOP500-lijst geworden. De snelheid is meer dan het dubbele van die van de op de tweede plaats staande supercomputer, BlueGene/L, met .478 petaflops.

Potential of the Cell Processor for Scientific Computing

In 2005 bestudeerde het Lawrence Berkeley National Laboratory de rekenprestaties van de Cell en legde hun bevindingen vast in het rapport The Potential of the Cell Processor for Scientific Computing. Zij simuleerden een aantal verschillende algoritmen en vergeleken de verwerkingssnelheid van de Cell met die van vergelijkbare processoren: de AMD Opteron, Intel’s Itanium2, en Cray’s X1E. Tabel 1.2 geeft een overzicht van hun resultaten.

Tabel 1.2. Resultaten van de Lawrence Berkeley National Laboratory Studie (Alle Waarden in Gflops/s)

Algoritme

Cel Processor

Cray X1E

AMD Opteron

Intel Itanium2

Dichte matrixvermenigvuldiging (enkele precisie)

Dichte matrix vermenigvuldigen (dubbele precisie)

Symmetrische schaarse matrix vector vermenigvuldigen (enkele precisie)1

Symmetrisch sparse matrix vector multiply (double precision)1

Nonsymmetrisch Sparse Matrix Vector Multiply (Enkelvoudige Precisie)1

Nonsymmetrische sparse matrix vector multiply (dubbele precisie)1

2-D snelle Fouriertransformatie (enkele precisie)2

2-D snelle Fouriertransformatie (dubbele precisie)2

Er zijn twee punten om in gedachten te houden. Ten eerste hebben de resultaten betrekking op de berekeningssnelheid in miljarden flops (drijvende-kommabewerkingen per seconde), niet op de hoeveelheid tijd die nodig is om het algoritme uit te voeren. Ten tweede, omdat de vermenigvuldigers van de eerste generatie Cell single-precision zijn, presteert de eerste generatie Cell veel beter met single-precision waarden dan met double-precision waarden. Maar de tweede generatie biedt hardware-vermenigvuldiging van double-precision waarden.

Voor een ingenieur die geïnteresseerd is in signaalverwerking en computationele wiskunde (zoals ik), zijn de resultaten niets minder dan verbazingwekkend. De studie rechtvaardigt de buitensporige marketing claims: The Cell biedt werkelijk supercomputer-achtige mogelijkheden voor bijna de kosten en het vermogen (ongeveer 50 tot 60 W) van een gewone CPU.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.