Global memory management in a workstation cluster
take-away
- Global memory
- Global LRU (probabilistic algo)
Overview
architecture
- global memory management in a cluster of machines connected by a high-speed LAN
GMS (global memory service)
- local and global page
- algorithm
- how to determine what to replace
- global information
- epoch (timeout and M pages to replace)
- flush TLB
- assign probabilities (lottery scheduling)
- compared to today’s system
- In contrast, each operating system in today’s clusters acts as an autonomous agent, exporting services to other nodes, but not acting in a coordinated way.
- For example, global memory management allows the operating system to use cluster-wide memory to avoid many disk accesses
Goal
minimize average data reference time
- go to remote memory instead of disks
Why can global memory management benefit application?
- many nodes in LAN are often idle
- use those idle resources on behalf of nodes with active application
- GMS: use idle memory resources
Algorithm
- Model:
- local pages and global pages
- global pages are pages stroed on behalf of other nodes
- global pages together constitute “global memory”
- global memory adds another level of memory hierarchy
Implementation
- Three main aspects to implementation
- maintaining page ages
- finding pages in cluster
- making replacement and eviction (逐出) decisions
Page Ages
- global page ages?
- As times goes on
- local page ages?
- File pages easy
- Need to track accesses to mapped pages
- Use similar trick as in Ozalp’s paper
Global LRU
- There is too much overhead to maintain a global age. Instead, a probabilistic algorithm is used to decide which one to page out.
Making Replacement Decisions
- Common case is replacing oldest page in global memory
- the algorithm in paper?
How to design your experiments?
- The objective: Convince others and yourself about the idea and the system
- Question you should ask yourself
- Given your idea and your system, what kind of would others have about the idea and the system?
- Pick the Grapevine system as an example to design experimental evaluation for them