multicore systems cet306 harry r. erwin university of sunderland
Post on 12-Jan-2016
212 Views
Preview:
TRANSCRIPT
Multicore Systems
CET306Harry 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
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.
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.
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.
AIGA Briefing.
• This is a briefing on an early Grid implementation.
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.
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.
Symmetric Multiprocessing (SMP)
• Multiple CPUs with shared resources on a motherboard.
• Invented by Cray.• Supports multi-threading.
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.
Discussion Topics
• Discussion of the project.
top related