Region-Based Software Distributed Shared Memory Song Li, Yu Lin, and Michael Walker CS 656 -- Operating Systems May 1, 2000.

Slides:



Advertisements
Similar presentations
Multiple Processor Systems
Advertisements

Multiple Processor Systems
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Distributed System Structures Network Operating Systems –provide an environment where users can access remote resources through remote login or file transfer.
Serverless Network File Systems. Network File Systems Allow sharing among independent file systems in a transparent manner Mounting a remote directory.
Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre.
Distributed Shared Memory
Multiple Processor Systems
Cache Coherent Distributed Shared Memory. Motivations Small processor count –SMP machines –Single shared memory with multiple processors interconnected.
Using DSVM to Implement a Distributed File System Ramon Lawrence Dept. of Computer Science
Slide 1 Client / Server Paradigm. Slide 2 Outline: Client / Server Paradigm Client / Server Model of Interaction Server Design Issues C/ S Points of Interaction.
Network Operating Systems Users are aware of multiplicity of machines. Access to resources of various machines is done explicitly by: –Logging into the.
CS 425 / ECE 428 Distributed Systems Fall 2014 Indranil Gupta (Indy) Lecture 25: Distributed Shared Memory All slides © IG.
Distributed Operating Systems CS551 Colorado State University at Lockheed-Martin Lecture 4 -- Spring 2001.
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
1 Multiprocessors. 2 Idea: create powerful computers by connecting many smaller ones good news: works for timesharing (better than supercomputer) bad.
Distributed Resource Management: Distributed Shared Memory
CS 551-Memory Management1 Learning Objectives Centralized Memory Management -review Simple Memory Model Shared Memory Model Distributed Shared Memory Memory.
Computer Organization and Architecture
RGF M.S. Thesis Presentaton 12/011 Reduced Development Costs in the Operating System.
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed Shared Memory.
Massively Distributed Database Systems Spring 2014 Ki-Joune Li Pusan National University.
Distributed File Systems Concepts & Overview. Goals and Criteria Goal: present to a user a coherent, efficient, and manageable system for long-term data.
Highly Available ACID Memory Vijayshankar Raman. Introduction §Why ACID memory? l non-database apps: want updates to critical data to be atomic and persistent.
Ch4: Distributed Systems Architectures. Typically, system with several interconnected computers that do not share clock or memory. Motivation: tie together.
1 The Google File System Reporter: You-Wei Zhang.
Distributed Shared Memory Systems and Programming
CS 153 Design of Operating Systems Spring 2015 Final Review.
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster and powerful computers –shared memory model ( access nsec) –message passing.
CS533 Concepts of Operating Systems Jonathan Walpole.
Distributed Systems. Interprocess Communication (IPC) Processes are either independent or cooperating – Threads provide a gray area – Cooperating processes.
Distributed Shared Memory: A Survey of Issues and Algorithms B,. Nitzberg and V. Lo University of Oregon.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Distributed Shared Memory Steve Ko Computer Sciences and Engineering University at Buffalo.
ECE200 – Computer Organization Chapter 9 – Multiprocessors.
TECHNIQUES FOR REDUCING CONSISTENCY- RELATED COMMUNICATION IN DISTRIBUTED SHARED-MEMORY SYSTEMS J. B. Carter University of Utah J. K. Bennett and W. Zwaenepoel.
CS425/CSE424/ECE428 – Distributed Systems Nikita Borisov - UIUC1 Some material derived from slides by I. Gupta, M. Harandi, J. Hou, S. Mitra,
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster computers –shared memory model ( access nsec) –message passing multiprocessor.
Ch 10 Shared memory via message passing Problems –Explicit user action needed –Address spaces are distinct –Small Granularity of Transfer Distributed Shared.
Distributed Shared Memory Based on Reference paper: Distributed Shared Memory, Concepts and Systems.
Cache Coherence Protocols 1 Cache Coherence Protocols in Shared Memory Multiprocessors Mehmet Şenvar.
Distributed Shared Memory Presentation by Deepthi Reddy.
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
PARALLEL PROCESSOR- TAXONOMY. CH18 Parallel Processing {Multi-processor, Multi-computer} Multiple Processor Organizations Symmetric Multiprocessors Cache.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
DISTRIBUTED COMPUTING
A Design of User-Level Distributed Shared Memory Zhi Zhai Feng Shen Computer Science and Engineering University of Notre Dame Oct. 27, 2009 Progress Report.
Processes and Virtual Memory
1 Chapter 9 Distributed Shared Memory. 2 Making the main memory of a cluster of computers look as though it is a single memory with a single address space.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Distributed shared memory u motivation and the main idea u consistency models F strict and sequential F causal F PRAM and processor F weak and release.
CSE 60641: Operating Systems The duality of memory and communication in the implementation of a multiprocessor operating system. Young, M., Tevanian, A.,
Distributed File Systems Questions answered in this lecture: Why are distributed file systems useful? What is difficult about distributed file systems?
Distributed Computing Systems CSCI 6900/4900. Review Definition & characteristics of distributed systems Distributed system organization Design goals.
Major OS Components CS 416: Operating Systems Design, Spring 2001 Department of Computer Science Rutgers University
Background Computer System Architectures Computer System Software.
Primitive Concepts of Distributed Systems Chapter 1.
Distributed Shared Memory
Ivy Eva Wu.
Distributed Shared Memory
Page Replacement.
Outline Midterm results summary Distributed file systems – continued
User-level Distributed Shared Memory
CSE 451: Operating Systems Autumn 2003 Lecture 10 Paging & TLBs
High Performance Computing
CSE 451: Operating Systems Autumn 2003 Lecture 10 Paging & TLBs
Database System Architectures
Distributed Resource Management: Distributed Shared Memory
An Implementation of User-level Distributed Shared Memory
Paging Andrew Whitaker CSE451.
Presentation transcript:

