SlideShare une entreprise Scribd logo
1  sur  23
Distributed Shared
Memory Systems
-by Ankit Gupta
What is a Distributed System?
What is DSM?
 The distributed shared memory (DSM) implements the
shared memory model in Distributed Systems, which have
no physical shared memory.
 The shared memory model provides a virtual address
space shared between all nodes.
 This overcomes the high cost of communication in
distributed systems. DSM systems move data to the
location of Access.
Memory
Mapping
Manager
Memory
Mapping
Manager
Memory
Mapping
Manager
Shared Memory
NODE 1 NODE 2 NODE 3
Purpose Of DSM Research
 Building less expensive parallel machines
 Building larger parallel machines
 Eliminating the programming difficulty of MPP and Cluster
architectures
 Generally break new ground:
 New network architectures and algorithms
 New compiler techniques
 Better understanding of performance in distributed systems
Distributed Shared Memory Models
 Object Based DSM
 Variable Based DSM
 Page Based DSM
 Structured DSM
 Hardware Supported DSM
Object Based
 Object based DSM
 Probably the simplest way to implement DSM
 Shared data must be encapsulated in an object
 Shared data may only be accessed via the methods in the object
Variable Based
 Delivers the lowest distribution granularity
 Closely integrated in the compiler
 May be hardware supported
Hardware Based DSM
 Uses hardware to eliminate software overhead
 May be hidden even from the operating system
 Usually provides sequential consistency
 May limit the size of the DSM system
Advantages of DSM
(Distributed Shared Memory)
 Data sharing is implicit, hiding data movement (as opposed to
‘Send’/‘Receive’ in message passing model)
 Passing data structures containing pointers is easier (in message passing
model data moves between different address spaces)
 Moving entire object to user takes advantage of locality difference
 Less expensive to build than tightly coupled multiprocessor system: off-the-
shelf hardware, no expensive interface to shared physical memory
 Very large total physical memory for all nodes: Large programs can run more
efficiently
 No serial access to common bus for shared physical memory like in
multiprocessor systems
 Programs written for shared memory multiprocessors can be run on DSM
systems with minimum changes
Issues faced in development of DSM
 Granularity
 Structure of Shared memory
 Memory coherence and access synchronization
 Data location and access
 Replacement strategy
 Thrashing
 Heterogeneity
Granularity
 Granularity is the amount of data sent with each
update
 If granularity is too small and a large amount of
contiguous data is updated, the overhead of
sending many small messages leads to less
efficiency
 If granularity is too large, a whole page (or more)
would be sent for an update to a single byte, thus
reducing efficiency
Structure of Shared Memory
 Structure refers to the layout of the shared data in
memory.
 Dependent on the type of applications that the DSM
system is intended to support.
Replacement Strategy
 If the local memory of a node is full, a cache miss at that
node implies not only a fetch of accessed data block from
a remote node but also a replacement.
 Data block must be replaced by the new data block.
- Example: LRU with access modes
Private (local) pages to be replaced before shared
ones
Private pages swapped to disk
Shared pages sent over network to owner
Read-only pages may be discarded (owners have a
copy)
Trashing
 Thrashing occurs when network resources are
exhausted, and more time is spent invalidating
data and sending updates than is used doing
actual work.
 Based on system specifics, one should choose
write-update or write-invalidate to avoid
thrashing.
Memory Coherence and Access
Synchronization
 In a DSM system that allows replication of shared data item,
copies of shared data item may simultaneously be available in
the main memories of a number of nodes.
 To solve the memory coherence problem that deal with the
consistency of a piece of shared data lying in the main
memories of two or more nodes.
 DSM are based on
- Replicated shared data objects
- Concurrent access of data objects at many nodes
 Coherent memory: when value returned by read operation is
the expected value (e.g., value of most recent write)
 Mechanism that control/synchronizes accesses is needed
to maintain memory coherence
 Sequential consistency: A system is sequentially consistent
if
- The result of any execution of operations of all processors is the
same as if they were executed in sequential order, and
- The operations of each processor appear in this sequence in the
order specified by its program
 General consistency:
- All copies of a memory location (replicas) eventually contain same
data when all writes issued by every processor have completed
Algorithms for implementing DSM
 The Central Server Algorithm
 The Migration Algorithm
 The Read-Replication Algorithm
 The full-Replication Algorithm
