100 likes | 228 Vues
CS603 Communication Mechanisms. January 11, 2002. Course Administration. Types of Communication. Shared Memory Message Passing Stream-oriented Communications Remote Procedure Call Remote Method Invocation. Shared Memory. Basic idea: Concurrent processes sharing common address space
E N D
CS603Communication Mechanisms January 11, 2002
Types of Communication • Shared Memory • Message Passing • Stream-oriented Communications • Remote Procedure Call • Remote Method Invocation
Shared Memory • Basic idea: Concurrent processes sharing common address space • Well understood model • Substantial body of theory behind managing concurrency • Some programming tool support • But: • How do we do it in a Distributed system?
Distributed Shared Memory • Simple approach: Different pages in memory on different machines • Easy to understand • Underlying system forwards non-local reference • Performance? • Better: Move page where it is needed • How to ensure each site knows where page is? • What prevents page from flipping between sites? • Replicated pages • Works for read • What about write?
Distributed Shared Memory • What are the hard issues? • Coherency/consistency control • Race conditions • How do we implement? • Same basic ideas as multiprocessor cache!
Reading Assignment • Read a paper on a distributed shared memory system • Monday: Plan to give five minute overview • Is it a distributed system? • Biggest strength • Biggest weakness • Suggested starting point:http://www.cs.umd.edu/~keleher/dsm.html
δ-Common Storage • Problem with Distributed Shared Memory: Consistency blocks processes • Idea: relax consistency constraintsWrites not atomic across system! • Improves performance • Programmer enforces consistency where needed • But how to do this with no guarantees?
δ-Common Storage (Cristian, Dolev, Strong, Aghili ’90) • Writes guaranteed to propagate within bounded time • If value w replaced with w’ at time t, any read after time t+δ guaranteed to return w’ • Read before t returns w • Behavior between t and t+δ: Either w or w’. • What can we do with this? • User manages consistency where needed • Exercise: Implement semaphores on δ-Common Storage
Distributed Storage • Where else do we see distributed shared memory model? Replicated Data! • Dual-channel DASD • Database replication facilities • File replication (e.g., W2K synchronization) • File caching • Many of the problems are the same