Region-Based Software Distributed Shared Memory Song Li, Yu Lin, and Michael Walker CS Operating Systems May 1, 2000

Outline Motivation Problems DSM Models Proposed Solution Conclusion

Motivation Share distributed resources to increase computing power –First Solution: Tightly-coupled system –Problem: Central memory bus –Alternative: Loosely-coupled system –New Problem: Need IPC in distributed systems

Motivation: RPC Solution: Remote Procedure Calls (RPC) –Snd/Rcv protocol –Pass-by-value –OS Assignment 1 Problems with RPC –Explicit awareness of communication –Marshalling complex data structures is hard

Motivation: DSM Solution: Distributed Shared Memory (DSM) [Li86--Yale] –Idea: Nonresident pages are fetched from network –Illusion of tightly-coupled system in a loosely- coupled one –Abstraction on top of message-passing model – Programmers use memory-accessing paradigm

DSM: Potential Benefits Shared access to memory Avoids Von-Neumann bottleneck Familiar abstraction Pass-by-reference Spreads communication load over time Provides more memory than is locally available

Problems Who handles remote access? What should be shared? Cache, cache, cache…but how? Page Replacement & Thrashing More than one way to solve the problems...

DSM Models: Decisions Hardware: MMU controls message passing, data migration, and caching Software: Control managed by OS or library Page-based shared memory versus shared variable versus Object Cache consistency models

Proposed Solution: Overview Software-based model using libraries Variable-size regions -- similar to segments –Every granularity has its advantages/drawbacks –Make the region size flexible, provide reasonable defaults (sound familiar?) Multiple reader, single writer (MRSW) caching support

Solution: User Interface r_handle sm_malloc(size); int sm_regionat(r_handle, attrib); int sm_read(r_handle, offset, buf, size); int sm_write(r_handle, offset, buf, size); int sm_regiondt(r_handle); int sm_free(r_handle);

Solution: Mode of Operation... Provider 1 Shared Memory Manager Master Table Client 1 Cache Client Table Client 2 Cache Client Table Client n Cache Client Table Provider 2 Shared Memory Provider n Shared Memory

Solution: Mode of Operation... Provider 1 Shared Memory Manager Master Table Client 1 Cache Client Table Client 2 Cache Client Table Client n Cache Client Table Provider 2 Shared Memory Provider n Shared Memory (1) Allocate memory

Solution: Mode of Operation... Provider 1 Shared Memory Manager Master Table Client 1 Cache Client Table Client 2 Cache Client Table Client n Cache Client Table Provider 2 Shared Memory Provider n Shared Memory (2) Query table & attach region

Solution: Mode of Operation... Provider 1 Shared Memory Manager Master Table Client 1 Cache Client Table Client 2 Cache Client Table Client n Cache Client Table Provider 2 Shared Memory Provider n Shared Memory (3) Send region info to client

Solution: Mode of Operation... Provider 1 Shared Memory Manager Master Table Client 1 Cache Client Table Client 2 Cache Client Table Client n Cache Client Table Provider 2 Shared Memory Provider n Shared Memory (4) Client communicates with provider

Solution: Mode of Operation... Provider 1 Shared Memory Manager Master Table Client 1 Cache Client Table Client 2 Cache Client Table Client n Cache Client Table Provider 2 Shared Memory Provider n Shared Memory (5) Client uses cached copy

Solution: Mode of Operation... Provider 1 Shared Memory Manager Master Table Client 1 Cache Client Table Client 2 Cache Client Table Client n Cache Client Table Provider 2 Shared Memory Provider n Shared Memory (6) Client detaches and frees memory

Solution: Mode of Operation... Provider 1 Shared Memory Manager Master Table Client 1 Cache Client Table Client 2 Cache Client Table Client n Cache Client Table Provider 2 Shared Memory Provider n Shared Memory (7) Memory is freed

Solution: MRSW Caching Model Replication is good for reads, so allow MR –No communication overhead Writer requires cache invalidation, so restrict to SW –MW is too complicated

Solution: MRSW Caching Model... Provider 1 Shared Memory Manager Master Table Client 1 Cache Client Table Client 2 Cache Client Table Client n Cache Client Table Provider 2 Shared Memory Provider n Shared Memory Readers (1) Multiple readers

Solution: MRSW Caching Model... Provider 1 Shared Memory Manager Master Table Client 1 Cache Client Table Client 2 Cache Client Table Client n Cache Client Table Provider 2 Shared Memory Provider n Shared Memory ReadersWriter ? (2) Write request

Solution: MRSW Caching Model... Provider 1 Shared Memory Manager Master Table Client 1 Cache Client Table Client 2 Cache Client Table Client n Cache Client Table Provider 2 Shared Memory Provider n Shared Memory ReadersWriter (3) Cache invalidation to selected clients only

Solution: MRSW Caching Model... Provider 1 Shared Memory Manager Master Table Client 1 Cache Client Table Client 2 Cache Client Table Client n Cache Client Table Provider 2 Shared Memory Provider n Shared Memory ReadersWriter (4) Single writer, multiple readers

Conclusion: Current Status Basic client/manager model is implemented

Conclusion: Remaining Work Page replacement strategy: LRU Region protection mechanism Replicated managers for better performance and fault tolerance Evaluation...

Conclusion: Evaluation Find distributed apps to use DSM model Performance evaluation: –Test apps with DSM model and message- passing model –Desired results: DSM performance is better