The Central Server Algorithm
- Central server maintains all shared data
 Read request: returns data item
 Write request: updates data and returns acknowledgement message
- Implementation
 A timeout is used to resend a request if acknowledgment fails
 Associated sequence numbers can be used to detect duplicate write
requests
 If an application’s request to access shared data fails repeatedly, a
failure condition is sent to the application
- Issues: performance and reliability
- Possible solutions
 Partition shared data between several servers
 Use a mapping function to distribute/locate data
The Migration Algorithm
- Operation
 Ship (migrate) entire data object (page, block) containing data item to
requesting location
 Allow only one node to access a shared data at a time
- Advantages
 Takes advantage of the locality of reference
 DSM can be integrated with VM at each node
- Make DSM page multiple of VM page size
- A locally held shared memory can be mapped into the VM page address
space
- If page not local, fault-handler migrates page and removes it from
address space at remote node
- To locate a remote data object:
 Use a location server
 Maintain hints at each node
 Broadcast query
- Issues
 Only one node can access a data object at a time
 Thrashing can occur: to minimize it, set minimum time data object resides at
a node
The Read-Replication Algorithm
 Replicates data objects to multiple nodes
 DSM keeps track of location of data objects
 Multiple nodes can have read access or one node write access
(multiple readers-one writer protocol)
 After a write, all copies are invalidated or updated
 DSM has to keep track of locations of all copies of data objects.
Examples of implementations:
 IVY: owner node of data object knows all nodes that have
copies
 PLUS: distributed linked-list tracks all nodes that have copies
 Advantage
 The read-replication can lead to substantial performance
improvements if the ratio of reads to writes is large
The Full-Replication Algorithm
- Extension of read-replication algorithm: multiple nodes can read and
multiple nodes can write (multiple-readers, multiple-writers protocol)
- Issue: consistency of data for multiple writers
- Solution: use of gap-free sequencer
• All writes sent to sequencer
• Sequencer assigns sequence number and sends write request to all
sites that have copies
• Each node performs writes according to sequence numbers
• A gap in sequence numbers indicates a missing write request: node
asks for retransmission of missing write requests
Any Questions?

Contenu connexe

Tendances

Parallel Programing Model
Parallel Programing ModelParallel Programing Model
Parallel Programing Model
Adlin Jeena
 

Tendances (20)

2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts
 
6.distributed shared memory
6.distributed shared memory6.distributed shared memory
6.distributed shared memory
 
Parallel Programing Model
Parallel Programing ModelParallel Programing Model
Parallel Programing Model
 
Distributed shred memory architecture
Distributed shred memory architectureDistributed shred memory architecture
Distributed shred memory architecture
 
Structure of shared memory space
Structure of shared memory spaceStructure of shared memory space
Structure of shared memory space
 
Chapter 6 synchronization
Chapter 6 synchronizationChapter 6 synchronization
Chapter 6 synchronization
 
I/O Buffering
I/O BufferingI/O Buffering
I/O Buffering
 
Non-Uniform Memory Access ( NUMA)
Non-Uniform Memory Access ( NUMA)Non-Uniform Memory Access ( NUMA)
Non-Uniform Memory Access ( NUMA)
 
Parallel programming model
Parallel programming modelParallel programming model
Parallel programming model
 
Distributed file system
Distributed file systemDistributed file system
Distributed file system
 
Replication in Distributed Systems
Replication in Distributed SystemsReplication in Distributed Systems
Replication in Distributed Systems
 
Memory organization
Memory organizationMemory organization
Memory organization
 
Distributed Operating System_1
Distributed Operating System_1Distributed Operating System_1
Distributed Operating System_1
 
Lec 7 query processing
Lec 7 query processingLec 7 query processing
Lec 7 query processing
 
contiguous memory allocation.pptx
contiguous memory allocation.pptxcontiguous memory allocation.pptx
contiguous memory allocation.pptx
 
GOOGLE FILE SYSTEM
GOOGLE FILE SYSTEMGOOGLE FILE SYSTEM
GOOGLE FILE SYSTEM
 
Distributed file system
Distributed file systemDistributed file system
Distributed file system
 
Computer architecture multi processor
Computer architecture multi processorComputer architecture multi processor
Computer architecture multi processor
 
