|
Twin and diff
- Fits well with ERC
- Can free storage of twin at release
- In LRC must hold back diff until requested, and until it is guaranteed that no process will request in future
- Garbage collection becomes necessary in LRC forcing diffs to be propagated; this is very complex due to the fact that a page may have distributed diffs across many nodes and all of them must be collected before propagating
- Solution: home-based LRC (HLRC)
- Let every page have a home node (may be necessary anyway even in standard LRC to find out writers/readers unless the OS kernel has a shared page table; in a commodity cluster usually each node has a separate OS which is much simpler than a distributed NUMA OS)
- At release send the diff to the home node which merges the received diffs into the “master copy”
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|