Implications of Storage Class Memories (SCM) on Software Architectures



Similar documents
C. Mohan, IBM Almaden Research Center, San Jose, CA

Storage Class Memory and the data center of the future

The Technologies & Architectures. President, Demartek

Flash and Storage Class Memories. Technology Overview & Systems Impact. Los Alamos/HECFSIO Conference August 6, 2008

Solid State Technology What s New?

An Overview of Flash Storage for Databases

Storage Class Memory the Future of Solid State Storage. Phil Mills, IBM SNIA Director, Chair of Solid State Storage Initiative

Indexing on Solid State Drives based on Flash Memory

The Evolving NAND Flash Business Model for SSD. Steffen Hellmold VP BD, SandForce

File System & Device Drive. Overview of Mass Storage Structure. Moving head Disk Mechanism. HDD Pictures 11/13/2014. CS341: Operating System

Important Differences Between Consumer and Enterprise Flash Architectures

IS IN-MEMORY COMPUTING MAKING THE MOVE TO PRIME TIME?

NAND Flash Architecture and Specification Trends

Non-Volatile Memory. Non-Volatile Memory & its use in Enterprise Applications. Contents

Solid State Storage in Massive Data Environments Erik Eyberg

Solid State Drive (SSD) FAQ

Flash 101. Violin Memory Switzerland. Violin Memory Inc. Proprietary 1

File System Management

Solid State Drive Architecture

How To Write On A Flash Memory Flash Memory (Mlc) On A Solid State Drive (Samsung)

Flash-optimized Data Progression

Advances in Flash Memory Technology & System Architecture to Achieve Savings in Data Center Power and TCO

Flash & DRAM Si Scaling Challenges, Emerging Non-Volatile Memory Technology Enablement - Implications to Enterprise Storage and Server Compute systems

NV-DIMM: Fastest Tier in Your Storage Strategy

Non-Volatile Memory and Its Use in Enterprise Applications

Data Distribution Algorithms for Reliable. Reliable Parallel Storage on Flash Memories

Price/performance Modern Memory Hierarchy

Chapter 12: Mass-Storage Systems

Input / Ouput devices. I/O Chapter 8. Goals & Constraints. Measures of Performance. Anatomy of a Disk Drive. Introduction - 8.1

Oracle Aware Flash: Maximizing Performance and Availability for your Database

Promise of Low-Latency Stable Storage for Enterprise Solutions

Emerging storage and HPC technologies to accelerate big data analytics Jerome Gaysse JG Consulting

Solid State Drive Technology

The Economics of Intelligent Hybrid Storage. An Enmotus White Paper Sep 2014

Accelerating I/O- Intensive Applications in IT Infrastructure with Innodisk FlexiArray Flash Appliance. Alex Ho, Product Manager Innodisk Corporation

Luxembourg June

Make A Right Choice -NAND Flash As Cache And Beyond

Direct NFS - Design considerations for next-gen NAS appliances optimized for database workloads Akshay Shah Gurmeet Goindi Oracle

A Study of Application Performance with Non-Volatile Main Memory

SAP HANA - Main Memory Technology: A Challenge for Development of Business Applications. Jürgen Primsch, SAP AG July 2011

Nexenta Performance Scaling for Speed and Cost

Speed and Persistence for Real-Time Transactions

Chapter 10: Mass-Storage Systems

SLC vs MLC: Proper Flash Selection for SSDs in Industrial, Military and Avionic Applications. A TCS Space & Component Technology White Paper

How it can benefit your enterprise. Dejan Kocic Netapp

June Blade.org 2009 ALL RIGHTS RESERVED

Chapter 2: Computer-System Structures. Computer System Operation Storage Structure Storage Hierarchy Hardware Protection General System Architecture

A Close Look at PCI Express SSDs. Shirish Jamthe Director of System Engineering Virident Systems, Inc. August 2011

Computer Systems Structure Main Memory Organization

Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat

6. Storage and File Structures

Trabajo Memorias flash

Frequently Asked Questions December ZeusRAM Solid-State Drive. Frequently Asked Questions

Accelerating Applications and File Systems with Solid State Storage. Jacob Farmer, Cambridge Computer

1 / 25. CS 137: File Systems. Persistent Solid-State Storage

Flash s Role in Big Data, Past Present, and Future OBJECTIVE ANALYSIS. Jim Handy

Eloquence Training What s new in Eloquence B.08.00

DIABLO TECHNOLOGIES MEMORY CHANNEL STORAGE AND VMWARE VIRTUAL SAN : VDI ACCELERATION

Database Hardware Selection Guidelines

Cloud Storage. Parallels. Performance Benchmark Results. White Paper.

Cloud Based Application Architectures using Smart Computing

Storage Class Memory. Towards a disruptively low-cost solid-state non-volatile memory. Science & Technology Almaden Research Center

With respect to the way of data access we can classify memories as:

Memory Channel Storage ( M C S ) Demystified. Jerome McFarland

Nasir Memon Polytechnic Institute of NYU

Tips and Tricks for Using Oracle TimesTen In-Memory Database in the Application Tier

