Slides kiến trúc máy tính nhóm 8 multiprocessor

108 1.1K 9
Slides kiến trúc máy tính nhóm 8 multiprocessor

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

LOGO MultiProcessor Nhóm 8: Nguyễn phúc Ánh – 13070221 Lê Minh Nam – 13070249 Nguyễn Hữu Hiếu – 12073119 Mai Văn Tinh – 13070270 Lê Thanh Phương – 13070254 Lý Đoàn Duy Khánh – 13070238 Contents Introduce MultiProcessor Synchronization Memory Consistency Superscalar Cache Coherence Directory-Based Protocol Snoopy-based protocol MESI Protocol Contents Introduce MultiProcessor Introduce MultiProcessor System A multiprocessor is a tightly coupled computer system having two or more processing units (Multiple Processors) each sharing main memory and peripherals, in order to simultaneously process programs complete system Introduce MultiProcessor System Why we need multiprocessors ?     Need to improve system performance Uniprocessor speed keeps improving but will be limited Growth in data-intensive applications: database, file server Improved understanding in how to use multiprocessors effectively => Solution  Improve performance by connecting multiple microprocessors together Introduce MultiProcessor System Flynn’s Taxonomy Flynn’s Taxonomy of Parallel Machines classified into four categories based on     How many Instruction streams? How many Data streams? Two possible states: Single or Multiple Four category of Flynn classification: • SISD • SIMD • MISD • MIMD Flynn’s Taxonomy SISD: Single I Stream, Single D Stream  A uniprocessor  Single instruction: only one instruction stream is being acted on by the CPU during any one clock cycle  Single data: only one data stream is being used as input during any one clock cycle  Instructions are executed sequentially  IBM 701, IBM 1620, IBM 7090 Flynn’s Taxonomy SIMD: Single I, Multiple D Streams  The same instruction is executed by multiple processors  Each processor has its own data memory (hence multiple data)  Popular for some applications like image, word processing  Illiac – IV (Word Slice Processing), STARAN (Bit Slice processing) Flynn’s Taxonomy MISD: Multiple I, Single D Stream  Not used much, use for special purpose computations  multiple cryptography algorithms attempting to crack a single coded message MESI Protocol (4)  Operation can be described informally by looking at action in local processor • • • • Read Hit Read Miss Write Hit Write Miss  More formally by state transition diagram MESI Local Read Hit  Line must be in one of MES  This must be correct local value (if M it must have been modified locally)  Simply return value  No state change MESI Local Read Miss (1)  No other copy in caches  Processor makes bus request to memory  Value read to local cache, marked E  One cache has E copy      Processor makes bus request to memory Snooping cache puts copy value on the bus Memory access is abandoned Local processor caches value Both lines set to S MESI Local Read Miss (2)  Several caches have S copy       Processor makes bus request to memory One cache puts copy value on the bus (arbitrated) Memory access is abandoned Local processor caches value Local copy set to S Other copies remain S MESI Local Read Miss (3)  One cache has M copy        Processor makes bus request to memory Snooping cache puts copy value on the bus Memory access is abandoned Local processor caches value Local copy tagged S Source (M) value copied back to memory Source value M -> S MESI Local Write Hit (1) Line must be one of MES M  line is exclusive and already ‘dirty’  Update local cache value  no state change E  Update local cache value  State E -> M MESI Local Write Hit (2) S     Processor broadcasts an invalidate on bus Snooping processors with S copy change S->I Local cache value is updated Local state change S->M MESI Local Write Miss (1) Detailed action depends on copies in other processors  No other copies  Value read from memory to local cache (?)  Value updated  Local copy state set to M MESI Local Write Miss (2)  Other copies, either one in state E or more in state S  Value read from memory to local cache - bus transaction marked RWITM (read with intent to modify)  Snooping processors see this and set their copy state to I  Local copy updated & state set to M MESI Local Write Miss (3) Another copy in state M  Processor issues bus transaction marked RWITM  Snooping processor sees this     Blocks RWITM request Takes control of bus Writes back its copy to memory Sets its copy state to I MESI Local Write Miss (4) Another copy in state M (continued)  Original local processor re-issues RWITM request  Is now simple no-copy case  Value read from memory to local cache  Local copy value updated  Local copy state set to M MESI Local Write Miss (4) Another copy in state M (continued)  Original local processor re-issues RWITM request  Is now simple no-copy case  Value read from memory to local cache  Local copy value updated  Local copy state set to M MESI – locally initiated accesses Invalid RWITM Write Miss Read Hit Modified Write Hit Mem Read Mem Read Read Miss(sh) Read Miss(ex) Write Hit Shared Read Hit Exclusive Rea d Hit Invalidate Write Hit = bus transaction MESI – remotely initiated accesses Mem Read Invalidate Invalid Shared Mem Read RWITM Modified Mem Read RWITM Exclusive = copy back LOGO Thank You ! [...]... Multiple I, Multiple D Streams  Each processor executes its own instructions and operates on its own data  Includes multi-core processors  Use for: General purpose parallel computers  IBM 370/1 68 MP; Univac 1100 /80 Contents 2 Synchronization Locking Typical use of a lock: while (!acquire (lock)) /*spin*/ /* some computation on shared data (critical section) */ release (lock) Acquire based on primitive:... processor performs an atomic operation to obtain a memory location (element of an array) on which to spin o Upon a release, the lock can be directly handed off to the next waiting processor Contents 3 7 8 Memory Consistency Outline       Memory consistency Relaxed Consistency Models Sequential Consistency Processor Consistency Weak Consistency Release Consistency  Eager release consistency  Lazy... model, and release consistency, depending on the details of the ordering restrictions and how synchronization operations enforce ordering Sequential Consistency  Sequential Consistency (Lamport*) “A multiprocessor is sequentially consistent if the result of any execution is the same as if the operations of all the processors were executed in some sequential order, and the operations of each individual

