Outline Midterm results summary Distributed file systems continued
Outline • Midterm results summary • Distributed file systems – continued • Distributed shared memory 10/6/2020 COP 5611 - Operating Systems 1
Midterm Results Summary • The distribution 70 80 90 0 6 3 75 85 95 4 1 1 100 1 > 100 2 • The average is 83. 20 10/6/2020 COP 5611 - Operating Systems 2
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 10/6/2020 COP 5611 - Operating Systems 3
Memory Hierarchies 10/6/2020 COP 5611 - Operating Systems 4
Virtual memory 10/6/2020 COP 5611 - Operating Systems 5
Page Table Mapping 10/6/2020 COP 5611 - Operating Systems 6
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 10/6/2020 COP 5611 - Operating Systems 7
Distributed Shared Memory – cont. 10/6/2020 COP 5611 - Operating Systems 8
Distributed Shared Memory – cont. A mapping manager is a layer of software to map addresses in user space into the physical memory addresses 10/6/2020 COP 5611 - Operating Systems 9
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 10/6/2020 COP 5611 - Operating Systems 10
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 10/6/2020 COP 5611 - Operating Systems 11
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 10/6/2020 COP 5611 - Operating Systems 12
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 10/6/2020 COP 5611 - Operating Systems 13
The Central-Server Algorithm – cont. 10/6/2020 COP 5611 - Operating Systems 14
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 10/6/2020 COP 5611 - Operating Systems 15
The Migration Algorithm – cont. 10/6/2020 COP 5611 - Operating Systems 16
The Read-Replication Algorithm • The read-replication algorithm allows multiple node to have read access or one node to have read-write access 10/6/2020 COP 5611 - Operating Systems 17
The Read-Replication Algorithm 10/6/2020 COP 5611 - Operating Systems – cont. 18
The Full-Replication Algorithm • This is a further extension of the readreplication algorithm – It allows multiple nodes to have both read and write access to shared data blocks • Data consistency issue 10/6/2020 COP 5611 - Operating Systems 19
The Full-Replication Algorithm 10/6/2020 COP 5611 - Operating Systems – cont. 20
Memory Coherence • Memory consistency models – Sequential consistency – General consistency – Processor consistency – Weak consistency – Release consistency 10/6/2020 COP 5611 - Operating Systems 21
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 10/6/2020 COP 5611 - Operating Systems 22
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 10/6/2020 COP 5611 - Operating Systems 23
False Sharing 10/6/2020 COP 5611 - Operating Systems 24
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 10/6/2020 COP 5611 - Operating Systems 25
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 10/6/2020 COP 5611 - Operating Systems 26
IVY – cont. • Coherence protocol – The centralized manager scheme – Fixed distributed manager scheme – Dynamic distributed manager scheme 10/6/2020 COP 5611 - Operating Systems 27
IVY – cont. 10/6/2020 COP 5611 - Operating Systems 28
IVY – cont. • Double fault • Memory allocation • Process synchronization 10/6/2020 COP 5611 - Operating Systems 29
Case Studies – cont. • Mirage – Thrashing control • Clouds – The RA kernel – Distributed shared memory controller 10/6/2020 COP 5611 - Operating Systems 30
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 10/6/2020 COP 5611 - Operating Systems 31
- Slides: 31