MIND: In-Network Memory Management for Disaggregated Data Centers
https://www.anuragkhandelwal.com/papers/mind.pdf
Last updated
Was this helpful?
https://www.anuragkhandelwal.com/papers/mind.pdf
Last updated
Was this helpful?
Resource disaggregation
High resource utilization, ease to manage, elastic scalability
Memory disaggregation
Need for memory disaggregation
Now: suffer from low utilization, unbalanced usage, energy consumption
Timely problem (storage disaggregation is already popular)
Goal:
Performance (CPU <--> memory): high throughput and low latency
Transparent elasticity: flexible resource allocation
Existing approach
Distributed shared memory (DSM)
Good elasticity but not good performance
Recent disaggregated memory schemes
Compromise elasticity by high throughput (no sharing0
Key insight: in-network memory management (MMU)
Central location: global view & processing directly in the data path
Programmable switching ASIC: flexible processing at line rate
Similarity between network functions and memory management
MIND: in-network memory management
Address translation: where is the data
Memory protection: is this access permitted or valid?
Cache coherence protocol: how to keep data synchronized?
Challenges in Building In-network MMU
Limited amount of in-network resources
Limited size of in-network memory
Tens of MB --> not sufficient to store metadata in a traditional way
Limited computation capability
Switching ASIC --> not sufficient to directly port traditional MMU functions
3 Principles for System Design
P1: decouple memory management functionalities
Each function has the data structure suitable to its purpose
P2: Leverage global view of network
Make better decisions for memory management
P3: Exploit network-centric hardware primitives
Reuse network hardware highly optimized for network functions
Challenges
Address translation
Small: too many entries, huge page: load balancing
Apply
Static huge partition
Fine-grained, range-based translation
Memory protection
Small: too many entries, huge page: inflexible protection
Solve: VMA-granularity protection
Cache directory
Small cache line: too many entries, large cache line: false sharing
Solve: access granularity, coherence granularity (dynamic resizing), with theoretical bound of O(log2)
Performance evaluation
Low contention, high contention
Conclusion
Trade-off between resource elasticity and performance in memory aggregation
MIND: in-network MMU by leveraging programmable network
Match the performance of prior proposals and provide transparent elasticity