mnemo
play

Mnemo: Boosting Memory Cost Efficiency in Hybrid Memory Systems - PowerPoint PPT Presentation

Mnemo: Boosting Memory Cost Efficiency in Hybrid Memory Systems Thaleia Dimitra Doudali Ada Gavrilovska Problem Space Cost of memory dominates in the cloud. 60% - 85% of the hourly VM cost! Big Data Analytics Volatile Memory (DRAM)


  1. Mnemo: Boosting Memory Cost Efficiency in Hybrid Memory Systems Thaleia Dimitra Doudali Ada Gavrilovska

  2. Problem Space Cost of memory dominates in the cloud. 60% - 85% of the hourly VM cost! Big Data Analytics Volatile Memory (DRAM) Memory e.g. DDR-4 Technology Options In-Memory Key-Value Stores cheaper but slower to access than DRAM Non Volatile Memory (NVM) e.g. Intel Optane DC Persistent Memory Memory Optimized Virtual Machines (Will be available in Google Cloud instances 
 with capacity up to 7 TBs) with up to few TBs of memory. Mnemo @ HPBDC ‘19

  3. Problem Statement Capacity Sizing of the Hybrid Memory Components. Facts: ● Future clouds will feature hybrid memory components. ● These components have different cost and access latencies. In-Memory Key-Value Stores Problem: What is the ideal capacity ratio between the hybrid memory components? Goals: ● Maximize system’s cost efficiency. DRAM ● Keep performance guarantees. NVM Mnemo @ HPBDC ‘19

  4. Existing Solutions Data Tiering over fixed capacities. high overhead! Binary Memory code custom modified Instrumentation Access Trace execution code API In-Memory Key-Value Stores representative Profiling Profiling Tool decides: key access pattern Accuracy Speed 1. Which keys are hot/cold? (e.g. ML) Track every single memory access per key. Profiling Tool 2. Which keys to place/move to DRAM? Estimate performance benefit from DRAM placement. Use analytical model with performance baselines. hot keys cold keys Output: Data Tiering across DRAM and NVM. If different DRAM:NVM capacity ratio: 1. Run profiling again to get a new tiering. 2. Run application and observe change in DRAM NVM performance. fixed hardware capacities Problem: Currently no way to know how much DRAM vs NVM to use. Mnemo @ HPBDC ‘19

  5. Solution Preview Mnemo Offline Profiling Tool for in-memory Key-Value Stores ● Data Tiering 
 Which keys should be allocated in DRAM vs NVM? ● Capacity Sizing 
 How many keys should be allocated in DRAM, so that keys application performance remains high, but memory cost Mnemo remains low? hot keys cold keys Performance sweet spot DRAM NVM Hybrid Memory Cost Mnemo quickly generates an accurate trendline How much capacity of each memory type? of application performance for incremental DRAM to NVM capacity ratio, thus memory cost. Mnemo @ HPBDC ‘19

  6. Motivation Which parameters affect key-value store performance over hybrid memory systems? Application Performance Increase More keys in DRAM Increasing DRAM capacity Increasing memory cost Mnemo @ HPBDC ‘19

  7. Motivation Which parameters affect key-value store performance over hybrid memory systems? hot keys Application Performance Increase More keys in DRAM Increasing DRAM capacity Increasing memory cost Varying key access pattern Mnemo @ HPBDC ‘19

  8. Motivation Which parameters affect key-value store performance over hybrid memory systems? more reads ⬆ Application Performance Increase More keys in DRAM Increasing DRAM capacity Increasing memory cost Varying read:write request ratio Mnemo @ HPBDC ‘19

  9. Motivation Which parameters affect key-value store performance over hybrid memory systems? Application bigger values ⬆ Performance Increase More keys in DRAM Increasing DRAM capacity Increasing memory cost Varying key-value size Mnemo @ HPBDC ‘19

  10. Motivation Takeaways Which parameters affect key-value store performance over hybrid memory systems? - Key access pattern - Read:Write requests - Key-Value sizes These parameters determine the shape of the curve. The height of the curve also depends on the latency difference in accessing DRAM vs NVM. Takeaways: In order to estimate performance we’ll need to capture: All-data-in-DRAM - The workload parameters. All-data-in-NVM - Performance baselines for DRAM vs NVM. Mnemo @ HPBDC ‘19

  11. Mnemo Usage Provides just a User ✅ Minimal User Effort workload description Input ✅ No Application Modifications Mnemo Generates the performance-to-cost ✅ Fast trendline Performance ✅ Lightweight ✅ Accurate Hybrid Memory Cost User chooses the sweet spot that Output ✅ Maximum Cost Efficiency brings the desired performance to User ✅ Desired performance levels under his cost budget. Mnemo @ HPBDC ‘19

  12. Detailed Design Key Request Pattern IP of server with DRAM DRAM-NVM Key-Value Sizes IP of server with NVM price difference Sensitivity Engine Pattern Engine Workload Execution over DRAM-only Key prioritization for DRAM allocation. and NVM-only. weight = # accesses / key-value size Performance Keys ordered baselines by weight Estimate Engine Generates performance estimate across the key space. All-data-in-DRAM Throughput All-data-in-NVM Read Time Diff (NVM-DRAM) User Write Time Diff (NVM-DRAM) choice No. of keys in DRAM sweet Increasing DRAM capacity Throughput Reads x + Writes x spot Increasing memory cost Estimate Reads + Writes Key-Value Placement Engine pairs Populates the servers with the selected data tiering. Mnemo @ HPBDC ‘19

  13. Evaluation Methodology Metrics: Estimate Accuracy ❓ Cost Efficiency ❓ Profiling Overhead ❓ Implementation: Facebook-like actions varying synthetic key access pattern, read:write ratio, value workloads sizes YCSB modified request to request to client server with DRAM server with NVM unmodified server Redis Memcached DynamoDB actual hardware DRAM NVM 
 ( emulated ) Mnemo @ HPBDC ‘19

  14. Evaluation Results Mnemo successfully captures the trade-off between performance and cost Mnemo @ HPBDC ‘19

  15. Evaluation Results Mnemo allows for significant cost reductions The higher the better ⬆ For chosen performance sweet spot to be 10% slowdown from all-data-in-DRAM. Mnemo @ HPBDC ‘19

  16. Evaluation Results Mnemo is extremely accurate Mnemo @ HPBDC ‘19

  17. Profiling Overhead No code modifications. ✅ Lightweight Workload description. In-Memory Key-Value Stores Profiling key access pattern Profiling Tool decides: Accuracy Speed 1. Which keys are hot/cold? Mnemo Extract access information from workload description. 2. Which keys to place/move to DRAM? Get performance baselines through workload execution. Use analytical model with performance baselines. ✅ Fast hot keys cold keys Performance sweet spot ✅ Accurate DRAM NVM How much capacity of each memory type? Hybrid Memory Cost Mnemo @ HPBDC ‘19

  18. Summary Performance sweet spot keys Mnemo hot keys cold keys Hybrid Memory Cost ✅ Fast ✅ Lightweight DRAM NVM ✅ Accurate How much capacity of each memory type? ✅ Open source https://github.com/Thaleia-DimitraDoudali/mnemo Mnemo @ HPBDC ‘19

Recommend


More recommend