better i o through byte addressable persistent memory
play

Better I/O Through Byte-Addressable, Persistent Memory Jeremy Condit - PowerPoint PPT Presentation

Better I/O Through Byte-Addressable, Persistent Memory Jeremy Condit , Ed Nightingale, Chris Frost, Engin Ipek, Ben Lee, Doug Burger, Derrick Coetzee A New World of Storage DRAM + Fast + Byte-addressable - Volatile Disk / Flash +


  1. Better I/O Through Byte-Addressable, Persistent Memory Jeremy Condit , Ed Nightingale, Chris Frost, Engin Ipek, Ben Lee, Doug Burger, Derrick Coetzee

  2. A New World of Storage DRAM + Fast + Byte-addressable - Volatile Disk / Flash + Non-volatile - Slow - Block-addressable 2

  3. A New World of Storage Byte-addressable, Persistent RAM BPRAM + Fast + Byte-addressable + Non-volatile 3

  4. A New World of Storage Byte-addressable, Persistent RAM BPRAM + Fast + Byte-addressable + Non-volatile How do we build fast, reliable systems with BPRAM? 4

  5. Phase Change Memory • Most promising form of BPRAM • “Melting memory chips in mass production” – Nature , 9/25/09 5

  6. Phase Change Memory slow cooling -> crystalline state (1) phase change material fast cooling -> amorphous state (0) (chalcogenide) Properties Reads: 2-4x DRAM Writes: 5-10x DRAM electrode Endurance: 10 8 + 6

  7. A New World of Storage Byte-addressable, Persistent RAM BPRAM + Fast + Byte-addressable + Non-volatile How do we build fast, reliable systems with BPRAM? Disk / Flash + Non-volatile - Slow This talk: BPFS , a file system for BPRAM - Block-addressable Result: Improved performance and reliability 7

  8. Goal New guarantees for applications • File system operations will commit atomically and in program order • Your data is durable as soon as the cache is flushed New mechanism: short-circuit shadow paging 8

  9. Design Principles  1. Eliminate the DRAM buffer cache ; use the L1/L2 cache instead 2. Put BPRAM on the memory bus 3. Provide atomicity and Write A Write B ordering in hardware 9

  10. Outline • Intro • File System • Hardware Support • Evaluation • Conclusion 10

  11. BPRAM in the PC L1 L2 Memory bus DRAM PCI/IDE bus HD / Flash 11

  12. BPRAM in the PC • BPRAM and DRAM are L1 addressable by the CPU L2 Memory bus • Physical address space is partitioned DRAM BPRAM PCI/IDE bus • BPRAM data may be HD / Flash cached in L1/L2 12

  13. BPRAM in the PC • BPRAM and DRAM are L1 addressable by the CPU L2 Memory bus • Physical address space is partitioned DRAM BPRAM • BPRAM data may be cached in L1/L2 13

  14. BPFS: A BPRAM File System • Guarantees that all file operations execute atomicallyand in program order • Despite guarantees, significant performance improvements over NTFS on the same media • Short-circuit shadow paging often allows atomic, in-place updates 14

  15. BPFS: A BPRAM File System root pointer inode indirect blocks file inodes file directory file 15

  16. BPFS: A BPRAM File System root pointer inode indirect blocks file inodes file file directory 16

  17. Enforcing FS Consistency Guarantees • What happens if we crash during an update? 17

  18. Enforcing FS Consistency Guarantees • What happens if we crash during an update? 18

  19. Enforcing FS Consistency Guarantees • What happens if we crash during an update? 19

  20. Enforcing FS Consistency Guarantees • What happens if we crash during an update? – Disk: Use journaling or shadow paging – BPRAM: Use short-circuit shadow paging 20

  21. Review 1: Journaling • Write to journal, then write to file system file system A B journal 21

  22. Review 1: Journaling • Write to journal, then write to file system file system A B journal A’ B’ 22

  23. Review 1: Journaling • Write to journal, then write to file system file system A’ A B’ B journal A’ B’ 23

  24. Review 1: Journaling • Write to journal, then write to file system file system A’ A B’ B journal A’ B’ • Reliable, but all data is written twice 24

  25. Review 2: Shadow Paging • Use copy-on-write up to root of file system file’s root pointer A B 25

  26. Review 2: Shadow Paging • Use copy-on-write up to root of file system file’s root pointer A B A’ B’ 26

  27. Review 2: Shadow Paging • Use copy-on-write up to root of file system file’s root pointer A B A’ B’ 27

  28. Review 2: Shadow Paging • Use copy-on-write up to root of file system file’s root pointer A B A’ B’ 28

  29. Review 2: Shadow Paging • Use copy-on-write up to root of file system file’s root pointer A B A’ B’ 29

  30. Review 2: Shadow Paging • Use copy-on-write up to root of file system file’s root pointer A B A’ B’ • Any change requires bubbling to the FS root • Small writes require large copying overhead 30

  31. Short-Circuit Shadow Paging • Inspired by shadow paging – Optimization: In-place update when possible file’s root pointer A B • Uses byte-addressability and atomic 64b writes 31

  32. Short-Circuit Shadow Paging • Inspired by shadow paging – Optimization: In-place update when possible file’s root pointer A B A’ B’ • Uses byte-addressability and atomic 64b writes 32

  33. Short-Circuit Shadow Paging • Inspired by shadow paging – Optimization: In-place update when possible file’s root pointer A B A’ B’ • Uses byte-addressability and atomic 64b writes 33

  34. Short-Circuit Shadow Paging • Inspired by shadow paging – Optimization: In-place update when possible file’s root pointer A B A’ B’ • Uses byte-addressability and atomic 64b writes 34

  35. Opt. 1: In-Place Writes • Aligned 64-bit writes are performed in place – Data and metadata file’s root pointer 35

  36. Opt. 1: In-Place Writes • Aligned 64-bit writes are performed in place – Data and metadata file’s root pointer in-place write 36

  37. Opt. 1: In-Place Writes • Aligned 64-bit writes are performed in place – Data and metadata file’s root pointer 37

  38. Opt. 1: In-Place Writes • Aligned 64-bit writes are performed in place – Data and metadata file’s root pointer 38

  39. Opt. 1: In-Place Writes • Aligned 64-bit writes are performed in place – Data and metadata file’s root pointer 39

  40. Opt. 2: Exploit Data-Metadata Invariants • Appends committed by updating file size file’s root pointer + size 40

  41. Opt. 2: Exploit Data-Metadata Invariants • Appends committed by updating file size file’s root pointer + size in-place append 41

  42. Opt. 2: Exploit Data-Metadata Invariants • Appends committed by updating file size file’s root pointer + size file size update in-place append 42

  43. BPFS Example root pointer inode indirect blocks file inodes directory directory file 43

  44. BPFS Example root pointer inode indirect blocks file inodes add entry remove entry directory directory file • Cross-directory rename bubbles to common ancestor 44

  45. BPFS Example root pointer inode indirect blocks file inodes directory directory file 45

  46. Outline • Intro • File System • Hardware Support • Evaluation • Conclusion 46

  47. Problem 1: Ordering ... CoW Commit ... L1 / L2 BPRAM 47

  48. Problem 1: Ordering ... CoW Commit ... L1 / L2 BPRAM 48

  49. Problem 1: Ordering ... CoW Commit ... L1 / L2 BPRAM 49

  50. Problem 1: Ordering ... CoW Commit ... L1 / L2 BPRAM 50

  51. Problem 1: Ordering ... CoW Commit ... L1 / L2 BPRAM 51

  52. Problem 2: Atomicity ... CoW Commit ... L1 / L2 BPRAM 52

  53. Problem 2: Atomicity ... CoW Commit ... L1 / L2 BPRAM 53

  54. Problem 2: Atomicity ... CoW Commit ... L1 / L2 BPRAM 54

  55. Problem 2: Atomicity ... CoW Commit ... L1 / L2 BPRAM 55

  56. Enforcing Ordering and Atomicity • Ordering – Solution: Epoch barriers to declare constraints – Faster than write-through – Important hardware primitive (cf. SCSI TCQ) • Atomicity – Solution: Capacitor on DIMM – Simple and cheap! 56

  57. Ordering and Atomicity ... CoW Barrier Commit L1 / L2 ... BPRAM 57

  58. Ordering and Atomicity ... CoW 1 Barrier 1 1 Commit L1 / L2 ... BPRAM 58

  59. Ordering and Atomicity ... CoW 1 Barrier 1 1 Commit L1 / L2 ... BPRAM 59

  60. Ordering and Atomicity 2 ... CoW 1 Barrier 1 1 Commit L1 / L2 ... BPRAM 60

  61. Ordering and Atomicity Ineligible for eviction! 2 ... CoW 1 Barrier 1 1 Commit L1 / L2 ... BPRAM 61

  62. Ordering and Atomicity Ineligible for eviction! 2 ... CoW Barrier Commit L1 / L2 ... BPRAM 62

  63. Ordering and Atomicity 2 ... CoW Barrier Commit L1 / L2 ... BPRAM 63

  64. Ordering and Atomicity ... CoW Barrier Commit L1 / L2 ... BPRAM 64

  65. Ordering and Atomicity ... CoW Barrier Commit L1 / L2 ... MP works too (see paper) BPRAM 65

  66. Outline • Intro • File System • Hardware Support • Evaluation • Conclusion 66

  67. Methodology • Built and evaluated BPFS in Windows • Three parts: – Experimental: BPFS vs. NTFS on DRAM – Simulation: Epoch barrier evaluation – Analytical: BPFS on PCM 67

  68. Microbenchmarks Append n Bytes Random n Byte Write 2 10 NOT DURABLE! 1.6 8 1.2 6 Time (s) 0.8 4 NOT DURABLE! DURABLE! NTFS - Disk 0.4 2 NTFS - RAM BPFS - RAM DURABLE! 0 0 8 64 512 4096 8 64 512 4096 68

  69. BPFS Throughput On PCM 1 Execution Time (vs. NTFS / Disk) 0.75 0.5 0.25 0 NTFS NTFS BPFS BPFS Disk RAM RAM PCM (Proj) 69

Recommend


More recommend