{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

15+-+Multiprocessing

15+-+Multiprocessing - CS 4290/6290 Multiproce ssing and...

Info iconThis preview shows pages 1–8. Sign up to view the full content.

View Full Document Right Arrow Icon
CS 4290/6290 Multiprocessing and Multithreading
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
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 E.g. a vector processor or MMX CS 4290/6290 – Spring 2009 – Prof. Milos Prvulovic 2
Background image of page 2
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 CS 4290/6290 – Spring 2009 – Prof. Milos Prvulovic 3
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Why do we need multiprocessors? Uniprocessor speed still improving (slowly) Want to keep doubling performance every 18 months Keep up with “Moore’s Law” There are things that need more speed Get ahead of “Moore’s Law”! 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) CS 4290/6290 – Spring 2009 – Prof. Milos Prvulovic 4
Background image of page 4
CS 4290/6290 – Spring 2009 – Prof. Milos Prvulovic Centralized Shared Memory Distributed Memory 5
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Also “Symmetric Multiprocessors” (SMP) “Uniform Memory Access” (UMA) All memory locations have similar latencies Data sharing through memory reads/writes P1 can write data to a physical address A, P2 can then read physical address A to get that data Problem: Memory Contention All processor share the one memory Memory bandwidth becomes bottleneck Used only for smaller machines Most often 2,4, or 8 processors CS 4290/6290 – Spring 2009 – Prof. Milos Prvulovic 6
Background image of page 6
CS 4290/6290 – Spring 2009 – Prof. Milos Prvulovic Two kinds Distributed Shared-Memory (DSM) All processors can address all memory locations Data sharing like in SMP Also called NUMA (non-uniform memory access) Latencies of different memory locations can differ (local access faster than remote access) Message-Passing A processor can directly address only local memory To communicate with other processors, must explicitly send/receive messages Also called multicomputers or clusters Most accesses local, so less memory contention (can scale to well over 1000 processors) 7
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Image of page 8
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}