SLC vs. MLC: An Analysis of Flash Memory

A Deduplication File System & Course Review

Understanding Data Locality in VMware Virtual SAN

Chapter Introduction. Storage and Other I/O Topics. p. 570( 頁 585) Fig I/O devices can be characterized by. I/O bus connections

Calsoft Webinar - Debunking QA myths for Flash- Based Arrays

CS 6290 I/O and Storage. Milos Prvulovic

Benefits of Solid-State Storage

Flash Memory Arrays Enabling the Virtualized Data Center. July 2010

Addressing Fatal Flash Flaws That Plague All Flash Storage Arrays

1. Memory technology & Hierarchy

Amazon Cloud Storage Options

Understanding Disk Storage in Tivoli Storage Manager

System Architecture. In-Memory Database

SLC vs MLC: Which is best for high-reliability apps?

Flash for Databases. September 22, 2015 Peter Zaitsev Percona

Understanding Flash SSD Performance

FAWN - a Fast Array of Wimpy Nodes

Changing the World: The Flash Memory Revolution. Eli Harari Chairman & CEO SanDisk Corporation

The Machine: The future of technology Hyperscale Division EMEA

Systems Infrastructure for Data Science. Web Science Group Uni Freiburg WS 2014/15

Preview of Oracle Database 12c In-Memory Option. Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Crossbar Resistive Memory:

CHAPTER 3 PROBLEM STATEMENT AND RESEARCH METHODOLOGY

The Advantages of Tier 0 Storage and Enhance Application Performance

Disks and RAID. Profs. Bracy and Van Renesse. based on slides by Prof. Sirer

The Data Placement Challenge

Windows Server Performance Monitoring

SOFORT: A Hybrid SCM-DRAM Storage Engine for Fast Data Recovery

Accelerating Enterprise Applications and Reducing TCO with SanDisk ZetaScale Software

How NAND Flash Threatens DRAM

Transcription:

Implications of Storage Class Memories (SCM) on Software Architectures C. Mohan, IBM Almaden Research Center, San Jose mohan@almaden.ibm.com http://www.almaden.ibm.com/u/mohan Suparna Bhattacharya, IBM Systems and Technology Lab, India bsuparna@in.ibm.com HPCA 2010 Workshop on the use of Emerging Storage and memory Technologies (WEST) Bangalore, India, January 2010 2009 IBM Corporation