Ngày đăng: 01/12/2016, 21:05

Từ khóa liên quan

Mục lục

  • Slide 1

  • Contents

  • Contents

  • Introduce MultiProcessor System

  • Introduce MultiProcessor System

  • Introduce MultiProcessor System

  • Flynn’s Taxonomy

  • Flynn’s Taxonomy

  • Flynn’s Taxonomy

  • Flynn’s Taxonomy

  • Flynn’s Taxonomy

  • Contents

  • Locking

  • Synchronization

  • Uninterruptable Instruction to Fetch and Update Memory

  • Slide 16

  • Load linked & store conditional

  • Load linked & store conditional

  • Load linked & store conditional

  • Load linked & store conditional

  • Spin Locks

  • Barriers

  • Barriers

  • Synchronization Mechanisms for Larger-Scale

  • Exponential backoff

  • Queuing Locks

  • Contents

  • Outline

  • What?

  • Memory consistency

  • Relaxed Consistency Models

  • Relaxed Consistency Models

  • Sequential Consistency

  • Sequential Consistency

  • Sequential Consistency

  • Sequential Consistency

  • Processor Consistency

  • Example

  • Relaxed Consistency Models

  • Weak Consistency

  • Example

  • Release Consistency

  • Release Consistency

  • Release Consistency: Properly-labeled Programs

  • Release Consistency

  • Example

  • Release Consistency

  • Release Consistency

  • Eager versus Lazy

  • Entry Consistency

  • Entry Consistency: Example

  • Contents

  • Definition and Characteristics of Superscalar

  • Definition and Characteristics of Superscalar

  • Uninterrupted stream of instructions

  • Superscalar Execution Example

  • Superscalar Execution Example

  • Superscalar Execution Example

  • COMPARISON BETWEEN PIPELINING & SUPERSCALAR

  • Limitation superscalar

  • Contents

  • Cache Coherence

  • Cache Coherence

  • Cache Coherence

  • Cache coherence hardware

  • Cache coherence hardware

  • Cache coherence hardware

  • Cache coherence hardware

  • Contents

  • Scalable Approach: Directories

  • Basic Operation of Directory

  • Directory Protocol

  • Directory Protocol

  • Example Directory Protocol

  • Example Directory Protocol

  • Example Directory Protocol

  • Example

  • Example

  • Example

  • Example

  • Example

  • Example

  • Contents

  • Snooping Solution

  • Basic Snooping Protocols

  • Basic Snooping Protocols

  • Basic Snooping Protocols

  • Basic Snooping Protocols

  • Invalidate vs Update

  • Contents

  • MESI Protocol (1)

  • MESI Protocol (2)

  • MESI Protocol (3)

  • MESI Protocol (4)

  • MESI Local Read Hit

  • MESI Local Read Miss (1)

  • MESI Local Read Miss (2)

  • MESI Local Read Miss (3)

  • MESI Local Write Hit (1)

  • MESI Local Write Hit (2)

  • MESI Local Write Miss (1)

  • MESI Local Write Miss (2)

  • MESI Local Write Miss (3)

  • MESI Local Write Miss (4)

  • MESI Local Write Miss (4)

  • MESI – locally initiated accesses

  • MESI – remotely initiated accesses

  • Slide 108

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan