New Abstractions for Fast Non-Volatile Storage

Similar documents
Secure Erasure of Flash Memory

Moneta: A High-Performance Storage Architecture for Next-generation, Non-volatile Memories

Onyx: A Prototype Phase-Change Memory Storage Array

Near- Data Computa.on: It s Not (Just) About Performance

Redrawing the Boundary Between So3ware and Storage for Fast Non- Vola;le Memories

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons)

File Systems: Consistency Issues

Recoverability. Kathleen Durant PhD CS3200

STORAGE LATENCY x. RAMAC 350 (600 ms) NAND SSD (60 us)

arxiv: v1 [cs.dc] 13 Dec 2017

BzTree: A High-Performance Latch-free Range Index for Non-Volatile Memory

Lecture 21: Logging Schemes /645 Database Systems (Fall 2017) Carnegie Mellon University Prof. Andy Pavlo

Topics. File Buffer Cache for Performance. What to Cache? COS 318: Operating Systems. File Performance and Reliability

User Perspective. Module III: System Perspective. Module III: Topics Covered. Module III Overview of Storage Structures, QP, and TM

Willow: A User- Programmable SSD

EECS 482 Introduction to Operating Systems

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons)

ARIES (& Logging) April 2-4, 2018

Bill Bridge. Oracle Software Architect NVM support for C Applications

Overcoming System Memory Challenges with Persistent Memory and NVDIMM-P

JOURNALING techniques have been widely used in modern

CS122 Lecture 15 Winter Term,

UNIVERSITY OF CALIFORNIA, SAN DIEGO. Providing Fast and Safe Access to Next-Generation, Non-Volatile Memories

Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. Last Class. Today s Class. Faloutsos/Pavlo CMU /615

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons)

NVSL. The Non-Volatile Systems Laboratory Research Overview. Dr. Steven Swanson, Director

Lecture 18: Reliable Storage

Last Class Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications

Chapter 14: Recovery System

Algorithm Performance Factors. Memory Performance of Algorithms. Processor-Memory Performance Gap. Moore s Law. Program Model of Memory I

TRANSACTION PROPERTIES

Database Management System

Non-Volatile Memory Through Customized Key-Value Stores

COS 318: Operating Systems. Journaling, NFS and WAFL

Memory hierarchy and cache

Database Management Systems

Transactions. A Banking Example

SoftWrAP: A Lightweight Framework for Transactional Support of Storage Class Memory

CSCI-GA Multicore Processors: Architecture & Programming Lecture 3: The Memory System You Can t Ignore it!

Lecture 20 Transactions

ECE 598-MS: Advanced Memory and Storage Systems Lecture 7: Unified Address Translation with FlashMap

DATABASE DESIGN I - 1DL300

COURSE 1. Database Management Systems

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Recovery System These slides are a modified version of the slides of the book Database System Concepts (Chapter 17), 5th Ed McGraw-Hill by

Portland State University ECE 587/687. Caches and Memory-Level Parallelism

