Outline Midterm results summary Distributed file systems – continued Distributed shared memory
Midterm Results Summary The distribution The average is 83.20 70 75 4 80 6 85 1 90 3 95 100 > 100 2 November 27, 2018 COP 5611 - Operating Systems
Distributed Shared Memory Distributed computing is mainly based on the message passing model Client/server model Remote procedure calls Distributed shared memory is a resource management component that implements the shared memory model in distributed systems, where there is no physically shared memory November 27, 2018 COP 5611 - Operating Systems
COP 5611 - Operating Systems Memory Hierarchies November 27, 2018 COP 5611 - Operating Systems
COP 5611 - Operating Systems Virtual memory November 27, 2018 COP 5611 - Operating Systems
COP 5611 - Operating Systems Page Table Mapping November 27, 2018 COP 5611 - Operating Systems
Distributed Shared Memory – cont. This is a further extension of the virtual memory management on a single computer When a process accesses data in the shared address space, a mapping manager maps the shared memory address to the physical memory, which can be local or remote November 27, 2018 COP 5611 - Operating Systems
Distributed Shared Memory – cont. November 27, 2018 COP 5611 - Operating Systems
Distributed Shared Memory – cont. A mapping manager is a layer of software to map addresses in user space into the physical memory addresses November 27, 2018 COP 5611 - Operating Systems
Distributed Shared Memory – cont. With DSM, application programs can access data in the shared space as they access data in traditional virtual memory Mapping manager can move data among the local main memory, local disk, and another nodes November 27, 2018 COP 5611 - Operating Systems
Distributed Shared Memory – cont. Advantages of DSM It is easier to design and develop algorithms with DSM than message passing models DSM allows complex structures to be passed by reference, simplifying the distributed application development DSM can cut down the overhead of communication by exploiting locality in programs DSM can overcome some the architectural limitations of shared memory machines November 27, 2018 COP 5611 - Operating Systems
Distributed Shared Memory – cont. Central implementation issues in DSM How to keep track of the location of remote data How to overcome the communication delays and high overhead associated with communication protocols How to improve the system performance November 27, 2018 COP 5611 - Operating Systems
The Central-Server Algorithm A central server maintains all the shared data It serves the read requests from other nodes or clients by returning the data items to them It updates the data on write requests by clients November 27, 2018 COP 5611 - Operating Systems
The Central-Server Algorithm – cont. November 27, 2018 COP 5611 - Operating Systems
The Migration Algorithm In contrast to the central-server algorithm, data in the migration algorithm is shipped to the location of data access request Subsequent accesses can then be performed locally Thrashing can be a problem November 27, 2018 COP 5611 - Operating Systems
The Migration Algorithm – cont. November 27, 2018 COP 5611 - Operating Systems
The Read-Replication Algorithm The read-replication algorithm allows multiple node to have read access or one node to have read-write access November 27, 2018 COP 5611 - Operating Systems
The Read-Replication Algorithm – cont. November 27, 2018 COP 5611 - Operating Systems
The Full-Replication Algorithm This is a further extension of the read-replication algorithm It allows multiple nodes to have both read and write access to shared data blocks Data consistency issue November 27, 2018 COP 5611 - Operating Systems
The Full-Replication Algorithm – cont. November 27, 2018 COP 5611 - Operating Systems
COP 5611 - Operating Systems Memory Coherence Memory consistency models Sequential consistency General consistency Processor consistency Weak consistency Release consistency November 27, 2018 COP 5611 - Operating Systems
Memory Coherence – cont. Coherence protocols A protocol to keep replicas coherent Write-invalidate protocol A write to a shared data causes the invalidation of all copies except the one where the write occurs Write-update protocol A write to a shared data causes all copies of that data to be updated November 27, 2018 COP 5611 - Operating Systems
COP 5611 - Operating Systems Design Issues Granularity The size of the shared memory unit Advantages of large sizes A page size that is a multiple of the size provided by the underlying memory management system allows for the integration of DSM and the memory management system Better utilization of locality of reference Disadvantages The greater the chance for contention False sharing November 27, 2018 COP 5611 - Operating Systems
COP 5611 - Operating Systems False Sharing November 27, 2018 COP 5611 - Operating Systems
COP 5611 - Operating Systems Design Issues – cont. Page replacement Traditional methods such as LRU can not be used directly Page access modes must be taken into consideration For example, private pages may be replaced before shared pages November 27, 2018 COP 5611 - Operating Systems
COP 5611 - Operating Systems Case Studies IVY Integrated Shared Virtual Memory at Yale The granularity is a page The address space is divided into shared virtual memory address space and private space The coherence protocol Write fault handling Read fault handing November 27, 2018 COP 5611 - Operating Systems
COP 5611 - Operating Systems IVY – cont. Coherence protocol The centralized manager scheme Fixed distributed manager scheme Dynamic distributed manager scheme November 27, 2018 COP 5611 - Operating Systems
COP 5611 - Operating Systems IVY – cont. November 27, 2018 COP 5611 - Operating Systems
COP 5611 - Operating Systems IVY – cont. Double fault Memory allocation Process synchronization November 27, 2018 COP 5611 - Operating Systems
COP 5611 - Operating Systems Case Studies – cont. Mirage Thrashing control Clouds The RA kernel Distributed shared memory controller November 27, 2018 COP 5611 - Operating Systems
COP 5611 - Operating Systems Summary Distributed shared memory tries to provide an easy-to-use interface for distributed applications Distributed programs access data in the shared address space as they access data in local memory However, the performance is a critical issue Replication is used to reduce the high cost of communications Memory coherence needs to be taken of November 27, 2018 COP 5611 - Operating Systems