Recent Changes - Search:

Teaching

Research

edit SideBar

Multicore

Multicore Architecture and Programming

Aims and Motivations

Multicore microprocessors are now the main stream processing evirnoment. Most majour microprocessor venders have released multicore processors; for example, Intel’s Core 2, Sony-IBM-Toshiba’s Cell processor, Sun’s Niagra and AMD’s Operton. Moreover, graphics processing units (GPUs) are also based on multicore paradigm. A general challenge for these microprocessors are programmability. The previous generation of microprocessors are based on superscalar architecture; the programmer writes serial code, and the hardware dynamically extracts instruction-level parallelism. Such shift to multicore design exposes the programmer to the underlying parallel hardware via instruction sets. Parallel programming is therefore required to utilise the underlying hardware.

Given the above complexlity in programming, another challenge, from the hardware point of view, is supporing programmability. That would also be coupled with targetting the increasing media content in current computer workloads. This course aims to cover the state-of-the art in multicore design. This is acheived by reviewing fundamental architecture concepts that is applicable to both uni- andmultiprocessor architectures. The course also covers parallel programming concepts. Students are expected to work on a term project on programming a ‘real’ parallel environment. The environment include the new Cell processor (via a Playstation 3 hardware) and Intel’smulticore. Students interested in designing hardware are encouraged to work on developing hardware simulation (for example the RAMP project) or extending the VHDL code of the Sun Niagra processor.

Lecture Plan

LectureTopic
1Introduction
 Advanced Uniprocessor Architecture
2Superscalar Design
3VLIW, Vector, SIMD Design
4Multithreading, Trace Caches
 Parallel Processor Architecture
5Shared Memory Architecture Concepts
6Intel Teraflop Research Processor, Jamaica Processor
7Message Passing Architecture Concepts
8-9Cell Processor
 Hardware Support for Parallel Programming
10Transaction Memories
11Speculative Threading
12Object Memories
 Parallel Programming
13Control flow: Threads, Processes
14Scheduling Load Balancing
15Parallel Algorithm Examples
16MPI, RapidMind
17Cell Programming

Text Books

  • Jack Dongarra, Ian Foster, Geoffrey Fox, William Gropp, Ken Kennedy, Linda Torczon, Andy White, The Sourcebook of Parallel Computing, Elsevier, 2002.
  • John Hennessy, David Patterson, Computer Architecture A Quantitative Approach, 4th Edition, Elsevier, 2006.
Edit - History - Print - Recent Changes - Search
Page last modified on September 30, 2007, at 02:32 AM