Acknowledgments and References Thanks to Colleagues in various IBM research labs in general Colleagues in IBM Almaden in particular References: "Storage Class Memory, Technology, and Uses", Richard Freitas, Winfried Wilcke, Bülent Kurdi, and Geoffrey Burr, Tutorial at the 7th USENIX Conference on File and Storage Technologies (FAST '09), San Francisco, February 2009, http://www.usenix.org/events/fast/tutorials/t3.pdf "Storage Class Memory - The Future of Solid State Storage", Richard Freitas, Flash Memory Summit, Santa Clara, August 2009, http://www.flashmemorysummit.com/english/collaterals/proceedings/2009/20090812_t1b_freitas.pdf "Storage Class Memory: Technology, Systems and Applications", Richard Freitas, 35th SIGMOD international Conference on Management of Data, Providence, USA, June 2009.

Storage Class Memory Memory-type uses (Write) Endurance Speed Power! A solid-state memory that blurs the boundaries between storage and memory by being low-cost, fast, and non-volatile. Storage-type uses Cost/bit SCM system requirements for Memory (Storage) apps No more than 3-5x the Cost of enterprise HDD (< $1 per GB in 2012) <200nsec (<1 µ sec) Read/Write/Erase time >100,000 Read I/O operations per second >1GB/sec (>100MB/sec) Lifetime of 10 9 10 12 write/erase cycles 10x lower power than enterprise HDD (100mW ON power, 1mW standby) 2009 IBM Corporation

Speed/Volatility/Persistence Matrix FAST (Memory) DRAM DRAM + & SCM DRAM, + SCM & System Architecture Persistent storage will not lose data Enterprise storage server caches Enterprise Storage storage Server server SLOW USB stick PC disk (Storage) PC disk Volatile Non-Volatile Persistent

Many Competing Technologies for SCM Phase Change RAM most promising now (scaling) Magnetic RAM used today, but poor scaling and a space hog Magnetic Racetrack basic research, but very promising long term Ferroelectric RAM used today, but poor scalability Solid Electrolyte and resistive RAM (Memristor) early development, maybe promising Organic, nano particle and polymeric RAM many different devices in this class, unlikely Improved FLASH still slow and poor write endurance bistable material plus on-off switch Generic SCM Array

Phase-Change RAM Bit-line PCRAM programmable resistor Word -line Access device (transistor, diode) Voltage temperature RESET pulse T melt Potential headache: High power/current affects scaling! SET pulse T cryst time Potential headache: If crystallization is slow affects performance!

Memory/Storage Stack Latency Problem Century 10 10 Get data from TAPE (40s) Human Scale Year Month Day Hour Second Time in ns 10 9 10 8 10 7 10 6 10 5 10 4 10 3 10 2 10 1 Access DISK (5ms) Access FLASH (20 us) Access PCM (100 1000 ns) Get data from DRAM (60ns) Get data from L2 cache (10ns) CPU operations (1ns) Storage SCM Memory

SCM as Part of Memory/Storage Solution Stack Logic Memory Active Storage Archival 1980 CPU RAM DISK TAPE fast, synch slow, asynch 2008 RAM FLASH CPU DISK TAPE SSD 2013+ CPU RAM SCM DISK TAPE Memory like storage like

2013 Possible Device Specs Parameter Capacity DRAM PCM-S 128 Gbits PCM-M 16 Gbits Feature Size F 32nm 32nm 32nm Effective cell size 6 F 2 0.5 F 2 2 F 2 Read latency 60ns 800ns 300ns Write latency 60ns 1400ns 1400ns Retention time ms 2-10 years Strongly temp. dependent

Architecture CPU I/O Controller Internal Memory Controller DRAM SCM Synchronous Hardware managed Low overhead Processor waits Fast SCM, Not Flash Cached or pooled memory Storage Controller External SCM SCM Disk Asynchronous Software managed High overhead Processor doesn t wait Switch processes Flash and slow SCM Paging or storage

Challenges with SCM Asymmetric performance Flash: writes much slower than reads Not as pronounced in other technologies Bad blocks Devices are shipped with bad blocks Blocks wear out, etc. The fly in the ointment is write endurance In many SCM technologies writes are cumulatively destructive For Flash it is the program/erase cycle Current commercial flash varieties Single level cell (SLC) 10 5 writes/cell Multi level cell (MLC) 10 4 writes/cell Coping strategy Wear leveling, etc.

Shift in Systems and Applications Main Memory: DRAM Disk Tape Cost & power constrained Paging not used Only one type of memory: volatile DRAM SCM Disk Tape Much larger memory space for same power and cost Paging viable Memory pools: different speeds, some persistent Fast boot and hibernate Storage: Active data on disk Inactive data on tape SANs in heavy use Active data on SCM Inactive data on disk/tape Direct Attached Storage? Applications: Compute centric Focus on hiding disk latency Data centric comes to fore Focus on efficient memory use and exploiting persistence Fast, persistent metadata

Potential early middle-ware exploiters of SCM Databases Traditional RDBMS, specialized DBMS, in-memory DBMS Distributed object caching (in-memory grids) Memcached, Websphere extreme Scale Alternate persistent stores Document stores, key-value stores, DHTs Persistent message queues Data-intensive applications Analytics, Genomics Long tail data access patterns (amenable to tiered store)

PCM Use Cases PCM as disk PCM as paging device PCM as memory PCM as extended memory

Let Us Explore DBMS as Middleware Exploiter of PCM

PCM as Logging Store Permits > Log Forces/sec? Obvious one but options exist even for this one! Should log records be written directly to PCM or first to DRAM log buffers and then be forced to PCM (rather than disk) In the latter case, is it really that beneficial if ultimately you still want to have log on disk since PCM capacity won t be as much as disk also since disk is more reliable and is a better long term storage medium In former case, all writes will be way slowed down!

PCM replaces DRAM? - Buffer pool in PCM? This PCM BP access will be slower than DRAM BP access! Writes will suffer even more than reads!! Should we instead have DRAM BPs backed by PCM BPs? This is similar to DB2 z in parallel sysplex environment with BPs in coupling facility (CF) But the DB2 situation has well defined rules on when pages move from DRAM BP to CF BP Variation was used in SafeRAM work at MCC in 1989

Assume whole DB fits in PCM? Apply old main memory DB design concepts directly? Shouldn t we leverage persistence specially? Every bit change persisting isn t always a good thing! Today s failure semantics lets fair amount of flexibility on tracking changes to DB pages only some changes logged and inconsistent page states not made persistent! Memory overwrites will cause more damage! If every write assumed to be persistent as soon as write completes, then L1 & L2 caching can t be leveraged need to do write through, further degrading perf

Assume whole DB fits in PCM? Even if whole DB fits in PCM and even though PCM is persistent, still need to externalize DB regularly since PCM won t have good endurance! If DB spans both DRAM and PCM, then need to have logic to decide what goes where hot and cold data distinction? persistence isn t uniform and so need to book-keep carefully

What about Logging? If PCM is persistent and whole DB in PCM, do we need logging? Of course it is needed to provide at least partial rollback even if data is being versioned (at least need to track what versions to invalidate or eliminate); also for auditing, disaster recovery,

High Availability and PCM If PCM is used as memory and its persistence is taken advantage of, then such a memory should be dual ported (like for disks) so that its contents are accessible even if the host fails for backup to access Should locks also be maintained in PCM to speed up new transaction processing when host recovers

Start from Scratch? Maybe it is time for a fundamental rethink Design a DBMS from scratch keeping in mind the characteristics of PCM Reexamine data model, access methods, query optimizer, locking, logging, recovery, What are the killer apps for PCM? For flash, they are consumer oriented - digital cameras, personal music devices,