PS3

advertisement
Parallel Processing
with PlayStation3
Lawrence Kalisz

Cell Processor
1. History
2. Architecture

Parallel Programming
1. Install Linux
2. Examples

PS3 Cluster
1. Applications
2. Examples
Topics

Created by Sony, Toshiba, and IBM (STI)

400 Engineers

½ Billion Dollars
PS3 Cell Processor: History
PS3 Cell Processor: Architecture
PS3 Cell Processor: Architecture

Power Processing Element (PPE)

Synergistic Processing Element (SPE)

Element Interconnection Bus (EIB)

Memory System

Network Card & Graphics Card
PS3 Cell Processor: Architecture
PPE handles operating system and control
tasks
 ● 64-bit Power Architecture with VMX
 ● In-order, 2-way hardware simultaneous
multi-threading (SMT)
 ● 32KB L1 cache (I & D) and 512KB L2

Power Processor Element
Specialized high performance core
 Three main components

1. SPU: Supplemental Processing Units
2. LS: local store memory
3. MFC: memory flow control manages data in and
out of SPE
Can only access (load & store) data in the
SPE local store
 7 SPEs used for rendering, 1 SPE reserved
for image compression

Synergistic Processing Element






SPU needs data
1. SPU initiates MFC request for data
2. MFC requests data from memory
3. Data is copied to local store
4. SPU can access data from local store
SPU operates on data then copies data
from local store back to memory in a
similar process
SPE: Data IN and OUT Steps
SPE: Data IN and OUT Steps
• Physically overlaps all processor elements
• Central arbiter supports up to 3 concurrent transfers per ring
• 2 stage, dual round robin arbiter
• Each port supports concurrent 16B in and 16B out data path
• Ring topology is transparent to element data interface
• Each EIB Bus data port supports 25.6GBytes/sec each way
Element Interconnect Bus
PS3 Cell: Parallel Programming

Current working Linux distros:
1.
2.
3.
4.
Fedora Core 5
YellowDog 5.0
Gentoo PowerPC 64 edition
Debian

OpenMPI (for use with cluster)

IBM’s CELL SDK
PS3 Cell: Parallel Programming

Cell performance ~10x better than GPU
for media and other applications that can
take advantage of its SIMD capability
◦ PPE performance is comparable to a traditional
GPU performance
◦ SPE performance mostly the same as, or better
than, a GPU with SIMD
◦ Performance scales with number of SPEs
PS3 Cell: Parallel Programming

Programming becomes exercise in partitioning,
mapping (layout),routing (communication) and
scheduling
PS3 Cell: Parallel Programming

AI Backgammon player
PS3 Cell: Parallel Programming



AI Backgammon player
1M board evaluations in ~3 seconds (6 SPEs)
Data parallel implementation, linear speedup
PS3 Cell: Parallel Programming
SPU programs are designed and written to
work together but are compiled
independently
 Separate compiler and toolchain (ppu-gcc
and spu-gcc)
 Produces small ELF image for each
program that can be embedded in PPU
program

PS3 Cell: Parallel Programming

BLUE-STEEL
PS3 Cell: Parallel Programming




BLUE-STEEL
Full ray tracer running on each SPE
Data parallel implementation
://www.youtube.com/watch?v=C3ARXUSKXAM&f
eature=player_detailpage
PS3 Cell: Parallel Programming


BLUE-STEEL
A Solution to the rendering equation
◦ Triangle Rasterization
– Fast – possible in real time on a single core
– Inaccurate or tedious for global effects such as shadows,
reflection, refraction, or global illumination

Ray Tracing
– Slow – unless done on multiple cores
– Accurate and natural shadows, reflection, and
refraction
PS3 Cell: Parallel Programming


BLUE-STEEL
Build a fast ray tracer from the ground up to take
advantage of multiple cores.
– 6 accessible cores for rendering
PS3 Cell: Parallel Programming




Ray Tracing
Shoot a ray through each pixel on the screen
Check for intersections with each object in the scene
Keep the closest intersection
PS3 Cell: Parallel Programming



Ray Tracing
Shade each point according to the material of the object,
as well as the lights in the scene
Cast rays for shadows, reflection, and refraction
PS3 Cell: Parallel Programming

BLUE-STEEL
PS3 Cell: Parallel Programming

Air Force

Folding@home

PS3 Gravity Grid

LACAL Student Cluster
PS3: Cluster Applications





http://groups.csail.mit.edu/cag/ps3/
http://impact.asu.edu/cse520fa07/lec19PS3-cell-tutorial.pdf
http://www.youtube.com/watch?v=VxaL
mS7XPiI
http://en.wikipedia.org/wiki/PlayStation_3
_cluster
http://www.netlib.org/utk/people/JackDon
garra/PAPERS/scop3.pdf
References
Any Questions ?
Download