Naming in Distributed Systems
Naming in Distributed SystemsNaming in Distributed Systems
Naming in Distributed Systems
 
Distributed operating system
Distributed operating systemDistributed operating system
Distributed operating system
 

En vedette

Dsm (Distributed computing)
Dsm (Distributed computing)Dsm (Distributed computing)
Dsm (Distributed computing)
Sri Prasanna
 
Petascale Cloud Storage with GlusterFS
Petascale Cloud Storage with GlusterFSPetascale Cloud Storage with GlusterFS
Petascale Cloud Storage with GlusterFS
The Linux Foundation
 
Software Defined storage
Software Defined storageSoftware Defined storage
Software Defined storage
Kirillos Akram
 
Group communication
Group communicationGroup communication
Group communication
vivek733
 
Glusterfs and openstack
Glusterfs  and openstackGlusterfs  and openstack
Glusterfs and openstack
openstackindia
 
Red Hat Storage - Introduction to GlusterFS
Red Hat Storage - Introduction to GlusterFSRed Hat Storage - Introduction to GlusterFS
Red Hat Storage - Introduction to GlusterFS
GlusterFS
 

En vedette (20)

Dsm (Distributed computing)
Dsm (Distributed computing)Dsm (Distributed computing)
Dsm (Distributed computing)
 
Distributed Shared Memory on Ericsson Labs
Distributed Shared Memory on Ericsson LabsDistributed Shared Memory on Ericsson Labs
Distributed Shared Memory on Ericsson Labs
 
Petascale Cloud Storage with GlusterFS
Petascale Cloud Storage with GlusterFSPetascale Cloud Storage with GlusterFS
Petascale Cloud Storage with GlusterFS
 
Petascale Storage -- Do It Yourself!
Petascale Storage -- Do It Yourself!Petascale Storage -- Do It Yourself!
Petascale Storage -- Do It Yourself!
 
Software Defined storage
Software Defined storageSoftware Defined storage
Software Defined storage
 
Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013
Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013
Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013
 
Scale out backups-with_bareos_and_gluster
Scale out backups-with_bareos_and_glusterScale out backups-with_bareos_and_gluster
Scale out backups-with_bareos_and_gluster
 
How to Install Gluster Storage Platform
How to Install Gluster Storage PlatformHow to Install Gluster Storage Platform
How to Install Gluster Storage Platform
 
Gluster Storage Platform Installation Guide
Gluster Storage Platform Installation GuideGluster Storage Platform Installation Guide
Gluster Storage Platform Installation Guide
 
Award winning scale-up and scale-out storage for Xen
Award winning scale-up and scale-out storage for XenAward winning scale-up and scale-out storage for Xen
Award winning scale-up and scale-out storage for Xen
 
Introduction to GlusterFS Webinar - September 2011
Introduction to GlusterFS Webinar - September 2011Introduction to GlusterFS Webinar - September 2011
Introduction to GlusterFS Webinar - September 2011
 
SERC, IISc CRAY PetaFLOPS System
SERC, IISc CRAY PetaFLOPS SystemSERC, IISc CRAY PetaFLOPS System
SERC, IISc CRAY PetaFLOPS System
 
Group communication
Group communicationGroup communication
Group communication
 
CephFS update February 2016
CephFS update February 2016CephFS update February 2016
CephFS update February 2016
 
Glusterfs and openstack
Glusterfs  and openstackGlusterfs  and openstack
Glusterfs and openstack
 
Future of cloud storage
Future of cloud storageFuture of cloud storage
Future of cloud storage
 
Smb gluster devmar2013
Smb gluster devmar2013Smb gluster devmar2013
Smb gluster devmar2013
 
Lisa 2015-gluster fs-introduction
Lisa 2015-gluster fs-introductionLisa 2015-gluster fs-introduction
Lisa 2015-gluster fs-introduction
 
Scale out backups-with_bareos_and_gluster
Scale out backups-with_bareos_and_glusterScale out backups-with_bareos_and_gluster
Scale out backups-with_bareos_and_gluster
 
Red Hat Storage - Introduction to GlusterFS
Red Hat Storage - Introduction to GlusterFSRed Hat Storage - Introduction to GlusterFS
Red Hat Storage - Introduction to GlusterFS
 

Similaire à Distributed Shared Memory Systems

