CSE 7381/5381 I/O Introduction: Storage Devices, Metrics.

Slides:



Advertisements
Similar presentations
I/O InterfaceCS510 Computer ArchitecturesLecture Lecture 17 I/O Interfaces and I/O Busses.
Advertisements

Bus Design.
IT253: Computer Organization
I/O Chapter 8. Outline Introduction Disk Storage and Dependability – 8.2 Buses and other connectors – 8.4 I/O performance measures – 8.6.
Lecture 21Comp. Arch. Fall 2006 Chapter 8: I/O Systems Adapted from Mary Jane Irwin at Penn State University for Computer Organization and Design, Patterson.
1  1998 Morgan Kaufmann Publishers Interfacing Processors and Peripherals.
1 Devices: Magnetic Disks Sector Track Cylinder Head Platter Purpose: – Long-term, nonvolatile storage – Large, inexpensive, slow level in the storage.
CSCE 212 Chapter 8 Storage, Networks, and Other Peripherals Instructor: Jason D. Bakos.
RAID Technology. Use Arrays of Small Disks? 14” 10”5.25”3.5” Disk Array: 1 disk design Conventional: 4 disk designs Low End High End Katz and Patterson.
EE30332 Ch8 DP – 1 Ch 8 Interfacing Processors and Peripherals Buses °Fundamental tool for designing and building computer systems divide the problem into.
Lecture 25 Buses and I/O (2)
Interfacing Processors and Peripherals Andreas Klappenecker CPSC321 Computer Architecture.
ENGS 116 Lecture 181 I/O Interfaces, A Little Queueing Theory RAID Vincent H. Berk November 19, 2007 Reading for Today: Sections 7.1 – 7.4 Reading for.
Disk Storage SystemsCSCE430/830 Disk Storage Systems CSCE430/830 Computer Architecture Lecturer: Prof. Hong Jiang Courtesy of Yifeng Zhu (U. Maine) Fall,
Computer ArchitectureFall 2007 © November 28, 2007 Karem A. Sakallah Lecture 24 Disk IO and RAID CS : Computer Architecture.
1  1998 Morgan Kaufmann Publishers Chapter 8 Storage, Networks and Other Peripherals.
JDK.F98 Slide 1 Lecture 25: I/O Introduction Prof. John Kubiatowicz Computer Science 252 Fall 1998.
Computer ArchitectureFall 2008 © November 12, 2007 Nael Abu-Ghazaleh Lecture 24 Disk IO.
EECC551 - Shaaban #1 Lec # 10 Winter Input/Output & System Performance Issues System I/O Connection StructureSystem I/O Connection Structure.
CS252/Kubiatowicz Lec /17/99 CS252 Graduate Computer Architecture Lecture 23 I/O Continued November 17, 1999 Prof. John Kubiatowicz.
COMP381 by M. Hamdi 1 Input/Output Systems. COMP381 by M. Hamdi 2 Motivation: Who Cares About I/O? CPU Performance: 60% per year I/O system performance.
CS252/Kubiatowicz Lec /10/99 CS252 Graduate Computer Architecture Lecture 21 I/O Introduction Prof. John Kubiatowicz Computer Science 252 Fall 1998.
I/0 devices.
Storage Systems Types of Storage Devices:Types of Storage Devices: magnetic disks, magnetic tapes, automated tape libraries, CDs, DVDs, and flash memories.
Introduction to Database Systems 1 The Storage Hierarchy and Magnetic Disks Storage Technology: Topic 1.
DAP Spr.‘98 ©UCB 1 Lecture 13: I/O: A Little Queuing Theory, RAID Professor David A. Patterson Computer Science 252 Spring 1998.
Redundant Array of Inexpensive Disks (RAID). Redundant Arrays of Disks Files are "striped" across multiple spindles Redundancy yields high data availability.
IO System CPU Performance: 60% per year
Storage & Peripherals Disks, Networks, and Other Devices.
Lecture 4 1 Reliability vs Availability Reliability: Is anything broken? Availability: Is the system still available to the user?
CS 352 : Computer Organization and Design University of Wisconsin-Eau Claire Dan Ernst Storage Systems.
RAID Storage EEL4768, Fall 2009 Dr. Jun Wang Slides Prepared based on D&P Computer Architecture textbook, etc.
L/O/G/O External Memory Chapter 3 (C) CS.216 Computer Architecture and Organization.
I/O – Chapter 8 Introduction Disk Storage and Dependability – 8.2 Buses and other connectors – 8.4 I/O performance measures – 8.6.
1 Chapter 7: Storage Systems Introduction Magnetic disks Buses RAID: Redundant Arrays of Inexpensive Disks.
Disk Access. DISK STRUCTURE Sector: Smallest unit of data transfer from/to disk; 512B 2/4/8 adjacent sectors transferred together: Blocks Read/write heads.
1 (Based on text: David A. Patterson & John L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, 3 rd Ed., Morgan Kaufmann,
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
I/O Example: Disk Drives To access data: — seek: position head over the proper track (8 to 20 ms. avg.) — rotational latency: wait for desired sector (.5.
Lecture 3: 1 Introduction to Queuing Theory More interested in long term, steady state than in startup => Arrivals = Departures Little’s Law: Mean number.
Lecture 35: Chapter 6 Today’s topic –I/O Overview 1.
I/O Computer Organization II 1 Interconnecting Components Need interconnections between – CPU, memory, I/O controllers Bus: shared communication channel.
August 1, 2001Systems Architecture II1 Systems Architecture II (CS ) Lecture 9: I/O Devices and Communication Buses * Jeremy R. Johnson Wednesday,
MBG 1 CIS501, Fall 99 Lecture 18: Input/Output (I/O): Buses and Peripherals Michael B. Greenwald Computer Architecture CIS 501 Fall 1999.
Datorteknik F1 bild 1 What is a bus? Slow vehicle that many people ride together –well, true... A bunch of wires...
I/O—I/O Busses Professor Alvin R. Lebeck Computer Science 220 Fall 2001.
Input / Output CPS 104 Week 14 lecture 1. 2 © Alvin R. Lebeck 1998 CPS 104 Administrivia HW 5 Due HW 6 Assigned –Due last day of class.
Disk Storage SystemsCSCE430/830 Disk Storage Systems CSCE430/830 Computer Architecture Lecturer: Prof. Hong Jiang Courtesy of Yifeng Zhu (U. Maine) Fall,
CS2100 Computer Organisation Input/Output – Own reading only (AY2015/6) Semester 1 Adapted from David Patternson’s lecture slides:
Input/Output Professor Alvin R. Lebeck Computer Science 220 Fall 2001.
MBG 1 CIS501, Fall 99 Lecture 19: Input/Output (I/O): Buses and Peripherals Michael B. Greenwald Computer Architecture CIS 501 Fall 1999.
Processor Memory Processor-memory bus I/O Device Bus Adapter I/O Device I/O Device Bus Adapter I/O Device I/O Device Expansion bus I/O Bus.
JDK.F98 Slide 1 Lecture 26: I/O Continued Prof. John Kubiatowicz Computer Science 252 Fall 1998.
1 Lecture 23: Storage Systems Topics: disk access, bus design, evaluation metrics, RAID (Sections )
Mohamed Younis CMCS 411, Computer Architecture 1 CMCS Computer Architecture Lecture 26 Bus Interconnect May 7,
Amdahl’s Law & I/O Control Method 1. Amdahl’s Law The overall performance of a system is a result of the interaction of all of its components. System.
10/15: Lecture Topics Input/Output –Types of I/O Devices –How devices communicate with the rest of the system communicating with the processor communicating.
CMSC 611: Advanced Computer Architecture I/O & Storage Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted.
1 Computer Architecture & Assembly Language Spring 2001 Dr. Richard Spillman Lecture 19 – IO II.
Multiple Platters.
CS 704 Advanced Computer Architecture
Vladimir Stojanovic & Nicholas Weaver
Computer Architecture
Virtual Memory Main memory can act as a cache for the secondary storage (disk) Advantages: illusion of having more physical memory program relocation protection.
Lecture 21: Storage Systems
CMSC 611: Advanced Computer Architecture
Input-output I/O is very much architecture/system dependent
Presentation transcript:

CSE 7381/5381 I/O Introduction: Storage Devices, Metrics

CSE 7381/5381 Motivation: Who Cares About I/O? CPU Performance: 60% per year I/O system performance limited by mechanical delays (disk I/O) < 10% per year (IO per sec or MB per sec) Amdahl's Law: system speed-up limited by the slowest part! 10% IO & 10x CPU => 5x Performance (lose 50%) 10% IO & 100x CPU => 10x Performance (lose 90%) I/O bottleneck: Diminishing fraction of time in CPU Diminishing value of faster CPUs

CSE 7381/5381 Storage System Issues A Little Queuing Theory Redundant Arrarys of Inexpensive Disks (RAID) I/O Buses I/O Benchmarks

CSE 7381/5381 I/O Systems Processor Cache Memory - I/O Bus Main Memory I/O Controller Disk I/O Controller I/O Controller Graphics Network interrupts

CSE 7381/5381 Technology Trends Disk Capacity now doubles every 18 months; before 1990 every 36 motnhs Today: Processing Power Doubles Every 18 months Today: Memory Size Doubles Every 18 months(4X/3yr) Today: Disk Capacity Doubles Every 18 months Disk Positioning Rate (Seek + Rotate) Doubles Every Ten Years! The I/O GAP The I/O GAP

CSE 7381/5381 Alternative Data Storage Technologies: Early 1990s CapBPITPIBPI*TPIData Xfer Access Technology(MB)(Million)(KByte/s) Time Conventional Tape: Cartridge (.25") minutes IBM 3490 (.5") seconds Helical Scan Tape: Video (8mm) secs DAT (4mm) secs Magnetic & Optical Disk: Hard Disk (5.25") ms IBM 3390 (10.5") ms Sony MO (5.25") ms

CSE 7381/5381 Devices: Magnetic Disks Sector Track Cylinder Head Platter Purpose: – Long-term, nonvolatile storage – Large, inexpensive, slow level in the storage hierarchy Characteristics: – Seek Time (~8 ms avg) »positional latency »rotational latency Transfer rate –About a sector per ms (5-15 MB/s) –Blocks Capacity –Gigabytes –Quadruples every 3 years (aerodynamics) 7200 RPM = 120 RPS => 8 ms per rev ave rot. latency = 4 ms 128 sectors per track => 0.25 ms per sector 1 KB per sector => 16 MB / s Response time = Queue + Controller + Seek + Rot + Xfer Service time

CSE 7381/5381 Disk Device Terminology Disk Latency = Queuing Time + Controller time + Seek Time + Rotation Time + Xfer Time Order of magnitude times for 4K byte transfers: Seek: 8 ms or less Rotate: rpm Xfer: rpm

CSE 7381/5381 Tape vs. Disk Longitudinal tape uses same technology as hard disk; tracks its density improvements Disk head flies above surface, tape head lies on surface Disk fixed, tape removable Inherent cost-performance based on geometries: fixed rotating platters with gaps (random access, limited area, 1 media / reader) vs. removable long strips wound on spool (sequential access, "unlimited" length, multiple / reader) New technology trend: Helical Scan (VCR, Camcoder, DAT) Spins head at angle to tape to improve density

CSE 7381/5381 Current Drawbacks to Tape Tape wear out: –Helical 100s of passes to 1000s for longitudinal Head wear out: –2000 hours for helical Both must be accounted for in economic / reliability model Long rewind, eject, load, spin-up times; not inherent, just no need in marketplace (so far) Designed for archival

CSE 7381/5381 Relative Cost of Storage Technology—Late 1995/Early 1996 Magnetic Disks 5.25”9.1 GB$2129$0.23/MB $1985$0.22/MB 3.5”4.3 GB$1199$0.27/MB $999$0.23/MB 2.5”514 MB$299$0.58/MB 1.1 GB$345$0.33/MB Optical Disks 5.25”4.6 GB$ $0.41/MB $ $0.39/MB PCMCIA Cards Static RAM4.0 MB$700$175/MB Flash RAM40.0 MB$1300$32/MB 175 MB$3600$20.50/MB

CSE 7381/5381 Disk I/O Performance Response time = Queue + Device Service time 100% Response Time (ms) Throughput (% total BW) % Proc Queue IOCDevice Metrics: Response Time Throughput

CSE 7381/5381 Disk Time Example Disk Parameters: –Transfer size is 8K bytes –Advertised average seek is 12 ms –Disk spins at 7200 RPM –Transfer rate is 4 MB/sec Controller overhead is 2 ms Assume that disk is idle so no queuing delay What is Average Disk Access Time for a Sector? –Ave seek + ave rot delay + transfer time + controller overhead –12 ms + 0.5/(7200 RPM/60) + 8 KB/4 MB/s + 2 ms – = 20 ms Advertised seek time assumes no locality: typically 1/4 to 1/3 advertised seek time: 20 ms => 12 ms

CSE 7381/5381 Processor Interface Issues Processor interface –Interrupts –Memory mapped I/O I/O Control Structures –Polling –Interrupts –DMA –I/O Controllers –I/O Processors Capacity, Access Time, Bandwidth Interconnections –Busses

CSE 7381/5381 I/O Interface Independent I/O Bus CPU Interface Peripheral Memory memory bus Seperate I/O instructions (in,out) CPU Interface Peripheral Memory common memory & I/O bus

CSE 7381/5381 Memory Mapped I/O Single Memory & I/O Bus No Separate I/O Instructions CPU Interface Peripheral Memory ROM RAM I/O $ CPU L2 $ Memory Bus MemoryBus Adaptor I/O bus

CSE 7381/5381 Programmed I/O (Polling) CPU IOC device Memory Is the data ready? read data store data yes no done? no yes busy wait loop not an efficient way to use the CPU unless the device is very fast! but checks for I/O completion can be dispersed among computationally intensive code

CSE 7381/5381 Interrupt Driven Data Transfer CPU IOC device Memory add sub and or nop read store... rti memory user program (1) I/O interrupt (2) save PC (3) interrupt service addr interrupt service routine (4) Device xfer rate = 10 MBytes/sec => 0.1 x 10 sec/byte => 0.1 µsec/byte => 1000 bytes = 100 µsec 1000 transfers x 100 µsecs = 100 ms = 0.1 CPU seconds -6 User program progress only halted during actual transfer 1000 transfers at 1 ms each: µsec per interrupt 1000 interrupt 98 µsec each = 0.1 CPU seconds Still far from device transfer rate! 1/2 in interrupt overhead

CSE 7381/5381 Direct Memory Access CPU IOC device Memory DMAC Time to do 1000 xfers at 1 msec each: 1 DMA set-up 50 µsec 1 2 µsec 1 interrupt service 48 µsec.0001 second of CPU time CPU sends a starting address, direction, and length count to DMAC. Then issues "start". DMAC provides handshake signals for Peripheral Controller, and Memory Addresses and handshake signals for Memory. 0 ROM RAM Peripherals DMAC n Memory Mapped I/O

CSE 7381/5381 Input/Output Processors CPU IOP Mem D1 D2 Dn... main memory bus I/O bus CPU IOP issues instruction to IOP interrupts when done (1) memory (2) (3) (4) Device to/from memory transfers are controlled by the IOP directly. IOP steals memory cycles. OP Device Address target device where cmnds are looks in memory for commands OP Addr Cnt Other what to do where to put data how much special requests

CSE 7381/5381 Relationship to Processor Architecture Caches required for processor performance cause problems for I/O –Flushing is expensive, I/O polutes cache –Solution is borrowed from shared memory multiprocessors "snooping" Virtual DMA

CSE 7381/5381 I/O: A Little Queuing Theory, RAID

CSE 7381/5381 Review: Disk I/O Performance Response time = Queue + Device Service time 100% Response Time (ms) Throughput (% total BW) % Proc Queue IOCDevice Metrics: Response Time Throughput

CSE 7381/5381 Introduction to Queueing Theory More interested in long term, steady state than in startup => Arrivals = Departures Little’s Law: Mean number tasks in system = arrival rate x mean reponse time –Observed by many, Little was first to prove Applies to any system in equilibrium, as long as nothing in black box is creating or destroying tasks ArrivalsDepartures

CSE 7381/5381 A Little Queuing Theory: Notation Queuing models assume state of equilibrium: input rate = output rate Notation: r average number of arriving customers/second T ser average time to service a customer (tradtionally µ = 1/ T ser ) userver utilization (0..1): u = r x T ser (or u = r / T ser ) T q average time/customer in queue T sys average time/customer in system: T sys = T q + T ser L q average length of queue: L q = r x T q L sys average length of system: L sys = r x T sys Little’s Law: Length system = rate x Time system (Mean number customers = arrival rate x mean service time) ProcIOCDevice Queue server System

CSE 7381/5381 A Little Queuing Theory Service time completions vs. waiting time for a busy server: randomly arriving event joins a queue of arbitrary length when server is busy, otherwise serviced immediately –Unlimited length queues key simplification A single server queue: combination of a servicing facility that accomodates 1 customer at a time (server) + waiting area (queue): together called a system Server spends a variable amount of time with customers; how do you characterize variability? –Distribution of a random variable: histogram? curve? ProcIOCDevice Queue server System

CSE 7381/5381 A Little Queuing Theory Server spends a variable amount of time with customers –Weighted mean m1 = (f1 x T1 + f2 x T fn x Tn)/F (F=f1 + f2...) –variance = (f1 x T1 2 + f2 x T fn x Tn 2 )/F – m1 2 »Must keep track of unit of measure (100 ms 2 vs. 0.1 s 2 ) –Squared coefficient of variance: C = variance/m1 2 »Unitless measure (100 ms 2 vs. 0.1 s 2 ) Exponential distribution C = 1 : most short relative to average, few others long; 90% < 2.3 x average, 63% < average Hypoexponential distribution C 90% < 2.0 x average, only 57% < average Hyperexponential distribution C > 1 : further from average C=2.0 => 90% < 2.8 x average, 69% < average ProcIOCDevice Queue server System Avg.

CSE 7381/5381 A Little Queuing Theory: Variable Service Time Server spends a variable amount of time with customers –Weighted mean m1 = (f1xT1 + f2xT fnXTn)/F (F=f1+f2+...) –Squared coefficient of variance C Disk response times C ­ 1.5 (majority seeks < average) Yet usually pick C = 1.0 for simplicity Another useful value is average time must wait for server to complete task: m1(z) –Not just 1/2 x m1 because doesn’t capture variance –Can derive m1(z) = 1/2 x m1 x (1 + C) –No variance => C= 0 => m1(z) = 1/2 x m1 ProcIOCDevice Queue server System

CSE 7381/5381 A Little Queuing Theory: Average Wait Time Calculating average wait time in queue T q –If something at server, it takes to complete on average m1(z) –Chance server is busy = u; average delay is u x m1(z) –All customers in line must complete; each avg T s er T q = u x m1(z) + L q x T s er = 1/2 x u x T ser x (1 + C) + L q x T s er T q = 1/2 x u x T s er x (1 + C) + r x T q x T s er T q = 1/2 x u x T s er x (1 + C) + u x T q T q x (1 – u) = T s er x u x (1 + C) /2 T q = T s er x u x (1 + C) / (2 x (1 – u)) Notation: raverage number of arriving customers/second T ser average time to service a customer userver utilization (0..1): u = r x T ser T q average time/customer in queue L q average length of queue:L q = r x T q

CSE 7381/5381 A Little Queuing Theory: M/G/1 and M/M/1 Assumptions so far: –System in equilibrium –Time between two successive arrivals in line are random –Server can start on next customer immediately after prior finishes –No limit to the queue: works First-In-First-Out –Afterward, all customers in line must complete; each avg T ser Described “memoryless” or Markovian request arrival (M for C=1 exponentially random), General service distribution (no restrictions), 1 server: M/G/1 queue When Service times have C = 1, M/M/1 queue T q = T ser x u x (1 + C) /(2 x (1 – u)) = T ser x u / (1 – u) T ser average time to service a customer userver utilization (0..1): u = r x T ser T q average time/customer in queue

CSE 7381/5381 A Little Queuing Theory: An Example processor sends 10 x 8KB disk I/Os per second, requests & service exponentially distrib., avg. disk service = 20 ms On average, how utilized is the disk? –What is the number of requests in the queue? –What is the average time spent in the queue? –What is the average response time for a disk request? Notation: raverage number of arriving customers/second = 10 T ser average time to service a customer = 20 ms (0.02s) userver utilization (0..1): u = r x T ser = 10/s x.02s = 0.2 T q average time/customer in queue = T ser x u / (1 – u) = 20 x 0.2/(1-0.2) = 20 x 0.25 = 5 ms (0.005s) T sys average time/customer in system: T sys =T q +T ser = 25 ms L q average length of queue:L q = r x T q = 10/s x.005s = 0.05 requests in queue L sys average # tasks in system: L sys = r x T sys = 10/s x.025s = 0.25

CSE 7381/5381 Replace Small # of Large Disks with Large # of Small Disks! (1988 Disks) Data Capacity Volume Power Data Rate I/O Rate MTTF Cost IBM 3390 (K) 20 GBytes 97 cu. ft. 3 KW 15 MB/s 600 I/Os/s 250 KHrs $250K IBM 3.5" MBytes 0.1 cu. ft. 11 W 1.5 MB/s 55 I/Os/s 50 KHrs $2K x70 23 GBytes 11 cu. ft. 1 KW 120 MB/s 3900 IOs/s ??? Hrs $150K Disk Arrays have potential for large data and I/O rates high MB per cu. ft., high MB per KW reliability?

CSE 7381/5381 Array Reliability Reliability of N disks = Reliability of 1 Disk ÷ N 50,000 Hours ÷ 70 disks = 700 hours Disk system MTTF: Drops from 6 years to 1 month! Arrays (without redundancy) too unreliable to be useful! Hot spares support reconstruction in parallel with access: very high media availability can be achieved Hot spares support reconstruction in parallel with access: very high media availability can be achieved

CSE 7381/5381 Redundant Arrays of Disks Files are "striped" across multiple spindles Redundancy yields high data availability Disks will fail Contents reconstructed from data redundantly stored in the array Capacity penalty to store it Bandwidth penalty to update Mirroring/Shadowing (high capacity cost) Horizontal Hamming Codes (overkill) Parity & Reed-Solomon Codes Techniques:

CSE 7381/5381 Redundant Arrays of Disks RAID 1: Disk Mirroring/Shadowing Each disk is fully duplicated onto its "shadow" Very high availability can be achieved Bandwidth sacrifice on write: Logical write = two physical writes Reads may be optimized Most expensive solution: 100% capacity overhead Targeted for high I/O rate, high availability environments recovery group

CSE 7381/5381 Redundant Arrays of Disks RAID 3: Parity Disk P logical record Striped physical records Parity computed across recovery group to protect against hard disk failures 33% capacity cost for parity in this configuration wider arrays reduce capacity costs, decrease expected availability, increase reconstruction time Arms logically synchronized, spindles rotationally synchronized logically a single high capacity, high transfer rate disk Targeted for high bandwidth applications: Scientific, Image Processing

CSE 7381/5381 Redundant Arrays of Disks RAID 5+: High I/O Rate Parity A logical write becomes four physical I/Os Independent writes possible because of interleaved parity Reed-Solomon Codes ("Q") for protection during reconstruction A logical write becomes four physical I/Os Independent writes possible because of interleaved parity Reed-Solomon Codes ("Q") for protection during reconstruction D0D1D2 D3 P D4D5D6 P D7 D8D9P D10 D11 D12PD13 D14 D15 PD16D17 D18 D19 D20D21D22 D23 P Disk Columns Increasing Logical Disk Addresses Stripe Unit Targeted for mixed applications

CSE 7381/5381 Problems of Disk Arrays: Small Writes D0D1D2 D3 P D0' + + D1D2 D3 P' new data old data old parity XOR (1. Read) (2. Read) (3. Write) (4. Write) RAID-5: Small Write Algorithm 1 Logical Write = 2 Physical Reads + 2 Physical Writes

CSE 7381/5381 System Availability: Orthogonal RAIDs Array Controller String Controller String Controller String Controller String Controller String Controller String Controller... Data Recovery Group: unit of data redundancy Redundant Support Components: fans, power supplies, controller, cables End to End Data Integrity: internal parity protected data paths

CSE 7381/5381 System-Level Availability Fully dual redundant I/O Controller Array Controller Recovery Group Goal: No Single Points of Failure Goal: No Single Points of Failure host with duplicated paths, higher performance can be obtained when there are no failures

CSE 7381/5381 Bus-Based Interconnect Bus: a shared communication link between subsystems –Low cost: a single set of wires is shared multiple ways –Versatility: Easy to add new devices & peripherals may even be ported between computers using common bus Disadvantage –A communication bottleneck, possibly limiting the maximum I/O throughput Bus speed is limited by physical factors –the bus length –the number of devices (and, hence, bus loading). –these physical limits prevent arbitrary bus speedup.

CSE 7381/5381 Bus-Based Interconnect Two generic types of busses: –I/O busses: lengthy, many types of devices connected, wide range in the data bandwidth), and follow a bus standard (sometimes called a channel) –CPU–memory buses: high speed, matched to the memory system to maximize memory–CPU bandwidth, single device (sometimes called a backplane) –To lower costs, low cost (older) systems combine together Bus transaction –Sending address & receiving or sending data

CSE 7381/5381 Bus Protocols ° ° ° MasterSlave Control Lines Address Lines Data Lines Multibus: 20 address, 16 data, 5 control, 50ns Pause Bus Master : has ability to control the bus, initiates transaction Bus Slave : module activated by the transaction Bus Communication Protocol : specification of sequence of events and timing requirements in transferring information. Asynchronous Bus Transfers: control lines (req., ack.) serve to orchestrate sequencing Synchronous Bus Transfers: sequence relative to common clock

CSE 7381/5381 Synchronous Bus Protocols Address Data Read Wait Clock Address Data Wait Pipelined/Split transaction Bus Protocol addr 1 data 0 addr 2 wait 1 data 1 addr 3 OK 1 data 2 begin read Read complete

CSE 7381/5381 Asynchronous Handshake Address Data Read Req. Ack. Master Asserts Address Master Asserts Data Next Address Write Transaction t0 t1 t2 t3 t4 t5 t0 : Master has obtained control and asserts address, direction, data Waits a specified amount of time for slaves to decode target\ t1: Master asserts request line t2: Slave asserts ack, indicating data received t3: Master releases req t4: Slave releases ack 4 Cycle Handshake

CSE 7381/5381 Read Transaction Address Data Read Req Ack Master Asserts AddressNext Address t0 t1 t2 t3 t4 t5 Time Multiplexed Bus: address and data share lines t0 : Master has obtained control and asserts address, direction, data Waits a specified amount of time for slaves to decode target\ t1: Master asserts request line t2: Slave asserts ack, indicating ready to transmit data t3: Master releases req, data received t4: Slave releases ack 4 Cycle Handshake

CSE 7381/5381 Bus Arbitration Parallel (Centralized) Arbitration Serial Arbitration (daisy chaining) Polling BR BG M M M M BGi BGo BR M BGi BGo BR M BGi BGo BR BG BR A.U. BR A C M M M BR A A.U. Bus Request Bus Grant

CSE 7381/5381 Bus Options OptionHigh performanceLow cost Bus widthSeparate addressMultiplex address & data lines& data lines Data widthWider is fasterNarrower is cheaper (e.g., 32 bits)(e.g., 8 bits) Transfer sizeMultiple words hasSingle-word transfer less bus overheadis simpler Bus mastersMultipleSingle master (requires arbitration)(no arbitration) Split Yes—separate No—continuous transaction?Request and Replyconnection is cheaper packets gets higher and has lower latency bandwidth (needs multiple masters) ClockingSynchronousAsynchronous

CSE 7381/5381 SCSI: Small Computer System Interface Clock rate: 5 MHz / 10 MHz (fast) / 20 MHz (ultra) Width: n = 8 bits / 16 bits (wide); up to n – 1 devices to communicate on a bus or “string” Devices can be slave (“target”) or master(“initiator”) SCSI protocol: a series of “phases”, during which specif- ic actions are taken by the controller and the SCSI disks –Bus Free: No device is currently accessing the bus –Arbitration: When the SCSI bus goes free, multiple devices may request (arbitrate for) the bus; fixed priority by address –Selection: informs the target that it will participate (Reselection if disconnected) –Command: the initiator reads the SCSI command bytes from host memory and sends them to the target –Data Transfer: data in or out, initiator: target –Message Phase: message in or out, initiator: target (identify, save/restore data pointer, disconnect, command complete) –Status Phase: target, just before command complete

CSE 7381/ I/O Bus Survey (P&H, 2nd Ed) BusSBusTurboChannelMicroChannelPCI OriginatorSunDECIBMIntel Clock Rate (MHz) async33 AddressingVirtualPhysicalPhysicalPhysical Data Sizes (bits)8,16,328,16,24,328,16,24,32,648,16,24,32,64 MasterMultiSingleMultiMulti ArbitrationCentralCentralCentralCentral 32 bit read (MB/s) Peak (MB/s) (222) Max Power (W)

CSE 7381/5381 Communications Networks Performance limiter is memory system, OS overhead Send/receive queues in processor memories Network controller copies back and forth via DMA No host intervention needed Interrupt host when message sent or received

CSE 7381/5381 I/O Controller Architecture Request/response block interface Backdoor access to host memory

CSE 7381/5381 Summary: Redundant Arrays of Disks (RAID) Techniques Disk Mirroring, Shadowing (RAID 1) Each disk is fully duplicated onto its "shadow" Logical write = two physical writes 100% 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 Parity + Reed-Solomon codes