110 likes | 402 Views
Distributed Shared Memory. Distributed Shared Memory. Middleware Memory that is distributed and duplicated appears local and as single copy Hides complexity. Designing DSM. Data structure (byte, object, immutable) Synchronization constructs Consistency model (ordering of updates)
E N D
Distributed Shared Memory • Middleware • Memory that is distributed and duplicated appears local and as single copy • Hides complexity
Designing DSM • Data structure (byte, object, immutable) • Synchronization constructs • Consistency model (ordering of updates) • Update options (update or invalidate) • Granularity • Thrashing
Memory Consistency Models • Defined for DSMs • Consider what executions could happen • Execution • Sequences of read and write operations • One sequence for each process in system.
Uniform Consistency Models • Only have read and write operations • Sequential Consistency • Pipelined-RAM • Causal Consistency • Coherence • Processor Consistency
Uniform Model Definitions • Sequential Consistency: • All processes order all writes in the same order • Pipelined RAM: • All processes order all writes in program order • Causal Consistency: • All processes order writes such that it satisfies Lamport’s happens-before relation • Coherence: • All processes order writes to the same location in the same order
Release Consistency • Hybrid Model • Operations available: • Read – read local copy • Write – write to local copy • Acquire – update local copy • Release – send updates of local copy • Acquire and Release ops are sequentially consistent
Acquire-release Order • (O,<aro) – acquire-release order • o1 <aroo2 if o1 <poo2 and • o1 and o2 are on the same data item, or • o1 is an acquire, or • o2 is a release, or • There exists o st o1 <aroo and o <aroo2
Formal Definition of RC • A computation is Release Consistent if • Each process orders its own ops, all writes, release and acquire operations • Such that the order satisfies the acquire-release order • The acquire and release ops are ordered such that • All processes agree on the ordering (SC) • Each acquire is immediately followed by its matching release.
Hybrid Models • Distinguish between different types of memory accesses • Release Consistency • Provides acquire and release operations • Entry Consistency • Each shared variable has a lock • Scope Consistency • Variables are associated with locks automatically • Weak Consistency • Orders synchronization operations