log log struct ctured non vo volatile ma main n me memory
play

Log Log-Struct ctured Non-Vo Volatile Ma Main n Me Memory - PowerPoint PPT Presentation

Log Log-Struct ctured Non-Vo Volatile Ma Main n Me Memory Qingda Hu*, Jinglei Ren, Anirudh Badam, Jiwu Shu* and Thomas Moscibroda *Tsinghua University , Microsoft Research No Non-vo volat atile memory is coming Data storage 3D


  1. Log Log-Struct ctured Non-Vo Volatile Ma Main n Me Memory Qingda Hu*, Jinglei Ren, Anirudh Badam, Jiwu Shu* and Thomas Moscibroda *Tsinghua University , Microsoft Research

  2. No Non-vo volat atile memory is coming… • Data storage 3D XPoint/Optane (2015 - ) Read: ~50ns Write: ~10GB/s PCM Read: ~100ns Read: ~10µs Write: ~1GB/s Write: ~100MB/s 2

  3. Background: Impact of NVM VM • Architecture : Non-Volatile Main Memory (NVMM) NVM DRAM DRAM SSD • Data persistence as a bottleneck è 10+x application performance improvement 3

  4. Execut Ex utive Sum ummary • Motivation Inefficient use of • Application Application memory space Library Library Inefficient support for • crash consistency DRAM NVMM SSD • Solution : Log-structured memory management for NVMM. • Evaluation : 7x less memory waste; 90% higher write throughput. 4

  5. Ou Outline • Motivation • Log-Structured NVMM • Tree-Based Address Mapping • Evaluation 5

  6. Mo Motivation I • Inefficient use of memory space • Reason : Traditional DRAM allocators incur high memory fragmentation . • Explanation : 8B 8B 8B 8B 8B 8B … 8B 8B …… 16B 16B 16B … 16B …… … … …… Internal fragmentation: Waste 32B 24B External fragmentation: 32B Waste (32B) 32B 32B Waste (32B) 64B request 6

  7. Mo Motivation I • Inefficient use of memory space (cont.) • Fragmentation is a more severe issue for NVM! process process process process process process DRAM NVMM 7

  8. Mo Motivation II • Inefficient support for crash consistency • Reason : Write-twice in log and home . • Explanation : Redo logging for example. transaction { NVMM a a += 1; b -= 1; b } a’ b’ Log Home 8

  9. Ou Outline • Motivation • Log-Structured NVMM • Tree-Based Address Mapping • Evaluation 9

  10. Lo Log-Structured NVM VMM • Library and architecture Process (user space) Address mapping ( DRAM ) Transaction Home addr. Log addr. translate(&a) &a a &b … Allocated a’ Available a Memory management: An append-only log mmap() NVM device Application X 10

  11. Lo Log-Structured NVM VMM • Low fragmentation • For internal fragmentation: Compact append Allocated a Available No internal fragmentation • For external fragmentation: Log cleaning Allocated a a’ Available 11

  12. Log-Structured NVM Lo VMM • Efficient crash-consistent update • No separate areas. Write only once. Address mapping transaction { a += 1; Home addr. Log addr. b -= 1; &a } &b Allocated Available a b a’ b’ • Header: size, checksum , etc. 12

  13. Ou Outline • Motivation • Log-Structured NVMM • Tree-Based Address Mapping • Evaluation 13

  14. Tr Tree-Ba Base sed Ad Address ss Ma Mapping • Unique challenges to NVMM • Pervasive and highly frequent memory accesses. • Allocation granularity ≠ access granularity è No O(1) lookup. • Filesystems: hash( block number ) as the index. • Databases: hash( key or tuple ID ) as the index. • Main memory: hash(address)? That maps every address! • Tree-based mapping 0xABB4, made performant. ? 0xABC8 size=16 0xABC0, ... size=24 14

  15. Tr Tree-Ba Base sed Ad Address ss Ma Mapping • Two-layer mapping Partition index : Ο(1) …… …… …… Tree for a small partition (4KB) Ο(log 𝑜) • Improves transaction throughput by 39.6% on average. 15

  16. Tr Tree-Ba Base sed Ad Address ss Ma Mapping • Skip list …… • A probabilistically balanced tree. No complex balancing operations è No locking for read- only operations. • Improves transaction throughput by 48.9% with four threads. 16

  17. Tr Tree-Ba Base sed Ad Address ss Ma Mapping • Group update • Within each transaction, all writes are first buffered in DRAM . • Writes with contiguous addresses are combined on transaction commit. • Improves transaction throughput by 42.3% on average. 17

  18. Ou Outline • Motivation • Log-Structured NVMM • Tree-Based Address Mapping • Evaluation 18

  19. Ev Evaluation • Environment: • 8-core Intel Xeon CPU E5-2637 v3 (3.5 GHz), 64 GB DRAM • 64-bit Linux kernel version 4.2.3 {500ns, 34567_95:7 • NVM emulation : write latency = max ;<=/9 } • Part I: How effective are individual optimizations? – Already shown. • Part II: How does LSNVMM perform against traditional systems? • Part III: What are the inherent costs of the log-structured approach? 19

  20. Ev Evaluation • Fragmentation: Compared to Hoard and jemalloc • Workloads 1 ~ 3 collected from [S. Rumble, FAST ’14]. • Hoard/jemalloc produces 25.3% / 35.0% fragmentation on average. Ø Log-structured NVM (LSNVMM) produces 4.5% fragmentation on average. 20

  21. Ev Evaluation • Transaction throughput compared to Mnemosyne • With 4 threads, log-structured NVMM performs 44.7% and 80.8% better than Mnemosyne and Mnemosyne-Undo, respectively, on average. 21

  22. Co Conclusi sion • Takeaway I : Applying the log-structured approach to NVMM can largely reduce memory fragmentation and improve system performance. • Takeaway II : A tree -based address mapping mechanism can be made efficient to serve log-structured NVMM. • Thank you! • Q & A 22

  23. Ev Evaluation • Cost of log cleaning • The performance degradation due to log cleaning is 8% at 90% memory utilization . 23

  24. Tr Tree-Ba Base sed Ad Address ss Ma Mapping • Hot tree node cache • A thread-local cache that references recently accessed nodes of the trees. • A special hash table design: Deliberately high collision. • Motivation : Addresses within a cached node are not hit due to random distribution of their hash values. • Solution : Use high-order bits of an address as its hash value. 0xABB* 0xABCD0 0xABC00 ? 0xABC08 0xABC* (size=16) (size=24) 0xABD* Collison and found! • Improves transaction throughput by 30.1% on average. 24

  25. Ba Backup • Recovery time (10GB logs) 25

  26. Ba Backup • DRAM footprint (1GB data) 26

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend