Distributed Shared Memory Flashcards
What is Distributed Shared Memory?
Each computer owns some portion of shared memory. Anyone can read/write from any other node, but the details have been abstracted away, so it appears as though you are r/w-ing from your own computer
What are the pros/cons for DSM?
Slower memory access
Allows for larger physical memory
What are the levels of granularity for sending changes in DSM? Why did we choose these?
pages or objects.
They are large enough to justify sending changes across the network
What is false sharing?
When two process write to different locations in the same page and trigger consistency mechanisms that are unnecessary and impede performance
What is migration in DSM?
When you copy remote memory to your local machine. This is okay for SRSW, but has a high overhead and is slow
What is replication in DSM?
(Some) state is store across multiple nodes (that need it). Uses caching to speed up performance, but requires synchronization mechanisms
What are the consistency options in DSM?
Eager (push invalidations whenever there is a write) and lazy (push changes periodically)
Describe the architecture of DSM? What is a home node and how does it help manage the DSM? What is an owner node?
Each node contributes some part of their MM to the DSM. Each address is references by (node ID, local page frame).
A home node is the node where a page frame is physically located. It manages coherence (locking, accesses, etc) for that frame. Other nodes may cache that page frame to improve performance.
The owner node is the node with the current write lock on a page frame
How does a node determine where a page is located in DSM?
Nodes can use the address to determine the home node it. Each home node has appropriate metadata for that page.
This is a combination of a replicated + partitioned system.
How does a node’s hardware help with memory accesses in DSM?
When fetching an address, the MMU will trap if it cannot find the address. Control returns to OS, who can then retrieve the memory from the DSM network
What is a consistency model?
A guarantee that memory will behave correctly, as long as the upper level software follows a list of rules
What is strict consistency?
Updates are visible everywhere immediately ==> not possible even on SMP without locking, etc
What is sequential consistency?
Memory updates from different processors may be arbitrarily interleaved, if they don’t affect each other. All ops from same processor must be in correct order and all processors must see the same interleaving.
What is causal consistency?
Model will detect potential causal consistency and preserve ordering
- if p1 writes to X, then p2 reads X and writes to Y
- Potential that the value of X is related to the new value of Y
- model will ensure that everyone sees updates to X before Y
What is weak consistency?
Tries to cut down on overhead from causal consistency. Synchronization points guarantee that all updates that were available before that point will be visible to everyone. Each processor must call sync.