multicore systems cet306 harry r. erwin university of sunderland

11
Multicore Systems CET306 Harry R. Erwin University of Sunderland

Upload: garey-parks

Post on 12-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Multicore Systems CET306 Harry R. Erwin University of Sunderland

Multicore Systems

CET306Harry R. Erwin

University of Sunderland

Page 2: Multicore Systems CET306 Harry R. Erwin University of Sunderland

Roadmap

• Survey of the history of multicore systems (based on the author’s personal experience and the end of Breshears, chapter 3)

• Current multicore architectures

Page 3: Multicore Systems CET306 Harry R. Erwin University of Sunderland

Texts

• Clay Breshears (2009) The Art of Concurrency: A Thread Monkey's Guide to Writing Parallel Applications, O'Reilly Media.

• Sedgewick and Wayne (2011) Algorithms, Fourth Edition, Addison-Wesley.

Page 4: Multicore Systems CET306 Harry R. Erwin University of Sunderland

History of Multicore Systems

• The first computer the author learned to program on (in FORTRAN IV) was the CDC Cyber 7600/7700, designed by Seymour Cray.

• This was a multicore system with one or two central processor units (CPUs), and a variable number of peripheral processor units (PPUs).

• The central processor units were the highest performance processing units of the time, running 10,000,000 instructions per second per CPU and sharing about 1,000,000 60-bit words of fast memory. The peripheral processor units handled communications between memory and peripheral devices.

• This system was used to control a defence system.

Page 5: Multicore Systems CET306 Harry R. Erwin University of Sunderland

More History

• Multiple computation units on a bus are used on most satellites. One of the more difficult problems that has to be solved is power, both supply and dissipation.

• Other early specialised computation devices were floating point units and graphical processing units.

• The Grid architecture was invented by the US intelligence community in the early 1990s as a way of exploiting specialised computing resources.

Page 6: Multicore Systems CET306 Harry R. Erwin University of Sunderland

AIGA Briefing.

• This is a briefing on an early Grid implementation.

Page 7: Multicore Systems CET306 Harry R. Erwin University of Sunderland

Breshears Discussion

• Out of order execution was an early approach to distributed processing. That is, instructions were performed sequentially, but completed in parallel, and eventually their results reordered in the initial order.

• Individual instruction execution units tend to be specialised.

• Does not give complete parallelism as later instructions have to wait for all prerequisite instructions to finish.

• Initially used to avoid floating point instructions being a bottleneck. Invented by Cray and developed (in particular) by Intel.

Page 8: Multicore Systems CET306 Harry R. Erwin University of Sunderland

Streaming SIMD Execution (SSE) Technology

• Adds registers to the CPU that hold multiple data items in parallel.

• Operations are then performed in parallel.• Originally invented for submarine sonar

processing.• Led to vector processors.

Page 9: Multicore Systems CET306 Harry R. Erwin University of Sunderland

Symmetric Multiprocessing (SMP)

• Multiple CPUs with shared resources on a motherboard.

• Invented by Cray.• Supports multi-threading.

Page 10: Multicore Systems CET306 Harry R. Erwin University of Sunderland

Multicore Processors

• Integration of SMP into a single chip.• Currently the basis of CPU development.• Power usage and dissipation and parallel

programming are the nasty technical issues• “Welcome to the future.”• Why Moore’s Law has slowed down.

Page 11: Multicore Systems CET306 Harry R. Erwin University of Sunderland

Discussion Topics

• Discussion of the project.