RAPID-Cache – A Reliable and Inexpensive Write Cache for Disk I/O Systems Yiming Hu Qing Yang Tycho Nightingale.

Slides:



Advertisements
Similar presentations
A CASE FOR REDUNDANT ARRAYS OF INEXPENSIVE DISKS (RAID) D. A. Patterson, G. A. Gibson, R. H. Katz University of California, Berkeley.
Advertisements

Caching and Virtual Memory. Main Points Cache concept – Hardware vs. software caches When caches work and when they don’t – Spatial/temporal locality.
R.A.I.D. Copyright © 2005 by James Hug Redundant Array of Independent (or Inexpensive) Disks.
RAID: HIGH PERFORMANCE, RELIABLE SECONDARY STORAGE P. M. Chen, U. Michigan E. K. Lee, DEC SRC G. A. Gibson, CMU R. H. Katz, U. C. Berkeley D. A. Patterson,
A performance comparison of RAID-5 and Log-Structured- Arrays Jai Menon.
Caches J. Nelson Amaral University of Alberta. Processor-Memory Performance Gap Bauer p. 47.
Memory Subsystem Performance of Programs using Coping Garbage Collection Authers: Amer Diwan David Traditi Eliot Moss Presented by: Ronen Shabo.
Recap of Feb 25: Physical Storage Media Issues are speed, cost, reliability Media types: –Primary storage (volatile): Cache, Main Memory –Secondary or.
CS 333 Introduction to Operating Systems Class 18 - File System Performance Jonathan Walpole Computer Science Portland State University.
Memory Organization.
Cse Feb-001 CSE 451 Section February 24, 2000 Project 3 – VM.
Computer-System Structures
Physical Storage Organization. Advanced DatabasesPhysical Storage Organization2 Outline Where and How data are stored? –physical level –logical level.
THE DESIGN AND IMPLEMENTATION OF A LOG-STRUCTURED FILE SYSTEM M. Rosenblum and J. K. Ousterhout University of California, Berkeley.
THE HP AUTORAID HIERARCHICAL STORAGE SYSTEM J. Wilkes, R. Golding, C. Staelin T. Sullivan HP Laboratories, Palo Alto, CA.
ICOM 6005 – Database Management Systems Design Dr. Manuel Rodríguez-Martínez Electrical and Computer Engineering Department Lecture 6 – RAID ©Manuel Rodriguez.
Caching and Virtual Memory. Main Points Cache concept – Hardware vs. software caches When caches work and when they don’t – Spatial/temporal locality.
RAID Ref: Stallings. Introduction The rate in improvement in secondary storage performance has been considerably less than the rate for processors and.
RAID: High-Performance, Reliable Secondary Storage Mei Qing & Chaoxia Liao Nov. 20, 2003.
Toolbox for Dimensioning Windows Storage Systems Jalil Boukhobza, Claude Timsit 12/09/2006 Versailles Saint Quentin University.
Physical Storage Organization. Advanced DatabasesPhysical Storage Organization2 Outline Where and How are data stored? –physical level –logical level.
Lecture 9 of Advanced Databases Storage and File Structure (Part II) Instructor: Mr.Ahmed Al Astal.
Memory Management From Chapter 4, Modern Operating Systems, Andrew S. Tanenbaum.
Topics covered: Memory subsystem CSE243: Introduction to Computer Architecture and Hardware/Software Interface.
CHAPTER 2: COMPUTER-SYSTEM STRUCTURES Computer system operation Computer system operation I/O structure I/O structure Storage structure Storage structure.
THE DESIGN AND IMPLEMENTATION OF A LOG-STRUCTURED FILE SYSTEM M. Rosenblum and J. K. Ousterhout University of California, Berkeley.
An I/O Simulator for Windows Systems Jalil Boukhobza, Claude Timsit 27/10/2004 Versailles Saint Quentin University laboratory.
Properties of Layouts Single failure correcting: no two units of same stripe are mapped to same disk –Enables recovery from single disk crash Distributed.
Stratus Continuous Process System COSC513 Presentation By Ying Li & Kunyu Zheng.
CSIE30300 Computer Architecture Unit 08: Cache Hsin-Chou Chi [Adapted from material by and
Log-structured Memory for DRAM-based Storage Stephen Rumble, John Ousterhout Center for Future Architectures Research Storage3.2: Architectures.
Physical Storage Organization. Advanced DatabasesPhysical Storage Organization2 Outline Where and How data are stored? –physical level –logical level.
Chapter 4 Memory Management Virtual Memory.
Fast Crash Recovery in RAMCloud. Motivation The role of DRAM has been increasing – Facebook used 150TB of DRAM For 200TB of disk storage However, there.
CS 153 Design of Operating Systems Spring 2015 Lecture 22: File system optimizations.
Process Architecture Process Architecture - A portion of a program that can run independently of and concurrently with other portions of the program. Some.
The concept of RAID in Databases By Junaid Ali Siddiqui.
Improving Disk Throughput in Data-Intensive Servers Enrique V. Carrera and Ricardo Bianchini Department of Computer Science Rutgers University.
CS333 Intro to Operating Systems Jonathan Walpole.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto Demand Paging.
CS.305 Computer Architecture Memory: Caches Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005, and from slides kindly made available.
4P13 Week 12 Talking Points Device Drivers 1.Auto-configuration and initialization routines 2.Routines for servicing I/O requests (the top half)
Taeho Kgil, Trevor Mudge Advanced Computer Architecture Laboratory The University of Michigan Ann Arbor, USA CASES’06.
CMSC 611: Advanced Computer Architecture Memory & Virtual Memory Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material.

Memory Hierarchy Ideal memory is fast, large, and inexpensive
Jonathan Walpole Computer Science Portland State University
Module 11: File Structure
Memory COMPUTER ARCHITECTURE
Architecture Background
EECE.4810/EECE.5730 Operating Systems
ICOM 6005 – Database Management Systems Design
Andy Wang Operating Systems COP 4610 / CGS 5765
Module IV Memory Organization.
Computer Architecture
THE HP AUTORAID HIERARCHICAL STORAGE SYSTEM
Andy Wang Operating Systems COP 4610 / CGS 5765
Module IV Memory Organization.
Performance metrics for caches
Performance metrics for caches
UNIT IV RAID.
Performance metrics for caches
Performance metrics for caches
Update : about 8~16% are writes
Page Cache and Page Writeback
Sarah Diesburg Operating Systems CS 3430
Andy Wang Operating Systems COP 4610 / CGS 5765
Performance metrics for caches
Sarah Diesburg Operating Systems COP 4610
The Design and Implementation of a Log-Structured File System
Presentation transcript:

RAPID-Cache – A Reliable and Inexpensive Write Cache for Disk I/O Systems Yiming Hu Qing Yang Tycho Nightingale

Contents Introduction Architecture and Operations Simulation Simulation Results Reliability Analysis Conclusion Questions

Introduction Modern Disk I/O systems make extensive use of non volatile RAM write cache Advantages - Response Time is reduced - Improves System Throughput Disadvantages - Poor reliability and High cost

Introduction(contd..) Standard Dual-Copy write cache has a symmetric structure A new disk cache architecture – RAPID-Cache Primary Cache and Backup Cache Backup cache can achieve same write speed as primary cache Reliability is high and system is inexpensive

Architecture Primary RAM cache Backup Cache - Small Non volatile RAM - Cache Disk I/O write operations sent to both primary and backup cache Read operations are performed using primary cache only

Architecture – Backup Cache LRU cache – frequently accessed data Cache disk – less frequently accessed data - Data in the form of segments - Segments contain slots - Each slot can hold one data block Data blocks - Segment and Slot IDs

Backup Cache(contd..) Data Blocks in LRU cache are addressed by their Logical Block Addresses Hash Table contains location information for each of the valid data blocks Total number of valid data blocks is same as in primary cache Cache Disk – Physical or Logical Disk

Physical Cache-Disk

Logical Cache-Disk

Operations Write Read Destage Garbage Collection Error Handling and Availability

Write Controller invalidates any data copy in read cache Data sent to primary and LRU cache If space is available, then data is copied to both caches Hash entry created in Backup Cache Acknowledgement sent to host

Write(contd..) If there is no space in the primary cache, then - Controller first tries to discard a clean block If no clean block is found,then - Controller chooses the LRU data block and writes it to RAID Space in primary cache is freed for incoming request Copy of replaced data in secondary cache is invalidated

Write(contd..) If LRU cache in the backup cache is full,then - Controller picks empty segment buffer and sets it as current segment buffer LRU data block copied to the segment buffer Cache space used by LRU data block is safely freed to accept the incoming request Following write requests evict LRU data blocks until segment buffer is full

Write(contd..) Controller then writes contents of segment buffer into the cache-disk segment in one large write Controller switches to another empty segment buffer and continues operation Small NVRAM cache and large cache-disk appear as a large NVRAM write cache

Read When a read request comes, - Read cache and Primary write cache are searched If a cache hit occurs, - Data returned immediately If a cache miss occurs, - LRU block in read cache is discarded and its buffer space is freed

Read(contd..) Requested data read from RAID system into freed LRU block and then returned Backup cache is not involved in read operations

Destage Destaging is the process of writing dirty data in the write cache into the RAID system and this normally happens in the background RAID system with RAPID-Cache requires destaging

Destage(contd..) Destaging threads are initiated when, - Controller detects an idle period - When number of dirty blocks in the primary cache exceeds 70% of the cache capacity Threads find a dirty LRU block in the primary cache

Destage(contd..) Dirty block in the primary cache is marked “clean” Same data block in the backup cache is invalidated Invalidation involves, - Releasing LRU buffer - Marking segment slot as “invalid” - Deleting hash entry from the hash table

Destage(contd..) Threads continue until idle period is over or dirty blocks in primary cache falls below 30% of the cache capacity Backup cache data is never read or written Slow speed of cache disk will not affect destaging process

Garbage Collection Segments in cache-disk may become fragmented No need to read data from cache-disk Controller searches Disk Segment table It copies corresponding data from primary cache to a segment buffer in the RAM Finally controller writes whole contents of segment buffer to a new disk segment

Error Handling Excellent reliability because of data redundancy During power failure period, data cached in the cache disk is much safer than in NVRAM RAPID-Cache system has excellent availability If one cache partition of a logical cache-disk crashes, whole system can operate continuously If NVRAM of backup cache fails, a small portion of the primary cache can be borrowed

Simulation RAPID-Cache simulator is built on top of a general cached-RAID5 simulator Disk simulator provides detail simulation, including SCSI bus contention, built in cache read-ahead and write behind It is assumed that RAID controller has a high-speed 80 MB/sec fibre channel bus connected to the host and it can handle up to 32 pending requests Cache block size is 8 KB

Simulation(contd..) Purpose of the simulation is to show that RAPID-Cache can deliver same performance as very expensive NVRAM caches under various workloads Two sets of trace files were used - Real-word traces - Synthetic traces

Simulation Results

Simulation Results(contd..)

Reliability Analysis Reliability of the cache systems is analyzed based on exponentially distributed failures and repairs MTTF NVRAM and MTTF disk – Mean Time To Failure Rate S PrimeC and S bkupRAM – Size of primary cache and NVRAM in the backup cache respectively(in terms of memory modules)

NVRAM Primary Cache

DRAM Primary Cache

Conclusion RAPID-Cache consists of an asymmetrical parallel architecture that has a fast-write-fast-read primary cache and a fast-write-slow-read backup cache It is possible to configure RAPID-Cache to optimize reliability and system cost Low cost feature of RAPID-Cache makes it possible to use a very large primary cache to achieve very high performance

Questions Explain the structure of Backup Cache in the RAPID-Cache system. How is a write request handled in RAPID- Cache? Analyze the reliability of NVRAM Primary Cache.(What is MTTDL of NVRAM Primary Cache?)