Jump to content

Cell (processor)

From Wikipedia, the free encyclopedia
(Redirected fromCell (microprocessor))

CELL BE
DesignerSTI (Sony,ToshibaandIBM)
Bits64-bit
IntroducedMarch 2007;17 years ago(2007-03)
VersionPowerPC 2.02[1]
DesignRISC
TypeLoad–store
EncodingFixed/Variable (Book E)
BranchingCondition code
EndiannessBig/Bi

Cellis a 64-bitmulti-coremicroprocessormicroarchitecture that combines a general-purposePowerPCcoreof modest performance with streamlinedcoprocessingelements[2]which greatly acceleratemultimediaandvector processingapplications, as well as many other forms of dedicated computation.[2]

It was developed bySony,Toshiba,andIBM,an alliance known as "STI". The architectural design and first implementation were carried out at the STI Design Center inAustin, Texasover a four-year period beginning March 2001 on a budget reported by Sony as approachingUS$400 million.[3]Cell is shorthand forCell Broadband Engine Architecture,commonly abbreviatedCBEAin full orCell BEin part.

The first major commercial application of Cell was in Sony'sPlayStation 3game console,released in 2006. In May 2008, the Cell-basedIBM Roadrunnersupercomputerbecame the firstTOP500LINPACKsustained 1.0 petaflops system.[4][5]Mercury Computer Systemsalso developed designs based on the Cell.

The Cell architecture includes amemory coherencearchitecture that emphasizes power efficiency, prioritizesbandwidthover lowlatency,and favors peak computationalthroughputover the simplicity ofprogram code.For these reasons, Cell is widely regarded as a challenging environment forsoftware development.[6]IBM provides aLinux-based development platform to help developers program for Cell chips.[7]

History[edit]

Cell BE as it appears in the PS3 on the motherboard
Peter Hofstee,one of the chief architects of the Cell microprocessor
Michael Gschwind, one of the chief architects of the Cell microprocessor

In mid-2000,Sony Computer Entertainment,Toshiba Corporation,andIBMformed an alliance known as "STI" to design and manufacture the processor.[8]

The STI Design Center opened in March 2001.[9]The Cell was designed over a period of four years, using enhanced versions of the design tools for thePOWER4processor. Over 400 engineers from the three companies worked together in Austin, with critical support from eleven of IBM's design centers.[9]During this period, IBM filed manypatentspertaining to the Cell architecture, manufacturing process, and software environment. An early patent version of the Broadband Engine was shown to be a chip package comprising four "Processing Elements", which was the patent's description for what is now known as thePower Processing Element(PPE). Each Processing Element would contain 8"Synergistic Processing Elements"(SPEs) on the chip. This chip package was supposed to run at a clock speed of 4 GHz and with 32 SPEs providing 32gigaFLOPSeach (FP8 quarter precision), the Broadband Engine was meant to have 1 teraFLOPS of raw computing power in theory.

The design with 4 PPEs and 32 SPEs was never realized. Instead, Sony and IBM only manufactured a design with one PPE and 8 SPEs. This smaller design, the Cell Broadband Engine or Cell/BE was fabricated using a90 nmSOIprocess.[10]

