software-controlled transparent management of heterogeneous memory resources in virtualized systems...
TRANSCRIPT
![Page 1: Software-Controlled Transparent Management of Heterogeneous Memory Resources in Virtualized Systems Min Lee, Vishal Gupta, Karsten Schwan College of Computing](https://reader035.vdocuments.site/reader035/viewer/2022062713/56649f555503460f94c78b73/html5/thumbnails/1.jpg)
Software-Controlled Transparent Software-Controlled Transparent Management of Heterogeneous Memory Management of Heterogeneous Memory
Resources in Virtualized SystemsResources in Virtualized Systems
Min Lee, Vishal Gupta, Karsten Schwan
College of ComputingGeorgia Tech, Atlanta
![Page 2: Software-Controlled Transparent Management of Heterogeneous Memory Resources in Virtualized Systems Min Lee, Vishal Gupta, Karsten Schwan College of Computing](https://reader035.vdocuments.site/reader035/viewer/2022062713/56649f555503460f94c78b73/html5/thumbnails/2.jpg)
3D Stacked Memory3D Stacked Memory
3D-Stacked Memory Architectures for Multi-core Processors [ISCA’08]
![Page 3: Software-Controlled Transparent Management of Heterogeneous Memory Resources in Virtualized Systems Min Lee, Vishal Gupta, Karsten Schwan College of Computing](https://reader035.vdocuments.site/reader035/viewer/2022062713/56649f555503460f94c78b73/html5/thumbnails/3.jpg)
Heterogeneous Heterogeneous MemoryMemory
Capacity constraint on die-stacked memory Heterogeneous memory organization consisting of
on-chip and off-chip memory
Cores
Stacked On-chip Memory
Off-chip Memory (DDR)
![Page 4: Software-Controlled Transparent Management of Heterogeneous Memory Resources in Virtualized Systems Min Lee, Vishal Gupta, Karsten Schwan College of Computing](https://reader035.vdocuments.site/reader035/viewer/2022062713/56649f555503460f94c78b73/html5/thumbnails/4.jpg)
Usage ModelsUsage Models
• Large Cache: hardware managed large last-level-cache (L4)
• Heterogeneous Memory: system-visible heterogeneous memory (our focus)
![Page 5: Software-Controlled Transparent Management of Heterogeneous Memory Resources in Virtualized Systems Min Lee, Vishal Gupta, Karsten Schwan College of Computing](https://reader035.vdocuments.site/reader035/viewer/2022062713/56649f555503460f94c78b73/html5/thumbnails/5.jpg)
Why not H/W cache?Why not H/W cache?Advantages:Quickly react to changing access patternsSupports legacy software
Challenges:• Overhead of tags, requiring significant on-chip resources• Extending coherency protocols (design challenges and latency
penalty)• Diminishing returns• No higher-level information
![Page 6: Software-Controlled Transparent Management of Heterogeneous Memory Resources in Virtualized Systems Min Lee, Vishal Gupta, Karsten Schwan College of Computing](https://reader035.vdocuments.site/reader035/viewer/2022062713/56649f555503460f94c78b73/html5/thumbnails/6.jpg)
Challenges in Virtualized Challenges in Virtualized SystemsSystems
• Managing Heterogeneity: How to handle memory allocation?
• Access tracking: How to track VM memory activity in the hypervisor?
• Transparent Page migration: How to implement page migrations without guest VM involvement?
![Page 7: Software-Controlled Transparent Management of Heterogeneous Memory Resources in Virtualized Systems Min Lee, Vishal Gupta, Karsten Schwan College of Computing](https://reader035.vdocuments.site/reader035/viewer/2022062713/56649f555503460f94c78b73/html5/thumbnails/7.jpg)
OutlineOutline
• Motivation• Memory management mechanisms• Experimental Evaluation• Conclusions & Future Work
![Page 8: Software-Controlled Transparent Management of Heterogeneous Memory Resources in Virtualized Systems Min Lee, Vishal Gupta, Karsten Schwan College of Computing](https://reader035.vdocuments.site/reader035/viewer/2022062713/56649f555503460f94c78b73/html5/thumbnails/8.jpg)
Basic ideaBasic idea• Detect Hot pages and put them in the stacked memory
• Implemented in Xen hypervisor, a popular open-source hypervisor
• Heterogeneity management is transparent
![Page 9: Software-Controlled Transparent Management of Heterogeneous Memory Resources in Virtualized Systems Min Lee, Vishal Gupta, Karsten Schwan College of Computing](https://reader035.vdocuments.site/reader035/viewer/2022062713/56649f555503460f94c78b73/html5/thumbnails/9.jpg)
Memory Access Memory Access TrackingTracking
• Use page-table access-bits to build access-bit history• Scan page tables every 100 ms and maintain 32-bit access-bit
history
![Page 10: Software-Controlled Transparent Management of Heterogeneous Memory Resources in Virtualized Systems Min Lee, Vishal Gupta, Karsten Schwan College of Computing](https://reader035.vdocuments.site/reader035/viewer/2022062713/56649f555503460f94c78b73/html5/thumbnails/10.jpg)
Hot Page ManagementHot Page Management
![Page 11: Software-Controlled Transparent Management of Heterogeneous Memory Resources in Virtualized Systems Min Lee, Vishal Gupta, Karsten Schwan College of Computing](https://reader035.vdocuments.site/reader035/viewer/2022062713/56649f555503460f94c78b73/html5/thumbnails/11.jpg)
Handling Shared Handling Shared PagesPages
Reverse-maps for remapping shared pages
![Page 12: Software-Controlled Transparent Management of Heterogeneous Memory Resources in Virtualized Systems Min Lee, Vishal Gupta, Karsten Schwan College of Computing](https://reader035.vdocuments.site/reader035/viewer/2022062713/56649f555503460f94c78b73/html5/thumbnails/12.jpg)
Transparent Page Transparent Page MigrationMigration
Mirror page tables for transparent page-remapping
![Page 13: Software-Controlled Transparent Management of Heterogeneous Memory Resources in Virtualized Systems Min Lee, Vishal Gupta, Karsten Schwan College of Computing](https://reader035.vdocuments.site/reader035/viewer/2022062713/56649f555503460f94c78b73/html5/thumbnails/13.jpg)
Virtual Time TrackingVirtual Time TrackingAccounting in virtual-time instead of real-time for higher accuracy
3 events:•VM switch•Process switch•Timer tick
![Page 14: Software-Controlled Transparent Management of Heterogeneous Memory Resources in Virtualized Systems Min Lee, Vishal Gupta, Karsten Schwan College of Computing](https://reader035.vdocuments.site/reader035/viewer/2022062713/56649f555503460f94c78b73/html5/thumbnails/14.jpg)
Memory Allocation Memory Allocation PoliciesPolicies
• Share-based allocation: allocation stacked memory using administrator-defined weights
• WSS-based allocation: use dynamically determined working-set sizes as the weights for allocation
![Page 15: Software-Controlled Transparent Management of Heterogeneous Memory Resources in Virtualized Systems Min Lee, Vishal Gupta, Karsten Schwan College of Computing](https://reader035.vdocuments.site/reader035/viewer/2022062713/56649f555503460f94c78b73/html5/thumbnails/15.jpg)
Experimental Experimental EvaluationEvaluation
![Page 16: Software-Controlled Transparent Management of Heterogeneous Memory Resources in Virtualized Systems Min Lee, Vishal Gupta, Karsten Schwan College of Computing](https://reader035.vdocuments.site/reader035/viewer/2022062713/56649f555503460f94c78b73/html5/thumbnails/16.jpg)
Emulation PlatformEmulation PlatformA dual-socket Westmere platform, with memory throttling to
emulate heterogeneous memory
Socket 0(8 –
cores)
Socket 0(8 –
cores)
Socket 1(8 –
cores)
Socket 1(8 –
cores)
DRAMDRAMThrottled
DRAMThrottled
DRAM
![Page 17: Software-Controlled Transparent Management of Heterogeneous Memory Resources in Virtualized Systems Min Lee, Vishal Gupta, Karsten Schwan College of Computing](https://reader035.vdocuments.site/reader035/viewer/2022062713/56649f555503460f94c78b73/html5/thumbnails/17.jpg)
Impact of Memory Impact of Memory ThrottlingThrottling
Emulating different memory configurations
![Page 18: Software-Controlled Transparent Management of Heterogeneous Memory Resources in Virtualized Systems Min Lee, Vishal Gupta, Karsten Schwan College of Computing](https://reader035.vdocuments.site/reader035/viewer/2022062713/56649f555503460f94c78b73/html5/thumbnails/18.jpg)
Working-set Size Working-set Size TrackingTracking
Diverse WSS across applications with time-changing behavior requiring dynamic management
![Page 19: Software-Controlled Transparent Management of Heterogeneous Memory Resources in Virtualized Systems Min Lee, Vishal Gupta, Karsten Schwan College of Computing](https://reader035.vdocuments.site/reader035/viewer/2022062713/56649f555503460f94c78b73/html5/thumbnails/19.jpg)
Memory Access Memory Access PatternsPatterns
Diverse memory access patterns
![Page 20: Software-Controlled Transparent Management of Heterogeneous Memory Resources in Virtualized Systems Min Lee, Vishal Gupta, Karsten Schwan College of Computing](https://reader035.vdocuments.site/reader035/viewer/2022062713/56649f555503460f94c78b73/html5/thumbnails/20.jpg)
Impact of Memory Impact of Memory SpeedSpeed
Significant performance impact for several applications
![Page 21: Software-Controlled Transparent Management of Heterogeneous Memory Resources in Virtualized Systems Min Lee, Vishal Gupta, Karsten Schwan College of Computing](https://reader035.vdocuments.site/reader035/viewer/2022062713/56649f555503460f94c78b73/html5/thumbnails/21.jpg)
Micro-benchmark Micro-benchmark ResultsResults
Benchmark: Random access to large area of memory (100MB) All memory initially allocated from slow memory Significant decrease in memory access latency with page-
migrations enabled
![Page 22: Software-Controlled Transparent Management of Heterogeneous Memory Resources in Virtualized Systems Min Lee, Vishal Gupta, Karsten Schwan College of Computing](https://reader035.vdocuments.site/reader035/viewer/2022062713/56649f555503460f94c78b73/html5/thumbnails/22.jpg)
ConclusionsConclusions• A case for managing heterogeneous memory
resources in software• Hypervisor-level mechanisms for transparent
memory management
Future Work• Various optimization to reduce page-migration
costs• Implementation of memory allocation policies
![Page 23: Software-Controlled Transparent Management of Heterogeneous Memory Resources in Virtualized Systems Min Lee, Vishal Gupta, Karsten Schwan College of Computing](https://reader035.vdocuments.site/reader035/viewer/2022062713/56649f555503460f94c78b73/html5/thumbnails/23.jpg)
Thank you.Thank you.
Questions or comments?