Lecture 17 Introduction to Memory Hierarchies" Why it s important " Fundamental lesson(s)" Suggested reading:" (HP Chapter

JOURNALING FILE SYSTEMS. CS124 Operating Systems Winter , Lecture 26

PCIe Storage Beyond SSDs

WORT: Write Optimal Radix Tree for Persistent Memory Storage Systems

Toward a Memory-centric Architecture

Persistent Memory in Mission-Critical Architecture (How and Why) Adam Roberts Engineering Fellow, Western Digital Corporation

Transactions. Chapter 15. New Chapter. CS 2550 / Spring 2006 Principles of Database Systems. Roadmap. Concept of Transaction.

NOVA: The Fastest File System for NVDIMMs. Steven Swanson, UC San Diego

Topics. " Start using a write-ahead log on disk " Log all updates Commit

CHAPTER: TRANSACTIONS

Outline. Failure Types

Chapter 8 Virtual Memory

ECE 152 Introduction to Computer Architecture

Transactions. Lecture 8. Transactions. ACID Properties. Transaction Concept. Example of Fund Transfer. Example of Fund Transfer (Cont.

Databases: transaction processing

Question?! Processor comparison!

CSC 261/461 Database Systems Lecture 20. Spring 2017 MW 3:25 pm 4:40 pm January 18 May 3 Dewey 1101

MITOCW ocw apr k

Impact on Application Development: SNIA NVM Programming Model in the Real World. Andy Rudoff pmem SW Architect, Intel

Redesigning LSMs for Nonvolatile Memory with NoveLSM

Disks & Files. Yanlei Diao UMass Amherst. Slides Courtesy of R. Ramakrishnan and J. Gehrke

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

T ransaction Management 4/23/2018 1

NVthreads: Practical Persistence for Multi-threaded Applications

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons)

Developing Low Latency NVMe Systems for HyperscaleData Centers. Prepared by Engling Yeo Santa Clara, CA Date: 08/04/2017

Moneta: A High-performance Storage Array Architecture for Nextgeneration, Micro 2010

Database Management Systems 2010/11

Introduction to File Structures

Overview of Transaction Management

Block Device Scheduling. Don Porter CSE 506

STORING DATA: DISK AND FILES

Hardware Undo+Redo Logging. Matheus Ogleari Ethan Miller Jishen Zhao CRSS Retreat 2018 May 16, 2018

Orphans, Corruption, Careful Write, and Logging, or Gfix says my database is CORRUPT or Database Integrity - then, now, future

SSDs vs HDDs for DBMS by Glen Berseth York University, Toronto

Let!s go back to a course goal... Let!s go back to a course goal... Question? Lecture 22 Introduction to Memory Hierarchies

CSE 530A ACID. Washington University Fall 2013

Chapter 15: Transactions

Module Outline. CPU Memory interaction Organization of memory modules Cache memory Mapping and replacement policies.

SAY-Go: Towards Transparent and Seamless Storage-As-You-Go with Persistent Memory

Recovery System These slides are a modified version of the slides of the book Database System Concepts (Chapter 17), 5th Ed

Memory Management! How the hardware and OS give application pgms:" The illusion of a large contiguous address space" Protection against each other"

A New Key-Value Data Store For Heterogeneous Storage Architecture

Chapter 17: Recovery System

Failure Classification. Chapter 17: Recovery System. Recovery Algorithms. Storage Structure

Architecture and Implementation of Database Systems (Summer 2018)

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI

Database Management Systems Reliability Management

FOR decades, transactions have been widely used in database

System Software for Persistent Memory

File System Implementation

Loose-Ordering Consistency for Persistent Memory

CS 377 Database Systems Transaction Processing and Recovery. Li Xiong Department of Mathematics and Computer Science Emory University

Onyx: A Protoype Phase Change Memory Storage Array

Transcription:

New Abstractions for Fast Non-Volatile Storage Joel Coburn, Adrian Caulfield, Laura Grupp, Ameen Akel, Steven Swanson Non-volatile Systems Laboratory Department of Computer Science and Engineering University of California, San Diego 1

How do you re-engineer a system where disk is as fast as DRAM? 2

Storage System Architecture of the Future IO access time nanoseconds! (read hit in L1, L2 caches) CPU Cache (SRAM) CPU ~1-10X latency PCM PCM 1X latency DRAM DRAM ~10000X latency Disk Memory Controller I/O Controller STTM STTM PCM CMOx PCM TAS-MRAM 3

System Stack for Disk User space Operating system Hardware Application Storage access, allocation, naming, organization, protection Disk 4

Yesterday s Interfaces for Tomorrow s Storage Random read of 4KB page Disk SSD Fast NVM System Call File System Hardware 0 1000 2000 3000 4000 5000 6000 7000 Latency (usec) 5

Amdahl s Law strikes again! Disk Random read of 4KB page SSD Fast NVM System Call File System Hardware 0 50 100 150 200 250 Latency (usec) 6

Why do we have file systems? Access data Persistence & consistency (safety) Holds data until it is explicitly deleted Recovers from system crashes Other stuff Needs to be fast Can be slow Structure/organization for data (directories) Allows sharing of data between processes, users, and machines Provides protection from data theft or destruction (security) Basic operations: create, delete, open 7

Criteria for New Abstractions Memory-like interface Rich, non-volatile data structures implemented in the same way that volatile data structures are implemented direct load/store access to memory Persistence and safety Data structures should be robust against application and system failure High performance Application level access latency should as close as possible to latency of the storage technology Leverage caching in the memory hierarchy 8

System Stack for Non-Volatile Memories Userspace Operating system Hardware Application NVTM Allocation & garbage collection Non-volatile memory allocation, mapping, and protection Non-volatile memory 9

The Old Way: Volatile Heap A program accesses a single heap in volatile memory Build rich, pointerbased data structures Serialize/de-serialize to transfer data to/from storage Memory (DRAM) Heap 0 1 1 0 1 Volatile Non-volatile 101100 101000 110111 Disk 10

The New Way: Non-Volatile Heaps We want to have multiple heaps in nonvolatile storage Appear in the application s address space just like memory Rich, pointer-based data structures live directly in storage Challenge: provide safety guarantees Non-Volatile Storage (i.e. PCM) Heap A Heap B Heap C 11

Accessing Non-Volatile Heaps: Transactions Used by databases to make guarantees about storage Now also used to manage concurrent access to volatile memory in multi-core systems Definition: a sequence of operations that is atomic and durable Give us guarantees against Failures Concurrency issues 12

Transactions: How they work 1. Begin transaction 2. Perform operations Record the state of any data that is read or written in a log to be played back later if the transaction fails 3. If no conflicts, then commit (makes permanent) Conflict: data was changed by another transaction during execution 4. If conflicts, then abort and rollback (undo) Replay the logs to restore old values 5. End transaction 13

A Simple Example We have a linked list in non-volatile storage We want to insert a node in sorted order Requirement: If we crash, our list must remain in a good state Either the node is added or it is not No wild pointers, missing links, etc. 14

A Simple Example Insert(Node *node) { Node *curr, *prev; atomic { curr = head; prev = NULL; while (curr->value < node->value && curr->next!= NULL) { prev = curr; curr = curr->next; } prev->next = node; node->next = curr; } } prev head node Heap curr NVHeap 2 4 3 Volatile Non-volatile Write Log Read Log Transaction Commit Begin Read Write 2 3 2 4 15

A Simple Example Insert(Node *node) { Node *curr, *prev; atomic { curr = head; prev = NULL; while (curr->value < node->value && curr->next!= NULL) { prev = curr; curr = curr->next; } prev->next = node; node->next = curr; } } prev head node Heap curr NVHeap 2 4 3 Volatile Non-volatile Write Log Read Log Transaction Abort Write 2 2 4 16

Conclusion New non-volatile memory technologies have the potential to revolutionize computing DRAM-like performance (both sequential and random access) + density + persistence Re-designing these abstractions will unleash the full potential of these technologies! 17