tailieunhanh - CS6290 Multiprocessors

CS6290 Multiprocessors includes Multiprocessing, Flynn’s Taxonomy, Multiprocessors, MIMD Multiprocessors, Centralized-Memory Machines, Distributed-Memory Machines, Message-Passing Machines, Communication Performance. | CS6290 Multiprocessors Multiprocessing • Flynn’s Taxonomy of Parallel Machines – How many Instruction streams? – How many Data streams? • SISD: Single I Stream, Single D Stream – A uniprocessor • SIMD: Single I, Multiple D Streams – Each “processor” works on its own data – But all execute the same instrs in lockstep – . a vector processor or MMX Flynn’s Taxonomy • MISD: Multiple I, Single D Stream – Not used much – Stream processors are closest to MISD • MIMD: Multiple I, Multiple D Streams – Each processor executes its own instructions and operates on its own data – This is your typical off-the-shelf multiprocessor (made using a bunch of “normal” processors) – Includes multi-core processors Multiprocessors • Why do we need multiprocessors? – Uniprocessor speed keeps improving – But there are things that need even more speed • Wait for a few years for Moore’s law to catch up? • Or use multiple processors and do it now? • Multiprocessor software problem – Most code is sequential (for uniprocessors) • MUCH easier to write and debug – Correct parallel code very, very difficult to write • Efficient and correct is even harder • Debugging even more difficult (Heisenbugs) ILP limits reached? MIMD Multiprocessors Centralized Shared Memory Distributed .