Advance Operating Systems
Advance Operating SystemsAdvance Operating Systems
Advance Operating Systems
Raghu nath
 

Similaire à Distributed Shared Memory Systems (20)

Chap 4
Chap 4Chap 4
Chap 4
 
Distributed Shared Memory-jhgfdsserty.pdf
Distributed Shared Memory-jhgfdsserty.pdfDistributed Shared Memory-jhgfdsserty.pdf
Distributed Shared Memory-jhgfdsserty.pdf
 
Dos unit3
Dos unit3Dos unit3
Dos unit3
 
Unit-1 Introduction to Big Data.pptx
Unit-1 Introduction to Big Data.pptxUnit-1 Introduction to Big Data.pptx
Unit-1 Introduction to Big Data.pptx
 
Distributed system unit II according to syllabus of RGPV, Bhopal
Distributed system unit II according to syllabus of  RGPV, BhopalDistributed system unit II according to syllabus of  RGPV, Bhopal
Distributed system unit II according to syllabus of RGPV, Bhopal
 
Advance Operating Systems
Advance Operating SystemsAdvance Operating Systems
Advance Operating Systems
 
Distributed database
Distributed databaseDistributed database
Distributed database
 
Overview of Distributed Systems
Overview of Distributed SystemsOverview of Distributed Systems
Overview of Distributed Systems
 
Unit 1
Unit 1Unit 1
Unit 1
 
Distributed database
Distributed databaseDistributed database
Distributed database
 
Google
GoogleGoogle
Google
 
Distributed Shared Memory notes in distributed systems.pptx
Distributed Shared Memory notes in distributed systems.pptxDistributed Shared Memory notes in distributed systems.pptx
Distributed Shared Memory notes in distributed systems.pptx
 
Distributed systems and scalability rules
Distributed systems and scalability rulesDistributed systems and scalability rules
Distributed systems and scalability rules
 
Distributed D B
Distributed  D BDistributed  D B
Distributed D B
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Hadoop data management
Hadoop data managementHadoop data management
Hadoop data management
 
Distributed database
Distributed databaseDistributed database
Distributed database
 
Cluster Computing
Cluster ComputingCluster Computing
Cluster Computing
 
Introduction to hadoop and hdfs
Introduction to hadoop and hdfsIntroduction to hadoop and hdfs
Introduction to hadoop and hdfs
 
Parallel Processing (Part 2)
Parallel Processing (Part 2)Parallel Processing (Part 2)
Parallel Processing (Part 2)
 

Dernier

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

