1 / 26

Janus Optimizing Memory and Storage Support for Non-Volatile Memory Systems

Janus Optimizing Memory and Storage Support for Non-Volatile Memory Systems. Sihang Liu Korakit Seemakhupt , Gennady Pekhimenko , Aasheesh Kolli , and Samira Khan. BACKGROUND. The new non-volatile memory (NVM) is High-speed Persistent Byte-addressable

keeney
Download Presentation

Janus Optimizing Memory and Storage Support for Non-Volatile Memory Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JanusOptimizing Memory and Storage Support for Non-Volatile Memory Systems Sihang Liu KorakitSeemakhupt, Gennady Pekhimenko, AasheeshKolli, and Samira Khan

  2. BACKGROUND • The new non-volatile memory (NVM) is • High-speed • Persistent • Byte-addressable • NVM allows program to manipulate persistent data in memory through a load/store interface • Different from conventional DRAM, NVM is bothMemoryandStorage Intel 3D XPoint A practical NVM system requires both memory and storage support

  3. MEMORY AND STORAGE SUPPORT These supports are designed for Prevent attackers from stealing or tampering data Encryption, integrity verification, etc. Security Improve NVM’s limited bandwidth Deduplication, compression, etc. Bandwidth Extend NVM’s limited lifetime Wear-leveling, error correction, etc. Endurance We refer to these memory and storage supports as backend memory operations

  4. BACKEND MEMORY OPERATION LATENCY Cache Writeback Memory Controller NVM Access Write Access Timeline

  5. BACKEND MEMORY OPERATION LATENCY Cache Writeback Volatile Memory Controller Backend Memory Operations Non-volatile NVM Access Write Access Timeline

  6. BACKEND MEMORY OPERATION LATENCY Cache Writeback Volatile Memory Controller Backend Memory Operations Non-volatile ~15 ns NVM Access >100 ns Write Access Timeline Latency to Persistence

  7. Why is write latency important?

  8. WRITE LATENCY IN NVM PROGRAMS Writeback from cache Backup persist_barrier Update Commit Timeline Example: An undo logging transaction

  9. WRITE LATENCY IN NVM PROGRAMS Backup Update Commit Write latency is on critical path Timeline Crash consistency mechanism puts write latency on the critical path

  10. WRITE LATENCY IN NVM PROGRAMS Backup Backup Update Update Commit Backend memory operations Commit Increased latency Timeline Backend memory operation increases the writeback latency

  11. Backend memory operations are on the critical path, How to reduce the latency?

  12. OBSERVATION Each backend memory operation seems indivisible Integration leads to serialized operations An Example: Counter-mode Encryption Integrity Verification Deduplication

  13. OBSERVATION However, it is possible to decompose them into sub-operations Generate counter An Example: Decompose Encrypt counter Data Encrypted counter Generate MAC (for integrity verification) Counter-mode Encryption

  14. KEY IDEA I: PARALLELIZATION After decomposing the example operations: Counter-mode Encryption Integrity Verification Deduplication

  15. KEY IDEA I: PARALLELIZATION There are two types of dependencies: Intra-operation dependency Counter-mode Encryption Integrity Verification Deduplication

  16. KEY IDEA I: PARALLELIZATION There are two types of dependencies: Inter-operation dependency Intra-operation dependency Counter-mode Encryption Integrity Verification Deduplication

  17. KEY IDEA I: PARALLELIZATION There are two types of dependencies: Inter-operation dependency Intra-operation dependency Parallelizable Counter-mode Encryption Integrity Verification Sub-operations without dependency can execute in parallel Deduplication

  18. KEY IDEA I: PARALLELIZATION There are two types of dependencies: Inter-operation dependency Intra-operation dependency Parallelizable Counter-mode Encryption Integrity Verification Sub-operations without dependency can execute in parallel Deduplication

  19. KEY IDEA II: PRE-EXECUTION External dependency A write consists of: Address Data Sub-operations can pre-execute as soon as their data/address dependency is resolved Counter-mode Encryption Integrity Verification Deduplication

  20. KEY IDEA II: PRE-EXECUTION Address-dependent A write consists of: Address Data Address-dependent sub-operations can pre-execute as soon as the address of the write is available Counter-mode Encryption Integrity Verification Deduplication

  21. KEY IDEA II: PRE-EXECUTION Data-dependent A write consists of: Address Data Data-dependent sub-operations can pre-execute as soon as the data of the write is available Counter-mode Encryption Integrity Verification Deduplication

  22. KEY IDEA II: PRE-EXECUTION Both-dependent A write consists of: Address Data Both-dependent sub-operations can pre-execute as soon as both the data and address of the write are available Counter-mode Encryption Integrity Verification Deduplication

  23. JANUS OVERVIEW Backup Backup Update Update Janus: Commit • Parallelization Commit Timeline Parallelized Serialized Parallelization reduces the latency of each operation

  24. JANUS OVERVIEW Backup Backup Backup Update Update Update Update Janus: Commit Commit Commit • Parallelization Commit • Pre-execution Timeline Parallelized Pre-executed Serialized Pre-execution moves their latency off the critical path

  25. PERFORMANCE • Janus provides a software interface to issue pre-execution • Compared to baseline with serialized operations: 2.35Xspeedup Manual: 2Xspeedup Janus Automated:

  26. JanusOptimizing Memory and Storage Support for Non-Volatile Memory Systems Sihang Liu KorakitSeemakhupt, Gennady Pekhimenko, AasheeshKolli, and Samira Khan

More Related