0% found this document useful (0 votes)
82 views20 pages

6.189 Info Session

This document summarizes a course about parallel programming and multicore processors. The course will use the PS3 as a platform to teach parallel programming concepts and have students complete group projects. Students will learn about the rise of multicore processors, parallel programming patterns, and tools for debugging and performance. The projects will involve implementing algorithms or applications using the PS3's multiple cores and resources.

Uploaded by

Muhammad Wasif
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
82 views20 pages

6.189 Info Session

This document summarizes a course about parallel programming and multicore processors. The course will use the PS3 as a platform to teach parallel programming concepts and have students complete group projects. Students will learn about the rise of multicore processors, parallel programming patterns, and tools for debugging and performance. The projects will involve implementing algorithms or applications using the PS3's multiple cores and resources.

Uploaded by

Muhammad Wasif
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

Saman Amarasinghe and Rodric Rabbah Massachusetts Institute of Technology http://cag.csail.mit.edu/ps3 6.189-chair@mit.

edu

A new processor design pattern emerges: The Arrival of Multicores


MIT Raw 16 Cores Since 2002 Intel Montecito 1.7 Billion transistors Dual Core IA/64 Intel Pentium D (Smithfield) Cancelled Intel Tejas & Jayhawk Unicore (4GHz P4) Intel Tanglewood Dual Core IA/64 Intel Dempsey Dual Core Xeon

Intel Pentium Extreme 3.2GHz Dual Core Intel Yonah Dual Core Mobile AMD Opteron Dual Core Sun Olympus and Niagara 8 Processor Cores IBM Cell Scalable Multicore

IBM Power 4 and 5 Dual Cores Since 2001

IBM Power 6 Dual Core

2H 2004

1H 2005

2H 2005

1H 2006

2H 2006

What is Multicore?

Multiple, externally visible processors on a single die where the processors have independent control-flow, separate internal state and no critical resource sharing. Multicores have many names

Parallel Processors on a Chip Chip Multiprocessor (CMP) Tiled Processor

Why Move to Multicores?


Many issues with scaling a unicore


Power Efficiency Complexity Wire Delay Diminishing returns from optimizing a single instruction stream

Multicores Of The Future


512 256 128
Picochip PC102 Cisco CSR-1 Ambric AM2045

# of cores

64 32

Agarwals Corollary (to Moores Law): number of cores on a chip will double every ~year!
Raza XLR

Intel Tflops

Raw

16 8 4 2 1
4004 8008 8080 8086 286 386 486 Pentium Niagara Boardcom 1480

Cavium Octeon

Cell Opteron 4P Xeon MP

Xbox360 PA-8800 Opteron Tanglewood Power4 PExtreme Power6 Yonah P2 P3 Itanium P4 Itanium 2 Athlon

1970

1975

1980

1985

1990

1995

2000

2005

20??

The PS3: A Multicore Architecture


Cell Inside

9 processing units

8 cores are the same (SPE) 1 Power PC core (PPE)

Synergistic Processing Element (SPE)


Short vector processor SIMD-only


16 bytes register/memory access

128 x 128-bit registers 256KB local store


Aligned accesses only 16 byte for load/store 128 byte for IFETCH/DMA Explicitly move data in and out of the local store 16 outstanding requests

Dedicated DMA engine


Dual issue (under certain constraints) No H/W branch prediction


Compare/select predication Branch hint instruction

Programming Multicores

Programming multicores is different from traditional programming (for uniprocessors)


Multicores
Multiple flows of control Multiple local memories Parallel Programming: orchestration of computation and communication is a sure necessity

Uniprocessors
Single flow of control Single memory image Sequential Programming: no explicit need for orchestration of computation or communication

Parallel programming traditionally in exclusive domains


NASA, Scientific codes, and the like

Whats New in Parallel Programming


Parallel programming for the masses Parallel programming in many domains Parallel programming can be fun

The New Parallel Programming Phenomenon

What Is This Course About


Learn about the emergence of multicores


Why is parallel hardware finally becoming mainstream

Learn about parallel programming patterns


Classical and new work in the field

Learn about challenges in parallel programming with hands on experience


Programming languages, tools for debugging, tools for performance monitoring

Get your hands on a PS3 to make it all fun


Group projects will run on PS3 hardware

Project Ideas

New feature rich games or applications


Exploit available resources for new effects or features Multimedia feature extraction and indexing For drug discovery, protein folding Feature detection (face recognition), pattern matching (network intrusion detection, gene discovery) Medical imaging to recognize abnormal tissues Oil field analysis to find oil rich wells Models for financial markets to maximize profits

Simulation of molecular dynamics


Security applications

Monte Carlo simulations


Algorithms that exploit SIMD properties of SPEs

More Project Ideas


Linear Algebra Library Multi-pattern string matching Black Scholes PDE Solver JPEG or MPEG encoding Viterbi Algorithm applied to bioinformatics

Examples of Project Scope


Can take existing algorithms and re-implement them in a parallel or SIMD equivalent

Pattern matching for security applications

Can take existing applications and modify them for the PS3 adding new capabilities

Add new features to the Quake 3 game engine

Design and implement a new project form scratch that harnesses the power of the Cell and PS3

Course Organization

Lectures three times a week


Monday, Wednesday, and Friday 2 1 hour lectures with small break between lectures 10 am 12:15pm Tuesday and Thursday Small teams (no more than 4-5 per group) Project presentation on Thursday January 29 Each group will have dedicated access to PS3 and tools

Labs and recitation two times a week


Group project

Awards and Reception on Friday January 30 Course will be available on OCW

Course Enrollment

Interested students should discuss project ideas first by Friday December 15


Choose from existing ideas Or come up with your own project idea Well help you

Enrollment limited and by invitation


Preference to interesting projects

Project Support

Direct access to PS3 hardware Direct access to Tools from Sony and IBM

Compilers, tutorials, example codes C using threads and Cell intrinsic instructions for direct access to the bare metal StreamIt and StreamIt virtual machine which hides the bare metal and provides a rich programming interface Other approaches are also possible (e.g., OpenMP or MPI)

Projects can be implemented in


Project Resources

Go to the course Wiki


Browse list of projects idea Submit your project idea Sign up for a project Find team members

Follow link from course web page http://cag.csail.mit.edu/ps3

Who to Contact

[email protected]

Email to ask general questions about the course Or to discuss (feasibility of) project ideas

[email protected]

Students and instructors Send project ideas Find team members

Acknowledgements

Sony IBM Toshiba

You might also like