110 likes | 270 Views
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. Texts.
E N D
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
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.