Mnemosyne Lightweight Persistent Memory
|
|
- Simon Lawrence
- 6 years ago
- Views:
Transcription
1 Mnemosyne Lightweight Persistent Memory Haris Volos Andres Jaan Tack, Michael M. Swift University of Wisconsin Madison
2 Executive Summary Storage-Class Memory (SCM) enables memory-like storage Persistent Memory is an abstraction that enables direct access to SCM Durable memory transactions allow consistent in-place updates 2
3 Technology Trends: SCM Features Memory-like interface (load/store) Short access time (1000x faster than flash) Non-volatile Technologies Phase Change Memory (PCM) Spin Torque Transfer RAM (STT-RAM) Memristors Flash-backed DRAM (+ supercapacitor) 3
4 Application Trends: Low-latency storage Web applications Amazon Facebook Desktop applications Firefox Other Distributed agreement protocols High-frequency trading 4
5 GOAL: Flexible Low-latency Storage Idea 1: File System Layering overheads Idea 2: Persistent Object Stores Single data-storage model Our idea: Persistent Memory +Flexible and fine-grain +Low-latency 5
6 Persistent Memory Memory Controller DRAM 6 SCM
7 Persistent Memory Address Space DRAM 7 SCM
8 Persistent Memory Address Space DRAM 8 SCM
9 Persistent Memory Address Space DRAM 9 SCM
10 Persistent Memory Address Space DRAM 10 SCM
11 Persistent Memory Address Space DRAM 11 SCM
12 Persistent Memory Address Space DRAM 12 SCM
13 Persistent Memory Address Space DRAM 13 SCM
14 Persistent Memory Address Space Inconsistent state (missing pointer) 14
15 Persistent Memory Address Space Consistent Updates prevent inconsistent state 15
16 In-vivo Persistence In-vitro vs. In-vivo persistence Logic-tier Caching-tier Storage-tier 16
17 In-vivo Persistence In-vitro vs. In-vivo persistence Logic-tier Caching-tier Storage-tier In-vitro persistence 17
18 In-vivo Persistence In-vitro vs. In-vivo persistence Logic-tier Caching-tier In-vivo persistence 18
19 In-vivo Persistence In-vitro vs. In-vivo persistence Logic-tier Caching-tier Example: OpenLDAP Handle Request In-memory Directory 19 Berkeley DB
20 In-vivo Persistence In-vitro vs. In-vivo persistence Logic-tier Caching-tier Example: OpenLDAP Handle Request In-memory Directory 20
21 Outline Motivation Persistent Memory Persistent regions Consistent updates Durable Memory Transactions Evaluation 21
22 Persistent Regions Virtual memory segments stored in SCM Enable programming flexibility Persist across restarts Two region types Persistent region type Static Dynamic (persistent heap) API pstatic var pmalloc 22
23 Persistent Regions Virtual memory segments stored in SCM Enable programming flexibility Persist across restarts Two region types Persistent region type Static Dynamic (persistent heap) API pstatic var pmalloc Persistent data New allocation 23
24 Persistent Regions Virtual memory segments stored in SCM Enable programming flexibility Persist across restarts Two region types Persistent region type Static Dynamic (persistent heap) API pstatic var pmalloc Persistent data New allocation 24
25 Persistent Regions Virtual memory segments stored in SCM Enable programming flexibility Persist across restarts Two region types Persistent region type Static Dynamic (persistent heap) API pstatic var pmalloc Persistent data mynamedroot New allocation 25
26 Consistent Updates Support updating data without risking correctness after a failure R.value = 0xC0FFEE R.valid = 1 value valid Write-back cache value valid SCM 0xDEADBEEF 0 26
27 Consistent Updates Support updating data without risking correctness after a failure R.value = 0xC0FFEE R.valid = 1 value valid Write-back cache 0xC0FFEE value valid SCM 0xDEADBEEF 0 27
28 Consistent Updates Support updating data without risking correctness after a failure R.value = 0xC0FFEE R.valid = 1 value Write-back cache 0xC0FFEE valid 1 value valid SCM 0xDEADBEEF 0 28
29 Consistent Updates Support updating data without risking correctness after a failure R.value = 0xC0FFEE R.valid = 1 value valid Write-back cache 0xC0FFEE value valid SCM 0xDEADBEEF 01 29
30 Consistent Updates Support updating data without risking correctness after a failure R.value = 0xC0FFEE R.valid = 1 value valid Write-back cache 0xC0FFEE value valid SCM 0xDEADBEEF 01 30
31 Consistent Updates Support updating data without risking correctness after a failure R.value = 0xC0FFEE R.valid = 1 value valid Write-back cache value valid SCM 0xDEADBEEF 01 31
32 Consistent Updates Support updating data without risking correctness after a failure Rely on conventional CPU primitives for ordering Flush Fence value Write-back cache value SCM 0xDEADBEEF valid valid 0 32
33 Consistent Updates Support updating data without risking correctness after a failure Rely on conventional CPU primitives for ordering Flush Fence R.value 0xC0FFEE value valid Write-back cache 0xC0FFEE value valid SCM 0xDEADBEEF 0 33
34 Consistent Updates Support updating data without risking correctness after a failure Rely on conventional CPU primitives for ordering Flush Fence Write-back cache value SCM 0xDEADBEEF 0xC0FFEE R.value 0xC0FFEE value FLUSH(&R.value) 0 valid valid 34
35 Consistent Updates Support updating data without risking correctness after a failure Rely on conventional CPU primitives for ordering Flush Fence R.value 0xC0FFEE FLUSH(&R.value) FENCE R.valid 1 value Write-back cache valid 1 35 value valid SCM 0xDEADBEEF 0xC0FFEE 0
36 Consistent Updates Support updating data without risking correctness after a failure Rely on conventional CPU primitives for ordering Flush Fence R.value 0xC0FFEE FLUSH(&R.value) FENCE R.valid 1 value Write-back cache valid 1 36 value valid SCM 0xDEADBEEF 0xC0FFEE 0
37 Consistent Updates Support updating data without risking correctness after a failure Rely on conventional CPU primitives for ordering Flush Fence R.value 0xC0FFEE FLUSH(&R.value) FENCE R.valid 1 value valid 37 Write-back cache value valid SCM 0xDEADBEEF 0xC0FFEE 0
38 Outline Motivation Persistent Memory Persistent regions Consistent updates Durable Memory Transactions Evaluation 38
39 Durable Memory Transactions Compiler instruments atomic blocks atomic { R.value = 0xC0F; R.valid = 1; } 39
40 Durable Memory Transactions Compiler instruments atomic blocks atomic { R.value = 0xC0F; R.valid = 1; } begin_transaction(); commit_transaction(); 40
41 Durable Memory Transactions Compiler instruments atomic blocks atomic { R.value = 0xC0F; R.valid = 1; } begin_transaction(); stm_store(&r.value, 0xC0F); stm_store(&r.valid, 1); commit_transaction(); 41
42 Durable Memory Transactions Compiler instruments atomic blocks atomic { R.value = 0xC0F; R.valid = 1; } begin_transaction(); stm_store(&r.value, 0xC0F); stm_store(&r.valid, 1); commit_transaction(); Runtime supports ACID transactions Based on TinySTM 42
43 Persistent Heap Hash Table Example pstatic htroot = NULL; htroot Static 43
44 Hash Table Example pstatic htroot = NULL; htroot 0x0000CAFE main() { if (!htroot) pmalloc(n*sizeof(*bucket), &htroot); } Static Persistent Heap 44
45 Hash Table Example pstatic htroot = NULL; htroot 0x0000CAFE main() { if (!htroot) pmalloc(n*sizeof(*bucket), &htroot); } Static Persistent Heap 45
46 Hash Table Example pstatic htroot = NULL; htroot 0x0000CAFE main() { if (!htroot) pmalloc(n*sizeof(*bucket), &htroot); } update_hash(key, value) { atomic { pmalloc(sizeof(*bucket), &bucket)); bucket->key = key; bucket->value = value; insert(hash, bucket); } } Static Persistent Heap 46
47 Hash Table Example pstatic htroot = NULL; htroot 0x0000CAFE main() { if (!htroot) pmalloc(n*sizeof(*bucket), &htroot); } update_hash(key, value) { atomic { pmalloc(sizeof(*bucket), &bucket)); bucket->key = key; bucket->value = value; insert(hash, bucket); } } Static Persistent Heap 47
48 Hash Table Example pstatic htroot = NULL; htroot 0x0000CAFE main() { if (!htroot) pmalloc(n*sizeof(*bucket), &htroot); } update_hash(key, value) { atomic { pmalloc(sizeof(*bucket), &bucket)); bucket->key = key; bucket->value = value; insert(hash, bucket); } } key value Static Persistent Heap 48
49 Hash Table Example pstatic htroot = NULL; htroot 0x0000CAFE main() { if (!htroot) pmalloc(n*sizeof(*bucket), &htroot); } update_hash(key, value) { atomic { pmalloc(sizeof(*bucket), &bucket)); bucket->key = key; bucket->value = value; insert(hash, bucket); } } key value Static Persistent Heap 49
50 Hash Table Example pstatic htroot = NULL; htroot 0x0000CAFE main() { if (!htroot) pmalloc(n*sizeof(*bucket), &htroot); } update_hash(key, value) { atomic { pmalloc(sizeof(*bucket), &bucket)); bucket->key = key; bucket->value = value; insert(hash, bucket); } } Static Persistent Heap 50
51 Hash Table Example pstatic htroot = NULL; htroot 0x0000CAFE main() { if (!htroot) pmalloc(n*sizeof(*bucket), &htroot); } update_hash(key, value) { atomic { pmalloc(sizeof(*bucket), &bucket)); bucket->key = key; bucket->value = value; insert(hash, bucket); } } Static Persistent Heap 51
52 Outline Motivation Persistent Memory Persistent regions Consistent updates Durable Memory Transactions Evaluation 52
53 Evaluation Is it easy to use? Applications Is it fast? Microbenchmarks Applications 53
54 Applications TokyoCabinet: B-tree based key-value store Original: syncs B-tree to a memory-mapped file Modified: keeps B-tree in persistent memory OpenLDAP: Lightweight Directory Original: stores dir-entries in Berkeley DB Modified: keeps dir-entries in persistent memory 54
55 Performance Evaluation Platform Intel Core 2 2.5GHz (4 cores) x86-64 Linux Intel STM C/C++ compiler Performance Model Writes: DRAM + extra fixed delay (150ns) Reads: DRAM Configurations PCM-disk: ext2fs + RAM-disk Mnemosyne: Persistent memory 55
56 Latency (μs) Microbenchmark Hash Table Berkeley DB (PCM-disk) vs Mnemosyne BDB-1 thread BDB-2 threads BDB-4 threads MNE-1 thread MNE-2 threads MNE-4 threads x 4x value size (bytes)
57 Update Throughput (10 3 ops/s ) Latency (μs) Microbenchmark Hash Table Berkeley DB (PCM-disk) vs Mnemosyne BDB-1 thread BDB-2 threads BDB-4 threads MNE-1 thread MNE-2 threads MNE-4 threads value size (bytes)
58 Update Throughput (10 3 ops/s ) Latency (μs) Microbenchmark Hash Table Berkeley DB (PCM-disk) vs Mnemosyne BDB-1 thread BDB-2 threads BDB-4 threads MNE-1 thread MNE-2 threads MNE-4 threads value size (bytes)
59 Update Throughput (10 3 ops/s ) Latency (μs) Microbenchmark Hash Table Berkeley DB (PCM-disk) vs Mnemosyne BDB-1 thread BDB-2 threads BDB-4 threads MNE-1 thread MNE-2 threads MNE-4 threads value size (bytes)
60 Update throughput relative to PCM-disk Application Performance Write-mostly workloads TokyoCabinet: 1024-byte ins/del queries OpenLDAP: template-based update queries 15 30, Original (PCM-disk) Mnemosyne 0 2,044 5,428 7,350 TokyoCabinet OpenLDAP 60
61 Conclusion: Mnemosyne Exposes SCM directly to programmers as persistent memory Relies on conventional CPU primitives for ordering Enables low-latency, consistent, in-place updates via durable memory transactions 61
Blurred Persistence in Transactional Persistent Memory
Blurred Persistence in Transactional Persistent Memory Youyou Lu, Jiwu Shu, Long Sun Tsinghua University Overview Problem: high performance overhead in ensuring storage consistency of persistent memory
More informationAn Analysis of Persistent Memory Use with WHISPER
An Analysis of Persistent Memory Use with WHISPER Sanketh Nalli, Swapnil Haria, Michael M. Swift, Mark D. Hill, Haris Volos*, Kimberly Keeton* University of Wisconsin- Madison & *Hewlett- Packard Labs
More informationAn Analysis of Persistent Memory Use with WHISPER
An Analysis of Persistent Memory Use with WHISPER Sanketh Nalli, Swapnil Haria, Michael M. Swift, Mark D. Hill, Haris Volos*, Kimberly Keeton* University of Wisconsin- Madison & *Hewlett- Packard Labs
More informationAerie: Flexible File-System Interfaces to Storage-Class Memory [Eurosys 2014] Operating System Design Yongju Song
Aerie: Flexible File-System Interfaces to Storage-Class Memory [Eurosys 2014] Operating System Design Yongju Song Outline 1. Storage-Class Memory (SCM) 2. Motivation 3. Design of Aerie 4. File System Features
More informationNon-Volatile Memory Through Customized Key-Value Stores
Non-Volatile Memory Through Customized Key-Value Stores Leonardo Mármol 1 Jorge Guerra 2 Marcos K. Aguilera 2 1 Florida International University 2 VMware L. Mármol, J. Guerra, M. K. Aguilera (FIU and VMware)
More informationSoftWrAP: A Lightweight Framework for Transactional Support of Storage Class Memory
SoftWrAP: A Lightweight Framework for Transactional Support of Storage Class Memory Ellis Giles Rice University Houston, Texas erg@rice.edu Kshitij Doshi Intel Corp. Portland, OR kshitij.a.doshi@intel.com
More informationBig and Fast. Anti-Caching in OLTP Systems. Justin DeBrabant
Big and Fast Anti-Caching in OLTP Systems Justin DeBrabant Online Transaction Processing transaction-oriented small footprint write-intensive 2 A bit of history 3 OLTP Through the Years relational model
More informationWORT: Write Optimal Radix Tree for Persistent Memory Storage Systems
WORT: Write Optimal Radix Tree for Persistent Memory Storage Systems Se Kwon Lee K. Hyun Lim 1, Hyunsub Song, Beomseok Nam, Sam H. Noh UNIST 1 Hongik University Persistent Memory (PM) Persistent memory
More informationBzTree: A High-Performance Latch-free Range Index for Non-Volatile Memory
BzTree: A High-Performance Latch-free Range Index for Non-Volatile Memory JOY ARULRAJ JUSTIN LEVANDOSKI UMAR FAROOQ MINHAS PER-AKE LARSON Microsoft Research NON-VOLATILE MEMORY [NVM] PERFORMANCE DRAM VOLATILE
More informationarxiv: v1 [cs.dc] 13 Dec 2017
Persistent Memory Programming Abstractions in Context of Concurrent Applications Ajay Singh cs15mtech01001@iith.ac.in IIT Hyderabad Marc Shapiro marc.shapiro@acm.org INRIA & LIP6 Gael Thomas gael.thomas@telecom-sudparis.eu
More informationKaladhar Voruganti Senior Technical Director NetApp, CTO Office. 2014, NetApp, All Rights Reserved
Kaladhar Voruganti Senior Technical Director NetApp, CTO Office Storage Used to Be Simple DRAM $$$ DISK Nearline TAPE volatile persistent Access Latency 2 Talk Focus: Persistent Memory Design Center DRAM
More informationThe SNIA NVM Programming Model. #OFADevWorkshop
The SNIA NVM Programming Model #OFADevWorkshop Opportunities with Next Generation NVM NVMe & STA SNIA 2 NVM Express/SCSI Express: Optimized storage interconnect & driver SNIA NVM Programming TWG: Optimized
More informationInstant Recovery for Main-Memory Databases
Instant Recovery for Main-Memory Databases Ismail Oukid*, Wolfgang Lehner*, Thomas Kissinger*, Peter Bumbulis, and Thomas Willhalm + *TU Dresden SAP SE + Intel GmbH CIDR 2015, Asilomar, California, USA,
More informationOS Support for Virtualizing Hardware Transactional Memory
OS Support for Virtualizing Hardware Transactional Memory Michael M. Swift, Haris Volos, Luke Yen, Neelam Goyal, Mark D. Hill and David A. Wood University of Wisconsin Madison The Virtualization Problem
More informationWrite-Optimized and High-Performance Hashing Index Scheme for Persistent Memory
Write-Optimized and High-Performance Hashing Index Scheme for Persistent Memory Pengfei Zuo, Yu Hua, Jie Wu Huazhong University of Science and Technology, China 3th USENIX Symposium on Operating Systems
More informationLoad-Sto-Meter: Generating Workloads for Persistent Memory Damini Chopra, Doug Voigt Hewlett Packard (Enterprise)
Load-Sto-Meter: Generating Workloads for Persistent Memory Damini Chopra, Doug Voigt Hewlett Packard (Enterprise) Application vs. Pure Workloads Benchmarks that reproduce application workloads Assist in
More informationSPIN Operating System
SPIN Operating System Motivation: general purpose, UNIX-based operating systems can perform poorly when the applications have resource usage patterns poorly handled by kernel code Why? Current crop of
More informationDalí: A Periodically Persistent Hash Map
Dalí: A Periodically Persistent Hash Map Faisal Nawab* 1, Joseph Izraelevitz* 2, Terence Kelly*, Charles B. Morrey III*, Dhruva R. Chakrabarti*, and Michael L. Scott 2 1 Department of Computer Science
More informationTrafficDB: HERE s High Performance Shared-Memory Data Store Ricardo Fernandes, Piotr Zaczkowski, Bernd Göttler, Conor Ettinoffe, and Anis Moussa
TrafficDB: HERE s High Performance Shared-Memory Data Store Ricardo Fernandes, Piotr Zaczkowski, Bernd Göttler, Conor Ettinoffe, and Anis Moussa EPL646: Advanced Topics in Databases Christos Hadjistyllis
More informationAccelerating Pointer Chasing in 3D-Stacked Memory: Challenges, Mechanisms, Evaluation Kevin Hsieh
Accelerating Pointer Chasing in 3D-Stacked : Challenges, Mechanisms, Evaluation Kevin Hsieh Samira Khan, Nandita Vijaykumar, Kevin K. Chang, Amirali Boroumand, Saugata Ghose, Onur Mutlu Executive Summary
More informationMoneta: A High-Performance Storage Architecture for Next-generation, Non-volatile Memories
Moneta: A High-Performance Storage Architecture for Next-generation, Non-volatile Memories Adrian M. Caulfield Arup De, Joel Coburn, Todor I. Mollov, Rajesh K. Gupta, Steven Swanson Non-Volatile Systems
More informationVoltDB vs. Redis Benchmark
Volt vs. Redis Benchmark Motivation and Goals of this Evaluation Compare the performance of several distributed databases that can be used for state storage in some of our applications Low latency is expected
More informationREMOTE PERSISTENT MEMORY ACCESS WORKLOAD SCENARIOS AND RDMA SEMANTICS
13th ANNUAL WORKSHOP 2017 REMOTE PERSISTENT MEMORY ACCESS WORKLOAD SCENARIOS AND RDMA SEMANTICS Tom Talpey Microsoft [ March 31, 2017 ] OUTLINE Windows Persistent Memory Support A brief summary, for better
More informationNVthreads: Practical Persistence for Multi-threaded Applications
NVthreads: Practical Persistence for Multi-threaded Applications Terry Hsu*, Purdue University Helge Brügner*, TU München Indrajit Roy*, Google Inc. Kimberly Keeton, Hewlett Packard Labs Patrick Eugster,
More informationRDMA Requirements for High Availability in the NVM Programming Model
RDMA Requirements for High Availability in the NVM Programming Model Doug Voigt HP Agenda NVM Programming Model Motivation NVM Programming Model Overview Remote Access for High Availability RDMA Requirements
More informationWrite-Optimized and High-Performance Hashing Index Scheme for Persistent Memory
Write-Optimized and High-Performance Hashing Index Scheme for Persistent Memory Pengfei Zuo, Yu Hua, and Jie Wu, Huazhong University of Science and Technology https://www.usenix.org/conference/osdi18/presentation/zuo
More informationVoldemort. Smruti R. Sarangi. Department of Computer Science Indian Institute of Technology New Delhi, India. Overview Design Evaluation
Voldemort Smruti R. Sarangi Department of Computer Science Indian Institute of Technology New Delhi, India Smruti R. Sarangi Leader Election 1/29 Outline 1 2 3 Smruti R. Sarangi Leader Election 2/29 Data
More informationEfficient Persist Barriers for Multicores
fficient Persist Barriers for Multicores Arpit Joshi, Vijay Nagarajan, Marcelo Cintra, Stratis Viglas Summary fficient persist barrier Used to implement persistency models Persistency = when stores become
More informationAccelerating Microsoft SQL Server Performance With NVDIMM-N on Dell EMC PowerEdge R740
Accelerating Microsoft SQL Server Performance With NVDIMM-N on Dell EMC PowerEdge R740 A performance study with NVDIMM-N Dell EMC Engineering September 2017 A Dell EMC document category Revisions Date
More informationCOS 318: Operating Systems. NSF, Snapshot, Dedup and Review
COS 318: Operating Systems NSF, Snapshot, Dedup and Review Topics! NFS! Case Study: NetApp File System! Deduplication storage system! Course review 2 Network File System! Sun introduced NFS v2 in early
More informationSAY-Go: Towards Transparent and Seamless Storage-As-You-Go with Persistent Memory
SAY-Go: Towards Transparent and Seamless Storage-As-You-Go with Persistent Memory Hyeonho Song, Sam H. Noh UNIST HotStorage 2018 Contents Persistent Memory Motivation SAY-Go Design Implementation Evaluation
More informationOperating System Supports for SCM as Main Memory Systems (Focusing on ibuddy)
2011 NVRAMOS Operating System Supports for SCM as Main Memory Systems (Focusing on ibuddy) 2011. 4. 19 Jongmoo Choi http://embedded.dankook.ac.kr/~choijm Contents Overview Motivation Observations Proposal:
More informationParallel Programming Principle and Practice. Lecture 9 Introduction to GPGPUs and CUDA Programming Model
Parallel Programming Principle and Practice Lecture 9 Introduction to GPGPUs and CUDA Programming Model Outline Introduction to GPGPUs and Cuda Programming Model The Cuda Thread Hierarchy / Memory Hierarchy
More informationMemC3: MemCache with CLOCK and Concurrent Cuckoo Hashing
MemC3: MemCache with CLOCK and Concurrent Cuckoo Hashing Bin Fan (CMU), Dave Andersen (CMU), Michael Kaminsky (Intel Labs) NSDI 2013 http://www.pdl.cmu.edu/ 1 Goal: Improve Memcached 1. Reduce space overhead
More informationBenchmark: In-Memory Database System (IMDS) Deployed on NVDIMM
Benchmark: In-Memory Database System (IMDS) Deployed on NVDIMM Presented by Steve Graves, McObject and Jeff Chang, AgigA Tech Santa Clara, CA 1 The Problem: Memory Latency NON-VOLATILE MEMORY HIERARCHY
More informationTxFS: Leveraging File-System Crash Consistency to Provide ACID Transactions
TxFS: Leveraging File-System Crash Consistency to Provide ACID Transactions Yige Hu, Zhiting Zhu, Ian Neal, Youngjin Kwon, Tianyu Chen, Vijay Chidambaram, Emmett Witchel The University of Texas at Austin
More informationDatabase Hardware Selection Guidelines
Database Hardware Selection Guidelines BRUCE MOMJIAN Database servers have hardware requirements different from other infrastructure software, specifically unique demands on I/O and memory. This presentation
More informationPhase Change Memory An Architecture and Systems Perspective
Phase Change Memory An Architecture and Systems Perspective Benjamin C. Lee Stanford University bcclee@stanford.edu Fall 2010, Assistant Professor @ Duke University Benjamin C. Lee 1 Memory Scaling density,
More informationNew Abstractions for Fast Non-Volatile Storage
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
More informationEmpirical Study of Redo and Undo Logging in Persistent Memory
Empirical Study of Redo and Undo Logging in Persistent Memory Hu Wan, Youyou Lu, Yuanchao Xu, and Jiwu Shu College of Information Engineering, Capital Normal University, Beijing, China Department of Computer
More informationNVMFS: A New File System Designed Specifically to Take Advantage of Nonvolatile Memory
NVMFS: A New File System Designed Specifically to Take Advantage of Nonvolatile Memory Dhananjoy Das, Sr. Systems Architect SanDisk Corp. 1 Agenda: Applications are KING! Storage landscape (Flash / NVM)
More informationHigh Performance Transactions in Deuteronomy
High Performance Transactions in Deuteronomy Justin Levandoski, David Lomet, Sudipta Sengupta, Ryan Stutsman, and Rui Wang Microsoft Research Overview Deuteronomy: componentized DB stack Separates transaction,
More informationWhole-System Persistence
Whole-System Persistence Dushyanth Narayanan Orion Hodson Microsoft Research, Cambridge {dnarayan,ohodson}@microsoft.com Abstract Today s databases and key-value stores commonly keep all their data in
More informationSoft Updates Made Simple and Fast on Non-volatile Memory
Soft Updates Made Simple and Fast on Non-volatile Memory Mingkai Dong, Haibo Chen Institute of Parallel and Distributed Systems, Shanghai Jiao Tong University @ NVMW 18 Non-volatile Memory (NVM) ü Non-volatile
More informationFlashTier: A Lightweight, Consistent and Durable Storage Cache
FlashTier: A Lightweight, Consistent and Durable Storage Cache Mohit Saxena PhD Candidate University of Wisconsin-Madison msaxena@cs.wisc.edu Flash Memory Summit 2012 Santa Clara, CA Flash is a Good Cache
More informationRethink the Sync 황인중, 강윤지, 곽현호. Embedded Software Lab. Embedded Software Lab.
1 Rethink the Sync 황인중, 강윤지, 곽현호 Authors 2 USENIX Symposium on Operating System Design and Implementation (OSDI 06) System Structure Overview 3 User Level Application Layer Kernel Level Virtual File System
More informationJANUARY 20, 2016, SAN JOSE, CA. Microsoft. Microsoft SQL Hekaton Towards Large Scale Use of PM for In-memory Databases
JANUARY 20, 2016, SAN JOSE, CA PRESENTATION Cristian TITLE Diaconu GOES HERE Microsoft Microsoft SQL Hekaton Towards Large Scale Use of PM for In-memory Databases What this talk is about Trying to answer
More informationTransaction Memory for Existing Programs Michael M. Swift Haris Volos, Andres Tack, Shan Lu, Adam Welc * University of Wisconsin-Madison, *Intel
Transaction Memory for Existing Programs Michael M. Swift Haris Volos, Andres Tack, Shan Lu, Adam Welc * University of Wisconsin-Madison, *Intel Where do TM programs ome from?! Parallel benchmarks replacing
More informationSILT: A MEMORY-EFFICIENT, HIGH-PERFORMANCE KEY- VALUE STORE PRESENTED BY PRIYA SRIDHAR
SILT: A MEMORY-EFFICIENT, HIGH-PERFORMANCE KEY- VALUE STORE PRESENTED BY PRIYA SRIDHAR AGENDA INTRODUCTION Why SILT? MOTIVATION SILT KV STORAGE SYSTEM LOW READ AMPLIFICATION CONTROLLABLE WRITE AMPLIFICATION
More informationEnergy Aware Persistence: Reducing Energy Overheads of Memory-based Persistence in NVMs
Energy Aware Persistence: Reducing Energy Overheads of Memory-based Persistence in NVMs Sudarsun Kannan College of Computing, Georgia Tech sudarsun@gatech.edu Moinuddin Qureshi School of ECE, Georgia Tech
More informationEnabling Persistent Memory Use in Java. Steve Dohrmann Sr. Staff Software Engineer, Intel
Enabling Persistent Memory Use in Java Steve Dohrmann Sr. Staff Software Engineer, Intel Motivation Java is a very popular language on servers, especially for databases, data grids, etc., e.g. Apache projects:
More informationRAMCloud. Scalable High-Performance Storage Entirely in DRAM. by John Ousterhout et al. Stanford University. presented by Slavik Derevyanko
RAMCloud Scalable High-Performance Storage Entirely in DRAM 2009 by John Ousterhout et al. Stanford University presented by Slavik Derevyanko Outline RAMCloud project overview Motivation for RAMCloud storage:
More informationAgenda. Designing Transactional Memory Systems. Why not obstruction-free? Why lock-based?
Agenda Designing Transactional Memory Systems Part III: Lock-based STMs Pascal Felber University of Neuchatel Pascal.Felber@unine.ch Part I: Introduction Part II: Obstruction-free STMs Part III: Lock-based
More informationEECS 482 Introduction to Operating Systems
EECS 482 Introduction to Operating Systems Winter 2018 Baris Kasikci Slides by: Harsha V. Madhyastha OS Abstractions Applications Threads File system Virtual memory Operating System Next few lectures:
More informationLogging in Persistent Memory: to Cache, or Not to Cache? Mengjie Li, Matheus Ogleari, Jishen Zhao
Logging in Persistent Memory: to Cache, or Not to Cache? Mengjie Li, Matheus Ogleari, Jishen Zhao Persistent Memory CPU DRAM Disk/Flash Memory Load/store Not persistent Storage Fopen, fread, fwrite, Persistent
More informationEE382 Processor Design. Processor Issues for MP
EE382 Processor Design Winter 1998 Chapter 8 Lectures Multiprocessors, Part I EE 382 Processor Design Winter 98/99 Michael Flynn 1 Processor Issues for MP Initialization Interrupts Virtual Memory TLB Coherency
More informationBeyond Block I/O: Rethinking
Beyond Block I/O: Rethinking Traditional Storage Primitives Xiangyong Ouyang *, David Nellans, Robert Wipfel, David idflynn, D. K. Panda * * The Ohio State University Fusion io Agenda Introduction and
More informationFailure-atomic Synchronization-free Regions
Failure-atomic Synchronization-free Regions Vaibhav Gogte, Stephan Diestelhorst $, William Wang $, Satish Narayanasamy, Peter M. Chen, Thomas F. Wenisch NVMW 2018, San Diego, CA 03/13/2018 $ Promise of
More informationTopics. File Buffer Cache for Performance. What to Cache? COS 318: Operating Systems. File Performance and Reliability
Topics COS 318: Operating Systems File Performance and Reliability File buffer cache Disk failure and recovery tools Consistent updates Transactions and logging 2 File Buffer Cache for Performance What
More informationClosing the Performance Gap Between Volatile and Persistent K-V Stores
Closing the Performance Gap Between Volatile and Persistent K-V Stores Yihe Huang, Harvard University Matej Pavlovic, EPFL Virendra Marathe, Oracle Labs Margo Seltzer, Oracle Labs Tim Harris, Oracle Labs
More informationUsing Non-volatile Memories for Browser Performance Improvement. Seongmin KIM and Taeseok KIM *
2017 2nd International Conference on Computer, Network Security and Communication Engineering (CNSCE 2017) ISBN: 978-1-60595-439-4 Using Non-volatile Memories for Browser Performance Improvement Seongmin
More informationToward a Memory-centric Architecture
Toward a Memory-centric Architecture Martin Fink EVP & Chief Technology Officer Western Digital Corporation August 8, 2017 1 SAFE HARBOR DISCLAIMERS Forward-Looking Statements This presentation contains
More informationArachne. Core Aware Thread Management Henry Qin Jacqueline Speiser John Ousterhout
Arachne Core Aware Thread Management Henry Qin Jacqueline Speiser John Ousterhout Granular Computing Platform Zaharia Winstein Levis Applications Kozyrakis Cluster Scheduling Ousterhout Low-Latency RPC
More informationSQL Server 2014 In-Memory OLTP: Prepare for Migration. George Li, Program Manager, Microsoft
SQL Server 2014 In-Memory OLTP: Prepare for Migration George Li, Program Manager, Microsoft Drivers Architectural Pillars Customer Benefits In-Memory OLTP Recap High performance data operations Efficient
More informationEdinburgh Research Explorer
Edinburgh Research Explorer REWIND: Recovery Write-Ahead System for In-Memory Non- Volatile Data-Structures Citation for published version: Chatzistergiou, A, Cintra, M & Viglas, SD 215, 'REWIND: Recovery
More informationWindows Support for PM. Tom Talpey, Microsoft
Windows Support for PM Tom Talpey, Microsoft Agenda Windows and Windows Server PM Industry Standards Support PMDK Support Hyper-V PM Support SQL Server PM Support Storage Spaces Direct PM Support SMB3
More informationRAMCloud and the Low- Latency Datacenter. John Ousterhout Stanford University
RAMCloud and the Low- Latency Datacenter John Ousterhout Stanford University Most important driver for innovation in computer systems: Rise of the datacenter Phase 1: large scale Phase 2: low latency Introduction
More informationData Processing at the Speed of 100 Gbps using Apache Crail. Patrick Stuedi IBM Research
Data Processing at the Speed of 100 Gbps using Apache Crail Patrick Stuedi IBM Research The CRAIL Project: Overview Data Processing Framework (e.g., Spark, TensorFlow, λ Compute) Spark-IO FS Albis Streaming
More informationStrata: A Cross Media File System. Youngjin Kwon, Henrique Fingler, Tyler Hunt, Simon Peter, Emmett Witchel, Thomas Anderson
A Cross Media File System Youngjin Kwon, Henrique Fingler, Tyler Hunt, Simon Peter, Emmett Witchel, Thomas Anderson 1 Let s build a fast server NoSQL store, Database, File server, Mail server Requirements
More informationRocksDB Embedded Key-Value Store for Flash and RAM
RocksDB Embedded Key-Value Store for Flash and RAM Dhruba Borthakur February 2018. Presented at Dropbox Dhruba Borthakur: Who Am I? University of Wisconsin Madison Alumni Developer of AFS: Andrew File
More informationModule Outline. CPU Memory interaction Organization of memory modules Cache memory Mapping and replacement policies.
M6 Memory Hierarchy Module Outline CPU Memory interaction Organization of memory modules Cache memory Mapping and replacement policies. Events on a Cache Miss Events on a Cache Miss Stall the pipeline.
More informationSNIA NVM Programming Model Workgroup Update. #OFADevWorkshop
SNIA NVM Programming Model Workgroup Update #OFADevWorkshop Persistent Memory (PM) Vision Fast Like Memory PM Brings Storage PM Durable Like Storage To Memory Slots 2 Latency Thresholds Cause Disruption
More informationI/O Buffering and Streaming
I/O Buffering and Streaming I/O Buffering and Caching I/O accesses are reads or writes (e.g., to files) Application access is arbitary (offset, len) Convert accesses to read/write of fixed-size blocks
More informationWhy Is This Important? Overview of Storage and Indexing. Components of a Disk. Data on External Storage. Accessing a Disk Page. Records on a Disk Page
Why Is This Important? Overview of Storage and Indexing Chapter 8 DB performance depends on time it takes to get the data from storage system and time to process Choosing the right index for faster access
More informationFile System Management
Lecture 8: Storage Management File System Management Contents Non volatile memory Tape, HDD, SSD Files & File System Interface Directories & their Organization File System Implementation Disk Space Allocation
More informationPebblesDB: Building Key-Value Stores using Fragmented Log Structured Merge Trees
PebblesDB: Building Key-Value Stores using Fragmented Log Structured Merge Trees Pandian Raju 1, Rohan Kadekodi 1, Vijay Chidambaram 1,2, Ittai Abraham 2 1 The University of Texas at Austin 2 VMware Research
More informationAccessing NVM Locally and over RDMA Challenges and Opportunities
Accessing NVM Locally and over RDMA Challenges and Opportunities Wendy Elsasser Megan Grodowitz William Wang MSST - May 2018 Emerging NVM A wide variety of technologies with varied characteristics Address
More informationFine-Grained Mobility in Emerald. Robert Grimm New York University
Fine-Grained Mobility in Emerald Robert Grimm New York University The Three Questions What is the problem? What is new or different? What are the contributions and limitations? Why Bother with Migration?
More informationA New Key-value Data Store For Heterogeneous Storage Architecture Intel APAC R&D Ltd.
A New Key-value Data Store For Heterogeneous Storage Architecture Intel APAC R&D Ltd. 1 Agenda Introduction Background and Motivation Hybrid Key-Value Data Store Architecture Overview Design details Performance
More informationSpeculative Lock Elision: Enabling Highly Concurrent Multithreaded Execution
Speculative Lock Elision: Enabling Highly Concurrent Multithreaded Execution Ravi Rajwar and Jim Goodman University of Wisconsin-Madison International Symposium on Microarchitecture, Dec. 2001 Funding
More informationNV-Tree Reducing Consistency Cost for NVM-based Single Level Systems
NV-Tree Reducing Consistency Cost for NVM-based Single Level Systems Jun Yang 1, Qingsong Wei 1, Cheng Chen 1, Chundong Wang 1, Khai Leong Yong 1 and Bingsheng He 2 1 Data Storage Institute, A-STAR, Singapore
More informationToward timely, predictable and cost-effective data analytics. Renata Borovica-Gajić DIAS, EPFL
Toward timely, predictable and cost-effective data analytics Renata Borovica-Gajić DIAS, EPFL Big data proliferation Big data is when the current technology does not enable users to obtain timely, cost-effective,
More informationLog-Free Concurrent Data Structures
Log-Free Concurrent Data Structures Abstract Tudor David IBM Research Zurich udo@zurich.ibm.com Rachid Guerraoui EPFL rachid.guerraoui@epfl.ch Non-volatile RAM (NVRAM) makes it possible for data structures
More informationBenchmarking Persistent Memory in Computers
Benchmarking Persistent Memory in Computers Testing with MongoDB Presenter: Adam McPadden Co-Authors: Moshik Hershcovitch and Revital Eres August 2017 1 Overview Objective Background System Configuration
More informationThe following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into
The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material,
More information<Insert Picture Here> Oracle NoSQL Database A Distributed Key-Value Store
Oracle NoSQL Database A Distributed Key-Value Store Charles Lamb The following is intended to outline our general product direction. It is intended for information purposes only,
More informationSTORAGE LATENCY x. RAMAC 350 (600 ms) NAND SSD (60 us)
1 STORAGE LATENCY 2 RAMAC 350 (600 ms) 1956 10 5 x NAND SSD (60 us) 2016 COMPUTE LATENCY 3 RAMAC 305 (100 Hz) 1956 10 8 x 1000x CORE I7 (1 GHZ) 2016 NON-VOLATILE MEMORY 1000x faster than NAND 3D XPOINT
More informationJOURNALING techniques have been widely used in modern
IEEE TRANSACTIONS ON COMPUTERS, VOL. XX, NO. X, XXXX 2018 1 Optimizing File Systems with a Write-efficient Journaling Scheme on Non-volatile Memory Xiaoyi Zhang, Dan Feng, Member, IEEE, Yu Hua, Senior
More information3. Memory Persistency Goals. 2. Background
Memory Persistency Steven Pelley Peter M. Chen Thomas F. Wenisch University of Michigan {spelley,pmchen,twenisch}@umich.edu Abstract Emerging nonvolatile memory technologies (NVRAM) promise the performance
More informationArchitectural Principles for Networked Solid State Storage Access
Architectural Principles for Networked Solid State Storage Access SNIA Legal Notice! The material contained in this tutorial is copyrighted by the SNIA unless otherwise noted.! Member companies and individual
More informationSeparating Access Control Policy, Enforcement, and Functionality in Extensible Systems. Robert Grimm University of Washington
Separating Access Control Policy, Enforcement, and Functionality in Extensible Systems Robert Grimm University of Washington Extensions Added to running system Interact through low-latency interfaces Form
More informationL9: Storage Manager Physical Data Organization
L9: Storage Manager Physical Data Organization Disks and files Record and file organization Indexing Tree-based index: B+-tree Hash-based index c.f. Fig 1.3 in [RG] and Fig 2.3 in [EN] Functional Components
More informationSystem Software for Persistent Memory
System Software for Persistent Memory Subramanya R Dulloor, Sanjay Kumar, Anil Keshavamurthy, Philip Lantz, Dheeraj Reddy, Rajesh Sankaran and Jeff Jackson 72131715 Neo Kim phoenixise@gmail.com Contents
More informationUsing Transparent Compression to Improve SSD-based I/O Caches
Using Transparent Compression to Improve SSD-based I/O Caches Thanos Makatos, Yannis Klonatos, Manolis Marazakis, Michail D. Flouris, and Angelos Bilas {mcatos,klonatos,maraz,flouris,bilas}@ics.forth.gr
More informationMain-Memory Databases 1 / 25
1 / 25 Motivation Hardware trends Huge main memory capacity with complex access characteristics (Caches, NUMA) Many-core CPUs SIMD support in CPUs New CPU features (HTM) Also: Graphic cards, FPGAs, low
More informationBetter I/O Through Byte-Addressable, Persistent Memory
Better I/O Through Byte-Addressable, Persistent Memory Jeremy Condit Edmund B. Nightingale Christopher Frost Engin Ipek Benjamin Lee Doug Burger Derrick Coetzee Microsoft Research UCLA ABSTRACT Modern
More informationSLM-DB: Single-Level Key-Value Store with Persistent Memory
SLM-DB: Single-Level Key-Value Store with Persistent Memory Olzhas Kaiyrakhmet and Songyi Lee, UNIST; Beomseok Nam, Sungkyunkwan University; Sam H. Noh and Young-ri Choi, UNIST https://www.usenix.org/conference/fast19/presentation/kaiyrakhmet
More informationRemote Persistent Memory SNIA Nonvolatile Memory Programming TWG
Remote Persistent Memory SNIA Nonvolatile Memory Programming TWG Tom Talpey Microsoft 2018 Storage Developer Conference. SNIA. All Rights Reserved. 1 Outline SNIA NVMP TWG activities Remote Access for
More informationAn Approach for Hybrid-Memory Scaling Columnar In-Memory Databases
An Approach for Hybrid-Memory Scaling Columnar In-Memory Databases *Bernhard Höppner, Ahmadshah Waizy, *Hannes Rauhe * SAP SE Fujitsu Technology Solutions GmbH ADMS 4 in conjunction with 4 th VLDB Hangzhou,
More informationOracle Berkeley DB. 12c Release 1
Oracle Berkeley DB Writing In-Memory Applications 12c Release 1 (Library Version 12.1.6.2) Legal Notice This documentation is distributed under an open source license. You may review the terms of this
More information