Computer Science 146. Computer Architecture

Similar documents
Lecture 23: I/O Redundant Arrays of Inexpensive Disks Professor Randy H. Katz Computer Science 252 Spring 1996

Readings. Storage Hierarchy III: I/O System. I/O (Disk) Performance. I/O Device Characteristics. often boring, but still quite important

CS2410: Computer Architecture. Storage systems. Sangyeun Cho. Computer Science Department University of Pittsburgh

Administrivia. CMSC 411 Computer Systems Architecture Lecture 19 Storage Systems, cont. Disks (cont.) Disks - review

Today: Coda, xfs! Brief overview of other file systems. Distributed File System Requirements!

Storage Systems. Storage Systems

Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted from Hennessy & Patterson / 2003 Elsevier

Chapter 6. I/O issues

Storage systems. Computer Systems Architecture CMSC 411 Unit 6 Storage Systems. (Hard) Disks. Disk and Tape Technologies. Disks (cont.

Agenda. Project #3, Part I. Agenda. Project #3, Part I. No SSE 12/1/10

CS61C : Machine Structures

UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering. Computer Architecture ECE 568

CSE325 Principles of Operating Systems. Mass-Storage Systems. David P. Duggan. April 19, 2011

UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering. Computer Architecture ECE 568

Advanced Computer Architecture

Storage. Hwansoo Han

Computer Organization and Structure. Bing-Yu Chen National Taiwan University

Lecture 13. Storage, Network and Other Peripherals

Where We Are in This Course Right Now. ECE 152 Introduction to Computer Architecture Input/Output (I/O) Copyright 2012 Daniel J. Sorin Duke University

Agenda. Agenda 11/12/12. Review - 6 Great Ideas in Computer Architecture

Lecture 23: Storage Systems. Topics: disk access, bus design, evaluation metrics, RAID (Sections )

I/O CANNOT BE IGNORED

RAID (Redundant Array of Inexpensive Disks)

Computer Architecture Computer Science & Engineering. Chapter 6. Storage and Other I/O Topics BK TP.HCM

CS61C - Machine Structures. Week 7 - Disks. October 10, 2003 John Wawrzynek

UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering. Computer Architecture ECE 568

Concepts Introduced. I/O Cannot Be Ignored. Typical Collection of I/O Devices. I/O Issues

Chapter 6. Storage and Other I/O Topics. Jiang Jiang

Introduction to Input and Output

Input/Output Introduction

Introduction. Motivation Performance metrics Processor interface issues Buses

IO System. CP-226: Computer Architecture. Lecture 25 (24 April 2013) CADSL

Chapter 6 Storage and Other I/O Topics

Chapter 6. Storage and Other I/O Topics

Computer Systems Laboratory Sungkyunkwan University

I/O CANNOT BE IGNORED

Thomas Polzer Institut für Technische Informatik

CS61C : Machine Structures

CSE 120. Operating Systems. March 27, 2014 Lecture 17. Mass Storage. Instructor: Neil Rhodes. Wednesday, March 26, 14

Lecture 25: Dependability and RAID

Reading and References. Input / Output. Why Input and Output? A typical organization. CSE 410, Spring 2004 Computer Systems

Chapter Seven Morgan Kaufmann Publishers

Lecture 23. Finish-up buses Storage

Chapter 6. Storage and Other I/O Topics

Introduction I/O 1. I/O devices can be characterized by Behavior: input, output, storage Partner: human or machine Data rate: bytes/sec, transfers/sec

Chapter 6. Storage and Other I/O Topics. ICE3003: Computer Architecture Fall 2012 Euiseong Seo

Today: Coda, xfs. Case Study: Coda File System. Brief overview of other file systems. xfs Log structured file systems HDFS Object Storage Systems

NOW Handout Page 1 S258 S99 1

Chapter 6. Storage and Other I/O Topics

Bus System. Bus Lines. Bus Systems. Chapter 8. Common connection between the CPU, the memory, and the peripheral devices.

Chapter 6. Storage and Other I/O Topics

Input/Output. Today. Next. Principles of I/O hardware & software I/O software layers Disks. Protection & Security

Appendix D: Storage Systems

Storage System COSC UCB

Computer Architecture CS 355 Busses & I/O System

Definition of RAID Levels

Dependency Redundancy & RAID

V. Mass Storage Systems

Introduction to I/O. April 30, Howard Huang 1

CS 341l Fall 2008 Test #4 NAME: Key

HP AutoRAID (Lecture 5, cs262a)

Virtual Memory. Reading. Sections 5.4, 5.5, 5.6, 5.8, 5.10 (2) Lecture notes from MKP and S. Yalamanchili

www-inst.eecs.berkeley.edu/~cs61c/

HP AutoRAID (Lecture 5, cs262a)

Page 1. Magnetic Disk Purpose Long term, nonvolatile storage Lowest level in the memory hierarchy. Typical Disk Access Time

I/O Systems. EECC551 - Shaaban. Processor. Cache. Memory - I/O Bus. Main Memory. I/O Controller. I/O Controller. I/O Controller. Graphics.

Chapter 6. Storage and Other I/O Topics. ICE3003: Computer Architecture Spring 2014 Euiseong Seo

CS252 S05. CMSC 411 Computer Systems Architecture Lecture 18 Storage Systems 2. I/O performance measures. I/O performance measures

Where We Are in This Course Right Now. ECE 152 Introduction to Computer Architecture Input/Output (I/O) Copyright 2011 Daniel J. Sorin Duke University

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University

Chapter 8. A Typical collection of I/O devices. Interrupts. Processor. Cache. Memory I/O bus. I/O controller I/O I/O. Main memory.

CSE 120. Overview. July 27, Day 8 Input/Output. Instructor: Neil Rhodes. Hardware. Hardware. Hardware

Page 1. Motivation: Who Cares About I/O? Lecture 5: I/O Introduction: Storage Devices & RAID. I/O Systems. Big Picture: Who cares about CPUs?

Chapter 12: Mass-Storage

Today s Papers. Array Reliability. RAID Basics (Two optional papers) EECS 262a Advanced Topics in Computer Systems Lecture 3

ECE 250 / CPS 250 Computer Architecture. Input/Output

CS3600 SYSTEMS AND NETWORKS

Lectures More I/O

CS152 Computer Architecture and Engineering Lecture 19: I/O Systems

Chapter 10: Mass-Storage Systems

UC Santa Barbara. Operating Systems. Christopher Kruegel Department of Computer Science UC Santa Barbara

Module 6: INPUT - OUTPUT (I/O)

Chapter 10: Mass-Storage Systems. Operating System Concepts 9 th Edition

CS370 Operating Systems

Buses. Disks PCI RDRAM RDRAM LAN. Some slides adapted from lecture by David Culler. Pentium 4 Processor. Memory Controller Hub.

Topics. Lecture 8: Magnetic Disks

CS 61C: Great Ideas in Computer Architecture. Dependability. Guest Lecturer: Paul Ruan

Computer Architecture. Hebrew University Spring Chapter 8 Input/Output. Big Picture: Where are We Now?

STANDARD I/O INTERFACES

Lecture for Storage System

Modern RAID Technology. RAID Primer A Configuration Guide

CSE 380 Computer Operating Systems

Mass-Storage Structure

RAID (Redundant Array of Inexpensive Disks) I/O Benchmarks ABCs of UNIX File Systems A Study Comparing UNIX File System Performance

UCB CS61C : Machine Structures

Outline. EEL-4713 Computer Architecture I/O Systems. I/O System Design Issues. The Big Picture: Where are We Now? I/O Performance Measures

CMSC 424 Database design Lecture 12 Storage. Mihai Pop

Operating Systems 2010/2011

INPUT/OUTPUT DEVICES Dr. Bill Yi Santa Clara University

CS61C : Machine Structures

Transcription:

Computer Science 46 Computer Architecture Spring 24 Harvard University Instructor: Prof dbrooks@eecsharvardedu Lecture 22: More I/O Computer Science 46 Lecture Outline HW5 and Project Questions? Storage and I/O I/O Busses (73) RAID (H&P 74-75) Computer Science 46

I/O System Architecture Buses Memory bus I/O Bus I/O processing Program controlled DMA I/O processors (IOPs) Computer Science 46 Bus Issues Clocking: is bus clocked? Synchronous: clocked, short bus or slow clock => fast Asynchronous: no clock, use handshaking instead => slow Isochronous: high-bandwidth, packet-based system (uniform in time) Switching: When control of bus is acquired and released Atomic: bus held until request complete => slow Split-transaction: bus free between request and reply => fast Arbitration: deciding who gets the bus next Overlap arbitration for next master with current transfer Daisy Chain: closer devices have priority => slow Distributed: wired-or, low-priority back-off => medium Other issues Split data/address lines, width, burst transfer Computer Science 46

Synchronous Data Transfer: Read Operation Send the Address Send Read Signal CPU Reads Data Device Starts Sending Data Device Says Data is Ready Computer Science 46 Asynchronous Data Transfer: Write Operation t: Master asserts lines t: Master waits and asserts Req t2: Device asserts Ack (data recvd) t3: Master releases Req t4: Device releases Ack (Handshake) Computer Science 46

When to use? When to use asynchronous vs synchronous bus? Mixed I/O speeds? Bus length? Split transaction vs atomic transaction? Computer Science 46 Memory Buses I/O Buses I/O and Memory Buses Summit Challenge XDBus ISA IDE/ATA PCI SCSI PCMCIA USB FireWire Bits 2 256 44 6 6 32 (64) /6 /6 Serial serial MHz 6 4 66-33 (66) 5-6 A/Isoch A/Isoch Peak MB/s 96 2 56 6 6-2 33-533 -32 6 5/6 5/ Special Features Original PC Bus Disk, Tape, CD-ROM Plug + Play High-level interface Modems, hot-swap Power line, packetized Fast USB Memory buses: speed (usually custom) I/O buses: compatibility (usually industry standard) + cost

Typical PC System Architecture Who Does I/O? Main CPU Explicitly executes all I/O operations Memory Mapped I/O Special ISA I/O Operations (x6, IBM 37) Interrupt Driven, Polling Based, or Hybrid (realtime) High overhead, potential cache pollution + But no coherence problems

Assist the Main CPU I/O Processor (IOP or channel processor) (special or general) processor dedicated to I/O operations + Fast May be overkill, cache coherency problems I/O sees stale data on output (memory not up to date) CPU sees stale data in cache on input (I/O system only updates memory) DMAC (direct memory access controller) Can transfer data to/from memory given start address (but that s all) + Fast, usually simple Still may be coherence problems, must be on memory bus Computer Science 46 Communicating with I/O Processors Not issue if main CPU performs I/O by itself I/O Control: how to initialize DMAC/IOP? Memory mapped: ld/st to preset, VM-protected address Privileged I/O instructions I/O Completion: how does CPU know DMAC/IOP finished? Polling: periodically check status bit => slow Interrupt: I/O completion interrupts CPU => fast Q: do DMAC/IOP use physical or virtual addresses? Physical: simpler, but can only transfer page at a time Pages in buffer may not be sequential pages in physical memory Virtual: More powerful, but DMAC/IOP needs address translation info Computer Science 46

Use Arrays of Small Disks? Katz and Patterson asked in 97: Can smaller disks be used to close gap in performance between disks and CPUs? Conventional: 4 disk designs 35 525 Low End 4 High End Disk Array: disk design 35 Advantages of Small Form Factor Disk Drives Low cost/mb High MB/volume High MB/watt Low cost/actuator Cost and Environmental Efficiencies

Replace Small Number of Large Disks with Large Number of Small Disks! Capacity Volume Power Data Rate I/O Rate MTTF Cost IBM 339K 2 GBytes 97 cu ft 3 KW 5 MB/s 6 I/Os/s 25 KHrs $25K IBM 35" 6 32 MBytes cu ft W 5 MB/s 55 I/Os/s 5 KHrs x7 23 GBytes cu ft KW 2 MB/s 39 IOs/s??? Hrs 9X 3X X 6X $2K $5K 9 Disk Drives vs Disk Array Disk Arrays have potential for large data and I/O rates, high MB per cu ft, high MB per KW, but what about reliability? Array Reliability Reliability of N disks = Reliability of Disk N 5, Hours 7 disks = 7 hours Disk system MTTF: Drops from 6 years to month! Arrays (without redundancy) too unreliable to be useful! Hot spares support reconstruction in in parallel with access: very high media availability can be be achieved Computer Science 46

Redundant Arrays of (Inexpensive) Disks Files are "striped" across multiple disks Redundancy yields high data availability Availability: service still provided to user, even if some components failed Disks will still fail Contents reconstructed from data redundantly stored in the array Capacity penalty to store redundant info Bandwidth penalty to update redundant info Computer Science 46 Redundant Arrays of Inexpensive Disks RAID : Disk Mirroring/Shadowing recovery group Each disk is fully duplicated onto its mirror Very high availability can be achieved Bandwidth sacrifice on write: Logical write = two physical writes Reads may be optimized Most expensive solution: % capacity overhead Seek times can be optimized (choose disk with shortest seek) (RAID 2 not interesting, so skip) Computer Science 46

Redundant Array of Inexpensive Disks RAID 3: Parity Disk logical record Striped physical records P contains sum of other disks per stripe mod 2 ( parity ) If disk fails, subtract P from sum of other disks to find missing information P RAID 3 Sum computed across recovery group to protect against hard disk failures, stored in P disk Logically, a single high capacity, high transfer rate disk: good for large transfers Wider arrays reduce capacity costs, but decreases availability 33% capacity cost for parity in this configuration Computer Science 46

Inspiration for RAID 4 RAID 3 relies on parity disk to discover errors on Read Every access goes to all disks Some apps want to do smaller accesses, allowing independent accesses to occur in parallel Independent small reads are ok because disk can detect errors Every sector has an error detection field Independent small writes are trickier don t we have to update parity? Computer Science 46 Problems of Disk Arrays: Small Writes on RAID3 RAID-3: Small Write Algorithm Logical Write = 3 Physical Reads + 2 Physical Writes D' D D D2 D3 P new data ( Read) (2 Read) (3 Read) + XOR (4 Write) (5 Write) D' D D2 D3 P'

Problems of Disk Arrays: Small Writes on RAID4/5 RAID-5: Small Write Algorithm Logical Write = 2 Physical Reads + 2 Physical Writes D' D D D2 D3 P new data + old data XOR ( Read) old (2 Read) parity + XOR (3 Write) (4 Write) D' D D2 D3 P' RAID 4: High I/O Rate Parity Insides of 5 disks D D D2 D3 P D4 D5 D6 D7 P D D9 D D P Increasing Logical Disk Address Example: small read D & D5, large write D2-D5 D2 D3 D4 D5 D6 D7 D D9 D2 D2 D22 D23 P Disk Columns P P Stripe

Inspiration for RAID 5 RAID 4 works well for small reads Small writes (write to one disk): RAID 3: read other data disks, create new sum and write to Parity Disk RAID 4/5: since P has old sum, compare old data to new data, add the difference to P Small writes are limited by Parity Disk: Write to D, D5 both also write to P disk (Parity Disk Bottleneck) D D D2 D3 P D4 D5 D6 D7 P RAID 5: High I/O Rate Interleaved Parity Independent writes possible because of interleaved parity Example: write to D, D5 uses disks,, 3, 4 D D D2 D3 P D4 D5 D6 P D7 D D9 P D D D2 P D3 D4 D5 P D6 D7 D D9 D2 D2 D22 D23 P Disk Columns Increasing Logical Disk Addresses

Berkeley History: RAID-I RAID-I (99) Consisted of a Sun 4/2 workstation with 2 MB of DRAM, four dual-string SCSI controllers, 2 525-inch SCSI disks and specialized disk striping software Today RAID is $9 billion dollar industry, % of non- PC disks sold in RAIDs RAID in Industry RAID Level Name Minimum Number of Disk Faults Survived Example Data Disks Corresponding Check Disks Industry Use Nonredundant Striped Widely Used Mirrored EMC, IBM Compaq 2 Memory-style ECC 4 3 Bit-interleaved Parity Storage Concepts 4 Block-interleaved Parity Network Appliance 5 Block-interleaved distributed parity Widely Used 6 P+Q redundancy 2 2 Computer Science 46

Summary: RAID Techniques Goal: Performance, popularity due to reliability of storage Disk Mirroring, Shadowing (RAID ) Each disk is fully duplicated onto its "shadow" Logical write = two physical writes % capacity overhead Parity Data Bandwidth Array (RAID 3) Parity computed horizontally Logically a single high data bw disk High I/O Rate Parity Array (RAID 5) Interleaved parity blocks Independent reads and writes Logical write = 2 reads + 2 writes I/O System Example Given 5 MIPS CPU 6B wide, ns memory system instrs per I/O 6KB per I/O 2 MB/s I/O bus, with room for 2 SCSI-2 controllers SCSI-2 strings (buses) 2MB/s with 5 disks per bus SCSI-2 ms overhead per I/O 72 RPM (2 RPS), ms avg seek, 6MB/s transfer disks 2 GB total storage Q: Choose 2GB or GB disks for maximum IOPS? How to arrange disks and controllers? Computer Science 46

I/O System Example (cont d) Step : Calculate CPU, memory, I/O bus peak IOPS CPU: 5 MIPS/( instructions/io) = 5 IOPS Memory: (6-bytes / ns) / 6KB = IOPS I/O bus: (2 MB/s) 6KB = 25 IOPS Memory bus ( IOPS) is the bottleneck Step 2: Calculate Disk IOPS T disk = ms + 5/2 RPS + 6KB/(6MB/s) = 5 ms Disk: / 5ms = 67 IOPS GB Disks => need 25 => 25 * 67 IOPS = 675 IOPS 2GB Disks => need => * 67 IOPS = 67 IOPS 2GB disks (67 IOPS) are new bottleneck Answer: 2GB disks! Computer Science 46 I/O System Example (cont d) Step 3: Calculate SCSI-2 controller peak IOPS T SCSI-2 = ms + 6KB/(2MB/s) = ms SCSI-2: /ms = 556 IOPS Step 4: How many disks per controller? 556 IOPS/ 67 IOPS = disks per controller Step 5: How many controllers? disks/ disks/controller = 3 controllers Answer: 3 controllers, -disks each Computer Science 46

Next Lecture Wednesday: Google Cluster Reading: L Barroso, J Dean, and U Holzle, "Web search for a planet: The Google Cluster Architecture," IEEE Micro, 23, 2, March-April 23, pp 22-2 Course Summary and Wrapup Schedule a time for the Final Review Computer Science 46