Distributed Shared Memory Systems

  • 1.
  • 3. What is a Distributed System?
  • 4. What is DSM?  The distributed shared memory (DSM) implements the shared memory model in Distributed Systems, which have no physical shared memory.  The shared memory model provides a virtual address space shared between all nodes.  This overcomes the high cost of communication in distributed systems. DSM systems move data to the location of Access.
  • 6. Purpose Of DSM Research  Building less expensive parallel machines  Building larger parallel machines  Eliminating the programming difficulty of MPP and Cluster architectures  Generally break new ground:  New network architectures and algorithms  New compiler techniques  Better understanding of performance in distributed systems
  • 7. Distributed Shared Memory Models  Object Based DSM  Variable Based DSM  Page Based DSM  Structured DSM  Hardware Supported DSM
  • 8. Object Based  Object based DSM  Probably the simplest way to implement DSM  Shared data must be encapsulated in an object  Shared data may only be accessed via the methods in the object Variable Based  Delivers the lowest distribution granularity  Closely integrated in the compiler  May be hardware supported
  • 9. Hardware Based DSM  Uses hardware to eliminate software overhead  May be hidden even from the operating system  Usually provides sequential consistency  May limit the size of the DSM system
  • 10. Advantages of DSM (Distributed Shared Memory)  Data sharing is implicit, hiding data movement (as opposed to ‘Send’/‘Receive’ in message passing model)  Passing data structures containing pointers is easier (in message passing model data moves between different address spaces)  Moving entire object to user takes advantage of locality difference  Less expensive to build than tightly coupled multiprocessor system: off-the- shelf hardware, no expensive interface to shared physical memory  Very large total physical memory for all nodes: Large programs can run more efficiently  No serial access to common bus for shared physical memory like in multiprocessor systems  Programs written for shared memory multiprocessors can be run on DSM systems with minimum changes
  • 11. Issues faced in development of DSM  Granularity  Structure of Shared memory  Memory coherence and access synchronization  Data location and access  Replacement strategy  Thrashing  Heterogeneity
  • 12. Granularity  Granularity is the amount of data sent with each update  If granularity is too small and a large amount of contiguous data is updated, the overhead of sending many small messages leads to less efficiency  If granularity is too large, a whole page (or more) would be sent for an update to a single byte, thus reducing efficiency
  • 13. Structure of Shared Memory  Structure refers to the layout of the shared data in memory.  Dependent on the type of applications that the DSM system is intended to support.
  • 14. Replacement Strategy  If the local memory of a node is full, a cache miss at that node implies not only a fetch of accessed data block from a remote node but also a replacement.  Data block must be replaced by the new data block. - Example: LRU with access modes Private (local) pages to be replaced before shared ones Private pages swapped to disk Shared pages sent over network to owner Read-only pages may be discarded (owners have a copy)
  • 15. Trashing  Thrashing occurs when network resources are exhausted, and more time is spent invalidating data and sending updates than is used doing actual work.  Based on system specifics, one should choose write-update or write-invalidate to avoid thrashing.
  • 16. Memory Coherence and Access Synchronization  In a DSM system that allows replication of shared data item, copies of shared data item may simultaneously be available in the main memories of a number of nodes.  To solve the memory coherence problem that deal with the consistency of a piece of shared data lying in the main memories of two or more nodes.  DSM are based on - Replicated shared data objects - Concurrent access of data objects at many nodes  Coherent memory: when value returned by read operation is the expected value (e.g., value of most recent write)
  • 17.  Mechanism that control/synchronizes accesses is needed to maintain memory coherence  Sequential consistency: A system is sequentially consistent if - The result of any execution of operations of all processors is the same as if they were executed in sequential order, and - The operations of each processor appear in this sequence in the order specified by its program  General consistency: - All copies of a memory location (replicas) eventually contain same data when all writes issued by every processor have completed
  • 18. Algorithms for implementing DSM  The Central Server Algorithm  The Migration Algorithm  The Read-Replication Algorithm  The full-Replication Algorithm
  • 19. The Central Server Algorithm - Central server maintains all shared data  Read request: returns data item  Write request: updates data and returns acknowledgement message - Implementation  A timeout is used to resend a request if acknowledgment fails  Associated sequence numbers can be used to detect duplicate write requests  If an application’s request to access shared data fails repeatedly, a failure condition is sent to the application - Issues: performance and reliability - Possible solutions  Partition shared data between several servers  Use a mapping function to distribute/locate data
  • 20. The Migration Algorithm - Operation  Ship (migrate) entire data object (page, block) containing data item to requesting location  Allow only one node to access a shared data at a time - Advantages  Takes advantage of the locality of reference  DSM can be integrated with VM at each node - Make DSM page multiple of VM page size - A locally held shared memory can be mapped into the VM page address space - If page not local, fault-handler migrates page and removes it from address space at remote node - To locate a remote data object:  Use a location server  Maintain hints at each node  Broadcast query - Issues  Only one node can access a data object at a time  Thrashing can occur: to minimize it, set minimum time data object resides at a node
  • 21. The Read-Replication Algorithm  Replicates data objects to multiple nodes  DSM keeps track of location of data objects  Multiple nodes can have read access or one node write access (multiple readers-one writer protocol)  After a write, all copies are invalidated or updated  DSM has to keep track of locations of all copies of data objects. Examples of implementations:  IVY: owner node of data object knows all nodes that have copies  PLUS: distributed linked-list tracks all nodes that have copies  Advantage  The read-replication can lead to substantial performance improvements if the ratio of reads to writes is large
  • 22. The Full-Replication Algorithm - Extension of read-replication algorithm: multiple nodes can read and multiple nodes can write (multiple-readers, multiple-writers protocol) - Issue: consistency of data for multiple writers - Solution: use of gap-free sequencer • All writes sent to sequencer • Sequencer assigns sequence number and sends write request to all sites that have copies • Each node performs writes according to sequence numbers • A gap in sequence numbers indicates a missing write request: node asks for retransmission of missing write requests