In March 2007, IBM announced that the65 nmversion of Cell/BE was in production at its plant (at the time, now GlobalFoundries') inEast Fishkill, New York,[10][11]withBandai Namco Entertainmentusing the Cell/BE processor for their357arcade board as well as the subsequent 369.

In February 2008, IBM announced that it would begin to fabricate Cell processors with the45 nmprocess.[12]

In May 2008, IBM introduced the high-performance double-precision floating-point version of the Cell processor, thePowerXCell 8i,[13]at the 65 nm feature size.

In May 2008, anOpteron- and PowerXCell 8i-based supercomputer, theIBM Roadrunnersystem, became the world's first system to achieve one petaFLOPS, and was the fastest computer in the world until third quarter 2009. The world's three most energy-efficient supercomputers, as represented by theGreen500list, are similarly based on the PowerXCell 8i.

In August 2009 the 45 nm Cell processor was introduced in concert with Sony'sPlayStation 3 Slim.[14]

By November 2009, IBM had discontinued the development of a Cell processor with 32 APUs[15][16]but was still developing other Cell products.[17]

Commercialization[edit]

On May 17, 2005, Sony Computer Entertainment confirmed some specifications of the Cell processor that would be shipping in the then-forthcomingPlayStation 3console.[18][19][20]This Cell configuration has one PPE on the core, with eight physical SPEs in silicon.[20]In the PlayStation 3, one SPE is locked-out during the test process, a practice which helps to improve manufacturing yields, and another one is reserved for the OS, leaving 6 free SPEs to be used by games' code.[21]The target clock-frequency at introduction is 3.2GHz.[19]The introductory design is fabricated using a 90 nm SOI process, with initial volume production slated for IBM's facility inEast Fishkill, New York.[10]

The relationship betweencoresandthreadsis a common source of confusion. The PPE core isdual threadedand manifests in software as two independent threads of execution while each active SPE manifests as a single thread. In the PlayStation 3 configuration as described by Sony, the Cell processor provides nine independent threads of execution.

On June 28, 2005, IBM andMercury Computer Systemsannounced a partnership agreement to build Cell-based computer systems forembeddedapplications such asmedical imaging,industrial inspection,aerospaceanddefense,seismic processing,andtelecommunications.[22]Mercury has since then releasedblades,conventionalrack serversandPCI Expressaccelerator boards with Cell processors.[22]

In the fall of 2006, IBM released the QS20blade moduleusing double Cell BE processors for tremendous performance in certain applications, reaching a peak of 410 gigaFLOPS in FP8 quarter precision per module. TheQS22based on the PowerXCell 8i processor was used for theIBM Roadrunnersupercomputer. Mercury and IBM uses the fully utilized Cell processor with eight active SPEs. On April 8, 2008, Fixstars Corporation released aPCI Expressaccelerator board based on the PowerXCell 8i processor.[23]

Sony's high-performance media computing serverZEGOuses a 3.2 GHz Cell/B.E processor.

Overview[edit]

TheCell Broadband Engine,orCellas it is more commonly known, is a microprocessor intended as a hybrid of conventional desktop processors (such as theAthlon 64,andCore 2families) and more specialized high-performance processors, such as theNVIDIAandATIgraphics-processors (GPUs). The longer name indicates its intended use, namely as a component in current and futureonline distributionsystems; as such it may be utilized in high-definition displays and recording equipment, as well asHDTVsystems. Additionally the processor may be suited todigital imagingsystems (medical, scientific,etc.) andphysical simulation(e.g.,scientific andstructural engineeringmodeling). As used in the PlayStation 3 it has 250 million transistors.[24]

In a simple analysis, the Cell processor can be split into four components: external input and output structures, the main processor called thePower Processing Element(PPE) (a two-waysimultaneous-multithreadedPowerPC 2.02core),[25]eight fully functional co-processors called theSynergistic Processing Elements,or SPEs, and a specialized high-bandwidthcircular data busconnecting the PPE, input/output elements and the SPEs, called theElement Interconnect Busor EIB.

To achieve the high performance needed for mathematically intensive tasks, such as decoding/encodingMPEGstreams, generating or transforming three-dimensional data, or undertakingFourier analysisof data, the Cell processor marries the SPEs and the PPE via EIB to give access, via fullycache coherentDMA (direct memory access),to both main memory and to other external data storage. To make the best of EIB, and to overlap computation and data transfer, each of the nine processing elements (PPE and SPEs) is equipped with aDMA engine.Since the SPE's load/store instructions can only access its own localscratchpad memory,each SPE entirely depends on DMAs to transfer data to and from the main memory and other SPEs' local memories. A DMA operation can transfer either a single block area of size up to 16KB, or a list of 2 to 2048 such blocks. One of the major design decisions in the architecture of Cell is the use of DMAs as a central means of intra-chip data transfer, with a view to enabling maximal asynchrony and concurrency in data processing inside a chip.[26]

The PPE, which is capable of running a conventional operating system, has control over the SPEs and can start, stop, interrupt, and schedule processes running on the SPEs. To this end, the PPE has additional instructions relating to the control of the SPEs. Unlike SPEs, the PPE can read and write the main memory and the local memories of SPEs through the standard load/store instructions. Despite havingTuring completearchitectures, the SPEs are not fully autonomous and require the PPE to prime them before they can do any useful work. As most of the "horsepower" of the system comes from the synergistic processing elements, the use ofDMAas a method of data transfer and the limited localmemory footprintof each SPE pose a major challenge to software developers who wish to make the most of this horsepower, demanding careful hand-tuning of programs to extract maximal performance from this CPU.

The PPE and bus architecture includes various modes of operation giving different levels ofmemory protection,allowing areas of memory to be protected from access by specific processes running on the SPEs or the PPE.

Both the PPE and SPE areRISCarchitectures with a fixed-width 32-bit instruction format. The PPE contains a 64-bitgeneral-purpose registerset (GPR), a 64-bit floating-point register set (FPR), and a 128-bitAltivecregister set. The SPE contains 128-bit registers only. These can be used for scalar data types ranging from 8-bits to 64-bits in size or forSIMDcomputations on a variety of integer and floating-point formats. System memory addresses for both the PPE and SPE are expressed as 64-bit values for a theoretic address range of 264bytes (16 exabytes or 16,777,216 terabytes). In practice, not all of these bits are implemented in hardware. Local store addresses internal to the SPU (Synergistic Processor Unit) processor are expressed as a 32-bit word. In documentation relating to Cell a word is always taken to mean 32 bits, a doubleword means 64 bits, and a quadword means 128 bits.

PowerXCell 8i[edit]

In 2008, IBM announced a revised variant of the Cell called thePowerXCell 8i,[27]which is available in QS22Blade Serversfrom IBM. The PowerXCell is manufactured on a65 nmprocess, and adds support for up to 32 GB of slotted DDR2 memory, as well as dramatically improvingdouble-precision floating-pointperformance on the SPEs from a peak of about 12.8GFLOPSto 102.4 GFLOPS total for eight SPEs, which, coincidentally, is the same peak performance as theNEC SX-9vector processor released around the same time. TheIBM Roadrunnersupercomputer, the world's fastest during 2008–2009, consisted of 12,240 PowerXCell 8i processors, along with 6,562AMD Opteronprocessors.[28]The PowerXCell 8i powered super computers also dominated all of the top 6 "greenest" systems in the Green500 list, with highest MFLOPS/Watt ratio supercomputers in the world.[29]Beside the QS22 and supercomputers, the PowerXCell processor is also available as an accelerator on a PCI Express card and is used as the core processor in theQPACEproject.

Since the PowerXCell 8i removed the RAMBUS memory interface, and added significantly larger DDR2 interfaces and enhanced SPEs, the chip layout had to be reworked, which resulted in both larger chip die and packaging.[30]

Architecture[edit]

While the Cell chip can have a number of different configurations, the basic configuration is amulti-corechip composed of one "Power Processor Element" ( "PPE" ) (sometimes called "Processing Element", or "PE" ), and multiple "Synergistic Processing Elements" ( "SPE" ).[31]The PPE and SPEs are linked together by an internal high speed bus dubbed "Element Interconnect Bus" ( "EIB" ).

Power Processor Element (PPE)[edit]

ThePPE[32][33][34]is thePowerPCbased, dual-issue in-order two-waysimultaneous-multithreadedCPUcore with a 23-stage pipeline acting as the controller for the eight SPEs, which handle most of the computational workload. PPE has limited out of order execution capabilities; it can perform loads out of order and has delayed execution pipelines. The PPE will work with conventional operating systems due to its similarity to other 64-bit PowerPC processors, while the SPEs are designed for vectorized floating point code execution. The PPE contains a 32KiBlevel 1 instructioncache,a 32 KiB level 1 data cache, and a 512 KiB level 2 cache. The size of a cache line is 128 bytes in all caches.[27]: 136–137, 141 Additionally, IBM has included anAltiVec(VMX) unit[35]which is fully pipelined forsingle precisionfloating point (Altivec 1 does not supportdouble precisionfloating-point vectors.), 32-bitFixed Point Unit (FXU)with 64-bit register file per thread,Load and Store Unit (LSU),64-bitFloating-Point Unit (FPU),Branch Unit (BRU)and Branch Execution Unit(BXU).[32] PPE consists of three main units: Instruction Unit (IU), Execution Unit (XU), and vector/scalar execution unit (VSU). IU contains L1 instruction cache, branch prediction hardware, instruction buffers, and dependency checking logic. XU contains integer execution units (FXU) and load-store unit (LSU). VSU contains all of the execution resources for FPU and VMX. Each PPE can complete two double-precision operations per clock cycle using a scalar fused-multiply-add instruction, which translates to 6.4GFLOPSat 3.2 GHz; or eight single-precision operations per clock cycle with a vector fused-multiply-add instruction, which translates to 25.6 GFLOPS at 3.2 GHz.[36]

Xenon in Xbox 360[edit]

The PPE was designed specifically for the Cell processor but during development,Microsoftapproached IBM wanting a high-performance processor core for itsXbox 360.IBM complied and made the tri-coreXenon processor,based on a slightly modified version of the PPE with added VMX128 extensions.[37][38]

Synergistic Processing Element (SPE)[edit]

Each SPE is a dual issue in order processor composed of a "Synergistic Processing Unit",[39]SPU, and a "Memory Flow Controller", MFC (DMA,MMU,andbusinterface). SPEs do not have anybranch predictionhardware (hence there is a heavy burden on the compiler).[40]Each SPE has 6 execution units divided among odd and even pipelines on each SPE: The SPU runs a specially developedinstruction set(ISA) with128-bitSIMDorganization[35][2][41]for single and double precision instructions. With the current generation of the Cell, each SPE contains a 256KiBembedded SRAMfor instruction and data, called"Local Storage"(not to be mistaken for "Local Memory" in Sony's documents that refer to the VRAM) which is visible to the PPE and can be addressed directly by software. Each SPE can support up to 4GiBof local store memory. The local store does not operate like a conventionalCPU cachesince it is neither transparent to software nor does it contain hardware structures that predict which data to load. The SPEs contain a 128-bit, 128-entryregister fileand measures 14.5 mm2on a 90 nm process. An SPE can operate on sixteen 8-bit integers, eight 16-bit integers, four 32-bit integers, or four single-precision floating-point numbers in a single clock cycle, as well as a memory operation. Note that the SPU cannot directly access system memory; the 64-bit virtual memory addresses formed by the SPU must be passed from the SPU to the SPE memory flow controller (MFC) to set up a DMA operation within the system address space.

In one typical usage scenario, the system will load the SPEs with small programs (similar tothreads), chaining the SPEs together to handle each step in a complex operation. For instance, aset-top boxmight load programs for reading a DVD, video and audio decoding, and display and the data would be passed off from SPE to SPE until finally ending up on the TV. Another possibility is to partition the input data set and have several SPEs performing the same kind of operation in parallel. At 3.2 GHz, each SPE gives a theoretical 25.6GFLOPSof single-precision performance.

Compared to itspersonal computercontemporaries, the relatively high overall floating-point performance of a Cell processor seemingly dwarfs the abilities of the SIMD unit in CPUs like thePentium 4and theAthlon 64.However, comparing only floating-point abilities of a system is a one-dimensional and application-specific metric. Unlike a Cell processor, such desktop CPUs are more suited to the general-purpose software usually run on personal computers. In addition to executing multiple instructions per clock, processors from Intel and AMD featurebranch predictors.The Cell is designed to compensate for this with compiler assistance, in which prepare-to-branch instructions are created. For double-precision floating-point operations, as sometimes used in personal computers and often used in scientific computing, Cell performance drops by an order of magnitude, but still reaches 20.8 GFLOPS (1.8 GFLOPS per SPE, 6.4 GFLOPS per PPE). The PowerXCell 8i variant, which was specifically designed for double-precision, reaches 102.4 GFLOPS in double-precision calculations.[42]

Tests by IBM show that the SPEs can reach 98% of their theoretical peak performance running optimized parallel matrix multiplication.[36]

Toshibahas developed aco-processorpowered by four SPEs, but no PPE, called theSpursEnginedesigned to accelerate 3D and movie effects in consumer electronics.

Each SPE has a local memory of 256 KB.[43]In total, the SPEs have 2 MB of local memory.

Element Interconnect Bus (EIB)[edit]

The EIB is a communication bus internal to the Cell processor which connects the various on-chip system elements: the PPE processor, the memory controller (MIC), the eight SPE coprocessors, and two off-chip I/O interfaces, for a total of 12 participants in the PS3 (the number of SPU can vary in industrial applications). The EIB also includes an arbitration unit which functions as a set of traffic lights. In some documents, IBM refers to EIB participants as 'units'.

The EIB is presently implemented as a circular ring consisting of four 16-byte-wide unidirectional channels which counter-rotate in pairs. When traffic patterns permit, each channel can convey up to three transactions concurrently. As the EIB runs at half the system clock rate the effective channel rate is 16 bytes every two system clocks. At maximumconcurrency,with three active transactions on each of the four rings, the peak instantaneous EIB bandwidth is 96 bytes per clock (12 concurrent transactions × 16 bytes wide / 2 system clocks per transfer). While this figure is often quoted in IBM literature, it is unrealistic to simply scale this number by processor clock speed. The arbitration unitimposes additional constraints.

IBM Senior EngineerDavid Krolak,EIB lead designer, explains the concurrency model:

A ring can start a new op every three cycles. Each transfer always takes eight beats. That was one of the simplifications we made, it's optimized for streaming a lot of data. If you do small ops, it does not work quite as well. If you think of eight-car trains running around this track, as long as the trains aren't running into each other, they can coexist on the track.[44]

Each participant on the EIB has one 16-byte read port and one 16-byte write port. The limit for a single participant is to read and write at a rate of 16 bytes per EIB clock (for simplicity often regarded 8 bytes per system clock). Each SPU processor contains a dedicatedDMAmanagement queue capable of scheduling long sequences of transactions to various endpoints without interfering with the SPU's ongoing computations; these DMA queues can be managed locally or remotely as well, providing additional flexibility in the control model.

Data flows on an EIB channel stepwise around the ring. Since there are twelve participants, the total number of steps around the channel back to the point of origin is twelve. Six steps is the longest distance between any pair of participants. An EIB channel is not permitted to convey data requiring more than six steps; such data must take the shorter route around the circle in the other direction. The number of steps involved in sending the packet has very little impact on transfer latency: the clock speed driving the steps is very fast relative to other considerations. However, longer communication distances are detrimental to the overall performance of the EIB as they reduce available concurrency.

Despite IBM's original desire to implement the EIB as a more powerful cross-bar, the circular configuration they adopted to spare resources rarely represents a limiting factor on the performance of the Cell chip as a whole. In the worst case, the programmer must take extra care to schedule communication patterns where the EIB is able to function at high concurrency levels.

David Krolak explained:

Well, in the beginning, early in the development process, several people were pushing for a crossbar switch, and the way the bus is designed, you could actually pull out the EIB and put in a crossbar switch if you were willing to devote more silicon space on the chip to wiring. We had to find a balance between connectivity and area, and there just was not enough room to put a full crossbar switch in. So we came up with this ring structure which we think is very interesting. It fits within the area constraints and still has very impressive bandwidth.[44]

Bandwidth assessment[edit]

At 3.2 GHz, each channel flows at a rate of 25.6 GB/s. Viewing the EIB in isolation from the system elements it connects, achieving twelve concurrent transactions at this flow rate works out to an abstract EIB bandwidth of 307.2 GB/s. Based on this view many IBM publications depict available EIB bandwidth as "greater than 300 GB/s". This number reflects the peak instantaneous EIB bandwidth scaled by processor frequency.[45]

However, other technical restrictions are involved in the arbitration mechanism for packets accepted onto the bus. The IBM Systems Performance group explained:

Each unit on the EIB can simultaneously send and receive 16 bytes of data every bus cycle. The maximum data bandwidth of the entire EIB is limited by the maximum rate at which addresses are snooped across all units in the system, which is one per bus cycle. Since each snooped address request can potentially transfer up to 128 bytes, the theoretical peak data bandwidth on the EIB at 3.2 GHz is 128Bx1.6 GHz = 204.8 GB/s.[36]

This quote apparently represents the full extent of IBM's public disclosure of this mechanism and its impact. The EIB arbitration unit, the snooping mechanism, and interrupt generation on segment or page translation faults are not well described in the documentation set as yet made public by IBM.[citation needed]

In practice, effective EIB bandwidth can also be limited by the ring participants involved. While each of the nine processing cores can sustain 25.6 GB/s read and write concurrently, the memory interface controller (MIC) is tied to a pair of XDR memory channels permitting a maximum flow of 25.6 GB/s for reads and writes combined and the two IO controllers are documented as supporting a peak combined input speed of 25.6 GB/s and a peak combined output speed of 35 GB/s.

To add further to the confusion, some older publications cite EIB bandwidth assuming a 4 GHz system clock. This reference frame results in an instantaneous EIB bandwidth figure of 384 GB/s and an arbitration-limited bandwidth figure of 256 GB/s.

All things considered the theoretic 204.8 GB/s number most often cited is the best one to bear in mind. TheIBM Systems Performancegroup has demonstrated SPU-centric data flows achieving 197 GB/s on a Cell processor running at 3.2 GHz so this number is a fair reflection on practice as well.[36]

Memory and I/O controllers[edit]

Cell contains a dual channelRambusXIO macro which interfaces to RambusXDR memory.The memory interface controller (MIC) is separate from the XIO macro and is designed by IBM. The XIO-XDR link runs at 3.2 Gbit/s per pin. Two 32-bit channels can provide a theoretical maximum of 25.6 GB/s.

The I/O interface, also a Rambus design, is known asFlexIO.The FlexIO interface is organized into 12 lanes, each lane being a unidirectional 8-bit wide point-to-point path. Five 8-bit wide point-to-point paths are inbound lanes to Cell, while the remaining seven are outbound. This provides a theoretical peak bandwidth of 62.4 GB/s (36.4 GB/s outbound, 26 GB/s inbound) at 2.6 GHz. The FlexIO interface can be clocked independently, typ. at 3.2 GHz. 4 inbound + 4 outbound lanes are supporting memory coherency.

Possible applications[edit]

Video processing card[edit]

Some companies, such asLeadtek,have releasedPCI-Ecards based upon the Cell to allow for "faster than real time" transcoding ofH.264,MPEG-2andMPEG-4video.[46]

Blade server[edit]

On August 29, 2007, IBM announced theBladeCenterQS21. Generating a measured 1.05 giga–floating point operations per second (gigaFLOPS) per watt, with peak performance of approximately 460 GFLOPS it is one of the most power efficient computing platforms to date. A single BladeCenter chassis can achieve 6.4 tera–floating point operations per second (teraFLOPS) and over 25.8 teraFLOPS in a standard 42U rack.[47]

On May 13, 2008, IBM announced theBladeCenterQS22. The QS22 introduces the PowerXCell 8i processor with five times the double-precision floating point performance of the QS21, and the capacity for up to 32 GB of DDR2 memory on-blade.[48]

IBM has discontinued the Blade server line based on Cell processors as of January 12, 2012.[49]

PCI Express board[edit]

Several companies provide PCI-e boards utilising the IBM PowerXCell 8i. The performance is reported as 179.2 GFlops (SP), 89.6 GFlops (DP) at 2.8 GHz.[50][51]

Console video games[edit]

Sony'sPlayStation 3video game consolewas the first production application of the Cell processor, clocked at 3.2GHzand containing seven out of eight operational SPEs, to allow Sony to increase theyieldon the processor manufacture. Only six of the seven SPEs are accessible to developers as one is reserved by the OS.[21]

Home cinema[edit]

B-CAS cards in a Toshiba Cell Regza set-top box, based on the Cell Broadband Engine

Toshiba has producedHDTVsusing Cell. They presented a system to decode 48standard definitionMPEG-2streams simultaneously on a1920×1080screen.[52][53]This can enable a viewer to choose a channel based on dozens of thumbnail videos displayed simultaneously on the screen.

Supercomputing[edit]

IBM's supercomputer,IBM Roadrunner,was a hybrid of General Purpose x86-64Opteronas well as Cell processors. This system assumed the #1 spot on the June 2008 Top 500 list as the first supercomputer to run atpetaFLOPSspeeds, having gained a sustained 1.026 petaFLOPS speed using the standardLINPACK benchmark.IBM Roadrunner used the PowerXCell 8i version of the Cell processor, manufactured using 65 nm technology and enhanced SPUs that can handle double precision calculations in the 128-bit registers, reaching double precision 102 GFLOPs per chip.[54][55]

Cluster computing[edit]

Clusters ofPlayStation 3consoles are an attractive alternative to high-end systems based on Cell blades. Innovative Computing Laboratory, a group led byJack Dongarra,in the Computer Science Department at the University of Tennessee, investigated such an application in depth.[56]Terrasoft Solutions is selling 8-node and 32-node PS3 clusters withYellow Dog Linuxpre-installed, an implementation of Dongarra's research.

As first reported byWiredon October 17, 2007,[57]an interesting application of using PlayStation 3 in a cluster configuration was implemented by AstrophysicistGaurav Khanna,from the Physics department ofUniversity of Massachusetts Dartmouth,who replaced time used on supercomputers with a cluster of eight PlayStation 3s. Subsequently, the next generation of this machine, now called thePlayStation 3Gravity Grid,uses a network of 16 machines, and exploits the Cell processor for the intended application which is binaryblack holecoalescence usingperturbation theory.In particular, the cluster performs astrophysical simulations of largesupermassive black holescapturing smaller compact objects and has generated numerical data that has been published multiple times in the relevant scientific research literature.[58]The Cell processor version used by the PlayStation 3 has a main CPU and 6 SPEs available to the user, giving the Gravity Grid machine a net of 16 general-purpose processors and 96 vector processors. The machine has a one-time cost of $9,000 to build and is adequate for black-hole simulations which would otherwise cost $6,000 per run on a conventional supercomputer. The black hole calculations are not memory-intensive and are highly localizable, and so are well-suited to this architecture. Khanna claims that the cluster's performance exceeds that of a 100+ Intel Xeon core based traditional Linux cluster on his simulations. The PS3 Gravity Grid gathered significant media attention through 2007,[59]2008,[60][61]2009,[62][63][64]and 2010.[65][66]

The computational Biochemistry and Biophysics lab at theUniversitat Pompeu Fabra,inBarcelona,deployed in 2007 aBOINCsystem calledPS3GRID[67]for collaborative computing based on the CellMD software, the first one designed specifically for the Cell processor.

The United StatesAir Force Research Laboratoryhas deployed a PlayStation 3 cluster of over 1700 units, nicknamed the "Condor Cluster", for analyzinghigh-resolutionsatellite imagery.The Air Force claims the Condor Cluster would be the 33rd largest supercomputer in the world in terms of capacity.[68]The lab has opened up the supercomputer for use by universities for research.[69]

Distributed computing[edit]

With the help of the computing power of over half a million PlayStation 3 consoles, the distributed computing projectFolding@homehas been recognized byGuinness World Recordsas the most powerful distributed network in the world. The first record was achieved on September 16, 2007, as the project surpassed onepetaFLOPS,which had never previously been attained by a distributed computing network. Additionally, the collective efforts enabled PS3 alone to reach the petaFLOPS mark on September 23, 2007. In comparison, the world's second-most powerful supercomputer at the time, IBM'sBlue Gene/L,performed at around 478.2 teraFLOPS, which means Folding@home's computing power is approximately twice Blue Gene/L's (although the CPU interconnect in Blue Gene/L is more than one million times faster than the mean network speed in Folding@home). As of May 7, 2011, Folding@home runs at about 9.3 x86 petaFLOPS, with 1.6 petaFLOPS generated by 26,000 active PS3s alone.

Mainframes[edit]

IBM announced on April 25, 2007, that it would begin integrating its Cell Broadband Engine Architecture microprocessors into the company'sSystem zline of mainframes.[70]This has led to agameframe.

Password cracking[edit]

The architecture of the processor makes it better suited to hardware-assisted cryptographicbrute-force attackapplications than conventional processors.[71]

Software engineering[edit]

Due to the flexible nature of the Cell, there are several possibilities for the utilization of its resources, not limited to just different computing paradigms:[72]

Job queue[edit]

The PPE maintains a job queue, schedules jobs in SPEs, and monitors progress. Each SPE runs a "mini kernel" whose role is to fetch a job, execute it, and synchronize with the PPE.

Self-multitasking of SPEs[edit]

The mini kernel and scheduling is distributed across the SPEs. Tasks are synchronized usingmutexesorsemaphoresas in a conventionaloperating system.Ready-to-run tasks wait in a queue for an SPE to execute them. The SPEs use shared memory for all tasks in this configuration.

Stream processing[edit]

Each SPE runs a distinct program. Data comes from an input stream and is sent to SPEs. When an SPE has terminated the processing, the output data is sent to an output stream.

This provides a flexible and powerful architecture forstream processing,and allows explicit scheduling for each SPE separately. Other processors are also able to perform streaming tasks but are limited by the kernel loaded.

Open source software development[edit]

In 2005, patches enabling Cell support in the Linux kernel were submitted for inclusion by IBM developers.[73]Arnd Bergmann (one of the developers of the aforementioned patches) also described the Linux-based Cell architecture atLinuxTag2005.[74]As of release 2.6.16 (March 20, 2006), the Linux kernel officially supports the Cell processor.[75]

Both PPE and SPEs are programmable in C/C++ using a common API provided by libraries.

Fixstars SolutionsprovidesYellow Dog Linuxfor IBM and Mercury Cell-based systems, as well as for the PlayStation 3.[76]Terra Soft strategically partnered with Mercury to provide a Linux Board Support Package for Cell, and support and development of software applications on various other Cell platforms, including the IBM BladeCenter JS21 and Cell QS20, and Mercury Cell-based solutions.[77]Terra Soft also maintains the Y-HPC (High Performance Computing) Cluster Construction and Management Suite and Y-Bio gene sequencing tools. Y-Bio is built upon the RPM Linux standard for package management, and offers tools which help bioinformatics researchers conduct their work with greater efficiency.[78]IBM has developed a pseudo-filesystem for Linux coined "Spufs" that simplifies access to and use of the SPE resources. IBM is currently maintaining a LinuxkernelandGDBports, while Sony maintains theGNU toolchain(GCC,binutils).[79]

In November 2005, IBM released a "Cell Broadband Engine (CBE) Software Development Kit Version 1.0", consisting of a simulator and assorted tools, to its web site. Development versions of the latest kernel and tools forFedora Core4 are maintained at theBarcelona Supercomputing Centerwebsite.[80]

In August 2007, Mercury Computer Systems released a Software Development Kit for PlayStation 3 for High-Performance Computing.[81]

In November 2007, Fixstars Corporation released the new "CVCell" module aiming to accelerate several importantOpenCVAPIs for Cell. In a series of software calculation tests, they recorded execution times on a 3.2 GHz Cell processor that were between 6x and 27x faster compared with the same software on a 2.4 GHz Intel Core 2 Duo.[82]

In October 2009, IBM released anOpenCLdriver for POWER6 and CBE. This allows programs written in the cross-platform API to be easily run on Cell PSE.[83]

Gallery[edit]

Illustrations of the different generations of Cell/B.E. processors and the PowerXCell 8i. The images are not to scale; All Cell/B.E. packages measures 42.5×42.5 mm and the PowerXCell 8i measures 47.5×47.5 mm.

See also[edit]

References[edit]

  1. ^"PowerPC Architecture Book, Version 2.02".IBM.November 16, 2005. Archived fromthe originalon November 29, 2020.
  2. ^abcGschwind, Michael; Hofstee, H. Peter; Flachs, Brian; Hopkins, Martin; Watanabe, Yukio; Yamazaki, Takeshi (March–April 2006)."Synergistic Processing in Cell's Multicore Architecture"(PDF).IEEE Micro.26(2). IEEE: 10–24.doi:10.1109/MM.2006.41.S2CID17834015.
  3. ^"Cell Designer talks about PS3 and IBM Cell Processors".Archived fromthe originalon August 21, 2006.RetrievedMarch 22,2007.
  4. ^Gaudin, Sharon (June 9, 2008)."IBM's Roadrunner smashes 4-minute mile of supercomputing".Computerworld.Archived fromthe originalon December 24, 2008.RetrievedJune 10,2008.
  5. ^Fildes, Jonathan (June 9, 2008)."Supercomputer sets petaflop pace".BBC News.RetrievedJune 9,2008.
  6. ^Shankland, Stephen (February 22, 2006)."Octopiler seeks to arm Cell programmers".CNET.RetrievedMarch 22,2007.
  7. ^"Cell Broadband Engine Software Development Kit Version 1.0".LWN. November 10, 2005.RetrievedMarch 22,2007.
  8. ^Krewell, Kevin (February 14, 2005). "Cell Moves Into the Limelight".Microprocessor Report.
  9. ^ab"Introduction to the Cell multiprocessor".IBM Journal of Research and Development. August 7, 2005. Archived fromthe originalon February 28, 2007.RetrievedMarch 22,2007.
  10. ^abc"IBM Produces Cell Processor Using New Fabrication Technology".X-bit labs. Archived fromthe originalon March 15, 2007.RetrievedMarch 12,2007.
  11. ^"65nm CELL processor production started".PlayStation Universe. January 30, 2007. Archived fromthe originalon February 2, 2007.RetrievedMay 18,2007.
  12. ^Stokes, Jon (February 7, 2008)."IBM shrinks Cell to 45nm. Cheaper PS3s will follow".Arstechnica.RetrievedSeptember 19,2012.
  13. ^"IBM Offers Higher Performance Computing Outside the Lab".IBM.RetrievedMay 15,2008.
  14. ^"Sony answears our questions about the new PlayStation 3".Ars Technica.August 18, 2009.RetrievedAugust 19,2009.
  15. ^"Will Roadrunner Be the Cell's Last Hurrah?".October 27, 2009. Archived fromthe originalon October 31, 2009.
  16. ^"SC09: IBM lässt Cell-Prozessor auslaufen".HeiseOnline.November 20, 2009.RetrievedNovember 21,2009.
  17. ^"IBM have not stopped Cell processor development".DriverHeaven.net. November 23, 2009. Archived fromthe originalon November 25, 2009.RetrievedNovember 24,2009.
  18. ^Becker, David (February 7, 2005)."PlayStation 3 chip has split personality".CNET.RetrievedMay 18,2007.
  19. ^abThurrott, Paul (May 17, 2005)."Sony Ups the Ante with PlayStation 3".WindowsITPro. Archived fromthe originalon September 30, 2007.RetrievedMarch 22,2007.
  20. ^abRoper, Chris (May 17, 2005)."E3 2005: Cell Processor Technology Demos".IGN.RetrievedMarch 22,2007.
  21. ^abMartin Linklater. "Optimizing Cell Core".Game Developer Magazine, April 2007.pp. 15–18.To increase fabrication yields, Sony ships PlayStation 3 Cell processors with only seven working SPEs. And from those seven, one SPE will be used by the operating system for various tasks, This leaves six SPEs and 1 PPE for game programmers to use.
  22. ^ab"Mercury Wins IBM PartnerWorld Beacon Award".Supercomputing Online. April 12, 2007.RetrievedMay 18,2007.[dead link]
  23. ^"Fixstars Releases Accelerator Board Featuring the PowerXCell 8i".Fixstars Corporation. April 8, 2008. Archived fromthe originalon January 5, 2009.RetrievedAugust 18,2008.
  24. ^"A Glimpse Inside The Cell Processor".Gamasutra.July 13, 2006.RetrievedJune 19,2019.
  25. ^Koranne, Sandeep (July 15, 2009)."Chapter 2 - The Power Processing Element (PPE)".Practical Computing on the Cell Broadband Engine.Springer Science+Business Media.p. 17.doi:10.1007/978-1-4419-0308-2_2.ISBN978-1-4419-0307-5.
  26. ^Gschwind, Michael (2006)."Chip multiprocessing and the cell broadband engine".Proceedings of the 3rd conference on Computing frontiers - CF '06.ACM. pp. 1–8.doi:10.1145/1128022.1128023.ISBN1595933026.S2CID14226551.RetrievedJune 29,2008.
  27. ^abCell Broadband Engine Programming Handbook Including the PowerXCell 8i Processor(PDF).Version 1.11.IBM.May 12, 2008. Archived fromthe original(PDF)on March 11, 2018.RetrievedMarch 10,2018.
  28. ^"IBM announces PowerXCell 8i, QS22 blade server".Beyond3D. May 2008. Archived fromthe originalon June 16, 2008.RetrievedJune 10,2008.
  29. ^"The Green500 List - November 2009".Archived fromthe originalon February 23, 2011.
  30. ^"Packaging the Cell Broadband Engine Microprocessor for Supercomputer Applications"(PDF).Archived fromthe original(PDF)on January 4, 2014.RetrievedJanuary 4,2014.
  31. ^"Cell Microprocessor Briefing".IBM, Sony Computer Entertainment Inc., Toshiba Corp. February 7, 2005.
  32. ^abKim, Hyesoon(Spring 2011)."CS4803DGC Design and Programming of Game Console"(PDF).
  33. ^Koranne, Sandeep (2009).Practical Computing on the Cell Broadband Engine.Springer Science+Business Media. p. 19.ISBN9781441903082.
  34. ^Hofstee, H. Peter (2005)."All About the Cell Processor"(PDF).Archived fromthe original(PDF)on September 6, 2011.
  35. ^ab"Power Efficient Processor Design and the Cell Processor"(PDF).IBM. February 16, 2005. Archived fromthe original(PDF)on April 26, 2005.RetrievedJune 12,2005.
  36. ^abcdChen, Thomas; Raghavan, Ram; Dale, Jason; Iwata, Eiji (November 29, 2005)."Cell Broadband Engine Architecture and its first implementation".IBM developerWorks.Archived fromthe originalon October 27, 2012.RetrievedSeptember 9,2012.
  37. ^Alexander, Leigh (January 16, 2009)."Processing The Truth: An Interview With David Shippy]".Gamasutra.
  38. ^Last, Jonathan V. (December 30, 2008)."Playing the Fool".Wall Street Journal.
  39. ^SPU Application Binary Interface Specification(PDF).July 18, 2008. Archived fromthe original(PDF)on November 18, 2014.RetrievedJanuary 24,2015.
  40. ^"IBM Research - Cell".IBM.Archived fromthe originalon June 14, 2005.RetrievedJune 11,2005.
  41. ^"A novel SIMD architecture for the Cell heterogeneous chip-multiprocessor"(PDF).Hot Chips 17. August 15, 2005. Archived fromthe original(PDF)on July 9, 2008.RetrievedJanuary 1,2006.
  42. ^"Cell successor with turbo mode - PowerXCell 8i".PPCNux. November 2007. Archived fromthe originalon January 10, 2009.RetrievedJune 10,2008.
  43. ^"Supporting OpenMP on Cell"(PDF).IBM T. J Watson Research.Archived fromthe original(PDF)on January 8, 2019.
  44. ^ab"Meet the experts: David Krolak on the Cell Broadband Engine EIB bus".IBM. December 6, 2005.RetrievedMarch 18,2007.
  45. ^"Cell Multiprocessor Communication Network: Built for Speed"(PDF).IEEE. Archived fromthe original(PDF)on January 7, 2007.RetrievedMarch 22,2007.
  46. ^"Leadtek PxVC1100 MPEG-2/H.264 Transcoding Card".November 12, 2009.
  47. ^ "IBM Doubles Down on Cell Blade"(Press release). Armonk, New York:IBM.August 29, 2007.RetrievedJuly 19,2017.
  48. ^ "IBM Offers High Performance Computing Outside the Lab"(Press release). Armonk, New York:IBM.May 13, 2008.RetrievedJuly 19,2017.
  49. ^ Morgan, Timothy Prickett (June 28, 2011)."IBM to snuff last Cell blade server".The Register.RetrievedJuly 19,2017.
  50. ^"Fixstars Press Release".Archived fromthe originalon January 5, 2009.RetrievedAugust 18,2008.
  51. ^"Cell-based coprocessor card runs Linux".Archived fromthe originalon May 2, 2009.
  52. ^"Toshiba Demonstrates Cell Microprocessor Simultaneously Decoding 48 MPEG-2 Streams".Tech-On!. April 25, 2005.
  53. ^"Winner: Multimedia Monster".IEEE Spectrum.January 1, 2006. Archived fromthe originalon January 18, 2006.RetrievedJanuary 22,2006.
  54. ^"Beyond a Single Cell"(PDF).Los Alamos National Laboratory. Archived fromthe original(PDF)on July 8, 2009.RetrievedApril 6,2017.
  55. ^Williams, Samuel; Shalf, John; Oliker, Leonid; Husbands, Parry; Kamil, Shoaib; Yelick, Katherine (2005)."The Potential of the Cell Processor for Scientific Computing".ACM Computing Frontiers.RetrievedApril 6,2017.
  56. ^"SCOP3: A Rough Guide to Scientific Computing On the PlayStation 3"(PDF).Computer Science Department, University of Tennessee. Archived fromthe original(PDF)on October 15, 2008.RetrievedMay 8,2007.
  57. ^Gardiner, Bryan (October 17, 2007)."Astrophysicist Replaces Supercomputer with Eight PlayStation 3s".Wired.RetrievedOctober 17,2007.
  58. ^"PS3 Gravity Grid".Gaurav Khanna, Associate Professor, College of Engineering, University of Massachusetts Dartmouth.
  59. ^"PS3 cluster creates homemade, cheaper supercomputer".October 24, 2007.
  60. ^Highfield, Roger (February 17, 2008)."Why scientists love games consoles".The Daily Telegraph.London. Archived fromthe originalon September 6, 2009.
  61. ^Peckham, Matt (December 23, 2008)."Nothing Escapes the Pull of a PlayStation 3, Not Even a Black Hole".The Washington Post.
  62. ^Malik, Tariq (January 28, 2009)."Playstation 3 Consoles Tackle Black Hole Vibrations".Space.
  63. ^Lyden, Jacki (February 21, 2009)."Playstation 3: A Discount Supercomputer?".NPR.
  64. ^Wallich, Paul (April 1, 2009)."The Supercomputer Goes Personal".IEEE Spectrum.
  65. ^"The PlayStation powered super-computer".BBC News.September 4, 2010.
  66. ^Farrell, John (November 12, 2010)."Black Holes and Quantum Loops: More Than Just a Game".Forbes.
  67. ^"PS3GRID.net".
  68. ^"Defense Department discusses new Sony PlayStation supercomputer".November 30, 2010.
  69. ^"PlayStation 3 Clusters Providing Low-Cost Supercomputing to Universities".Archived fromthe originalon May 14, 2013.
  70. ^"IBM Mainframes Go 3-D".eWeek.April 26, 2007.RetrievedMay 18,2007.
  71. ^"PlayStation speeds password probe".BBC News.November 30, 2007.RetrievedJanuary 17,2011.
  72. ^"CELL: A New Platform for Digital Entertainment".Sony Computer Entertainment Inc. March 9, 2005. Archived fromthe originalon October 28, 2005.
  73. ^Bergmann, Arnd (June 21, 2005)."ppc64: Introduce Cell/BPA platform, v3".RetrievedMarch 22,2007.
  74. ^"The Cell Processor Programming Model".LinuxTag 2005.Archived fromthe originalon November 18, 2005.RetrievedJune 11,2005.
  75. ^Shankland, Stephen (March 21, 2006)."Linux gets built-in Cell processor support".CNET.RetrievedMarch 22,2007.
  76. ^"Terra Soft to Provide Linux for PLAYSTATION3".Archived fromthe originalon March 30, 2009.
  77. ^Terra Soft - Linux for Cell, PlayStation PS3, QS20, QS21, QS22, IBM System p, Mercury Cell, and Apple PowerPCArchivedFebruary 23, 2007, at theWayback Machine
  78. ^"Y-Bio".August 31, 2007. Archived fromthe originalon September 2, 2007.
  79. ^"Arnd Bergmann on Cell".IBM developerWorks. June 25, 2005.
  80. ^"Linux on Cell BE-based Systems".Barcelona Supercomputing Center. Archived fromthe originalon March 8, 2007.RetrievedMarch 22,2007.
  81. ^"Mercury Computer Systems Releases Software Development Kit for PLAYSTATION(R)3 for High-Performance Computing"(Press release).Mercury Computer Systems.August 3, 2007. Archived fromthe originalon August 18, 2007.
  82. ^""CVCell" - Module developed by Fixstars that accelerates OpenCV Library for the Cell/B.E. processor ".Fixstars Corporation. November 28, 2007. Archived fromthe originalon July 17, 2010.RetrievedDecember 12,2008.
  83. ^"IBM Releases OpenCL Drivers for POWER6 and Cell/B.E."The Khronos Group.September 2, 2023.

External links[edit]