multicore systems cet306 harry r. erwin university of sunderland
TRANSCRIPT
![Page 1: Multicore Systems CET306 Harry R. Erwin University of Sunderland](https://reader036.vdocument.in/reader036/viewer/2022083008/56649e9f5503460f94ba0c2a/html5/thumbnails/1.jpg)
Multicore Systems
CET306Harry R. Erwin
University of Sunderland
![Page 2: Multicore Systems CET306 Harry R. Erwin University of Sunderland](https://reader036.vdocument.in/reader036/viewer/2022083008/56649e9f5503460f94ba0c2a/html5/thumbnails/2.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022083008/56649e9f5503460f94ba0c2a/html5/thumbnails/3.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022083008/56649e9f5503460f94ba0c2a/html5/thumbnails/4.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022083008/56649e9f5503460f94ba0c2a/html5/thumbnails/5.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022083008/56649e9f5503460f94ba0c2a/html5/thumbnails/6.jpg)
AIGA Briefing.
• This is a briefing on an early Grid implementation.
![Page 7: Multicore Systems CET306 Harry R. Erwin University of Sunderland](https://reader036.vdocument.in/reader036/viewer/2022083008/56649e9f5503460f94ba0c2a/html5/thumbnails/7.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022083008/56649e9f5503460f94ba0c2a/html5/thumbnails/8.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022083008/56649e9f5503460f94ba0c2a/html5/thumbnails/9.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022083008/56649e9f5503460f94ba0c2a/html5/thumbnails/10.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022083008/56649e9f5503460f94ba0c2a/html5/thumbnails/11.jpg)
Discussion Topics
• Discussion of the project.