EE898 Lec 3.1 10/22/04 EE898.02 Architecture of Digital Systems Lecture 3: I/O Introduction and A Little Queueing Theory Prof. Seok-Bum Ko.

Slides:



Advertisements
Similar presentations
Chapter 5 Input/Output 5.1 Principles of I/O hardware
Advertisements

Chapter 6 File Systems 6.1 Files 6.2 Directories
1 Chapter 11 I/O Management and Disk Scheduling Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and.
1 Lecture 22: I/O, Disk Systems Todays topics: I/O overview Disk basics RAID Reminder: Assignment 8 due Tue 11/21.
IT253: Computer Organization
CS61C L16 Disks © UC Regents 1 CS161 Lecture 25 - Disks Laxmi Bhuyan
Disk Storage SystemsCSCE430/830 Disk Storage Systems CSCE430/830 Computer Architecture Lecturer: Prof. Hong Jiang Courtesy of Yifeng Zhu (U. Maine) Fall,
Disk Arrays COEN 180. Large Storage Systems Collection of disks to store large amount of data. Performance advantage: Each drive can satisfy only so many.
Secondary Storage Devices: Magnetic Disks
I/O Chapter 8. Outline Introduction Disk Storage and Dependability – 8.2 Buses and other connectors – 8.4 I/O performance measures – 8.6.
CPSC 614:Graduate Computer Architecture Prof
1 CDA3101 Fall 2013 Computer Storage: Practical Aspects 6,13 November 2013 Copyright © 2011 Prabhat Mishra.
1 CSCI 504 Computer Organization Lecture 5: I/O Introduction: Storage Devices & RAID Dr. Yuan-Shun Dai Computer Science 504 Fall 2004 Adapted from D.A.
CS224 Spring 2011 Computer Organization CS224 Chapter 6A: Disk Systems With thanks to M.J. Irwin, D. Patterson, and J. Hennessy for some lecture slide.
Copyright © 2009 EMC Corporation. Do not Copy - All Rights Reserved.
1 Lecture 23: Storage Systems Disk insides, characteristics, performance, reliability, technology trends, RAID systems Adapted from UCB CS252 S01, Revised.
CPE 731 Advanced Computer Architecture Storage
Faculty of Information Technology Department of Computer Science Computer Organization Chapter 7 External Memory Mohammad Sharaf.
1 IKI10230 Pengantar Organisasi Komputer Bab 5.3: On-line Storage 23 April 2003 Bobby Nazief Qonita Shahab bahan.
CMSC 611: Advanced Computer Architecture
Magnetic Disk Magnetic disks are the foundation of external memory on virtually all computer systems. A disk is a circular platter constructed of.
Chapter 6 File Systems 6.1 Files 6.2 Directories
Storage and Disks.
Introduction to Queuing Theory
CS61C L13 I/O © UC Regents 1 CS 161 Chapter 8 - I/O Lecture 17.
1 Devices: Magnetic Disks Sector Track Cylinder Head Platter Purpose: – Long-term, nonvolatile storage – Large, inexpensive, slow level in the storage.
Input/OutputCS510 Computer ArchitecturesLecture Lecture 16 Input and Output Devices and Systems.
Lecture 36: Chapter 6 Today’s topic –RAID 1. RAID Redundant Array of Inexpensive (Independent) Disks –Use multiple smaller disks (c.f. one large disk)
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.
CS 430 – Computer Architecture Disks
I/O Systems Processor Cache Memory - I/O Bus Main Memory I/O Controller Disk I/O Controller I/O Controller Graphics Network interrupts.
CS61C L40 I/O: Disks (1) Ho, Fall 2004 © UCB TA Casey Ho inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture 39 I/O : Disks Microsoft.
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.
CS61C L16 Disks © UC Regents 1 CS61C - Machine Structures Lecture 16 - Disks October 20, 2000 David Patterson
First magnetic disks, the IBM 305 RAMAC (2 units shown) introduced in One platter shown top right. A RAMAC stored 5 million characters on inch.
Lecture 3: A Case for RAID (Part 1) Prof. Shahram Ghandeharizadeh Computer Science Department University of Southern California.
CS61C L40 I/O: Disks (1) Garcia, Fall 2004 © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures.
Computer ArchitectureFall 2008 © November 12, 2007 Nael Abu-Ghazaleh Lecture 24 Disk IO.
Disk Technologies. Magnetic Disks Purpose: – Long-term, nonvolatile, inexpensive storage for files – Large, inexpensive, slow level in the memory hierarchy.
Cs 61C L15 Disks.1 Patterson Spring 99 ©UCB CS61C Anatomy of I/O Devices: Magnetic Disks Lecture 15 March 10, 1999 Dave Patterson (http.cs.berkeley.edu/~patterson)
12/3/2004EE 42 fall 2004 lecture 391 Lecture #39: Magnetic memory storage Last lecture: –Dynamic Ram –E 2 memory This lecture: –Future memory technologies.
DAP Fall.‘00 ©UCB 1 Storage Devices and RAID Professor David A. Patterson Computer Science 252 Fall 2000.
CS252/Patterson Lec 5.1 1/31/01 CS252 Graduate Computer Architecture Lecture 5: I/O Introduction: Storage Devices & RAID January 31, 2001 Prof. David A.
CS 61C L41 I/O Disks (1) Garcia, Spring 2004 © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C : Machine.
CS252/Culler Lec 6.1 2/7/02 CS252 Graduate Computer Architecture I/O Introduction: Storage Devices & RAID Jason Hill.
Introduction to Database Systems 1 The Storage Hierarchy and Magnetic Disks Storage Technology: Topic 1.
Redundant Array of Inexpensive Disks (RAID). Redundant Arrays of Disks Files are "striped" across multiple spindles Redundancy yields high data availability.
Eng. Mohammed Timraz Electronics & Communication Engineer University of Palestine Faculty of Engineering and Urban planning Software Engineering Department.
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.
CPE 631: Storage Electrical and Computer Engineering University of Alabama in Huntsville Aleksandar Milenkovic
L/O/G/O External Memory Chapter 3 (C) CS.216 Computer Architecture and Organization.
1 IKI20210 Pengantar Organisasi Komputer Kuliah No. 21: Peripheral 29 Nopember 2002 Bobby Nazief Johny Moningka
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.
Lecture 3: 1 Introduction to Queuing Theory More interested in long term, steady state than in startup => Arrivals = Departures Little’s Law: Mean number.
Disk Storage SystemsCSCE430/830 Disk Storage Systems CSCE430/830 Computer Architecture Lecturer: Prof. Hong Jiang Courtesy of Yifeng Zhu (U. Maine) Fall,
Csci 136 Computer Architecture II – IO and Storage Systems Xiuzhen Cheng
COSC 6340: Disks 1 Disks and Files DBMS stores information on (“hard”) disks. This has major implications for DBMS design! » READ: transfer data from disk.
W4118 Operating Systems Instructor: Junfeng Yang.
CMSC 611: Advanced Computer Architecture I/O & Storage Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted.
Module: Storage Systems
Vladimir Stojanovic & Nicholas Weaver
Disks and Files DBMS stores information on (“hard”) disks.
Lecture 21: Storage Systems
CS252 Graduate Computer Architecture I/O Introduction: Storage Devices & RAID Jason Hill.
Presentation transcript:

EE898 Lec /22/04 EE Architecture of Digital Systems Lecture 3: I/O Introduction and A Little Queueing Theory Prof. Seok-Bum Ko

EE898 Lec /22/04 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) 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

EE898 Lec /22/04 I/O Systems Processor Cache Memory - I/O Bus Main Memory I/O Controller Disk I/O Controller I/O Controller Graphics Network interrupts

EE898 Lec /22/04 Storage Technology Drivers Driven by the prevailing computing paradigm –1950s: migration from batch to on-line processing –1990s: migration to ubiquitous computing »computers in phones, books, cars, video cameras, … »nationwide fiber optical network with wireless tails Effects on storage industry: –Embedded storage »smaller, cheaper, more reliable, lower power –Data utilities »high capacity, hierarchically managed storage

EE898 Lec /22/04 Disk Device Terminology Several platters, with information recorded magnetically on both surfaces (usually) Actuator moves head (end of arm,1/surface) over track (“seek”), select surface, wait for sector rotate under head, then read or write –“Cylinder”: all tracks under heads Bits recorded in tracks, which in turn divided into sectors (e.g., 512 Bytes) Platter Outer Track Inner Track Sector Actuator HeadArm

EE898 Lec /22/04 Photo of Disk Head, Arm, Actuator Actuator Arm Head Platters (12) { Spindle

EE898 Lec /22/04 Disk Device Performance Platter Arm Actuator HeadSector Inner Track Outer Track Disk Latency = Seek Time + Rotation Time + Transfer Time + Controller Overhead Seek Time? depends on no. tracks move arm, seek speed of disk Rotation Time? depends on speed disk rotates, how far sector is from head Transfer Time? depends on data rate (bandwidth) of disk (bit density), size of request Controller Spindle

EE898 Lec /22/04 Data Rate: Inner vs. Outer Tracks To keep things simple, originally kept same number of sectors per track –Since outer track longer, lower bits per inch Competition  decided to keep BPI the same for all tracks (“constant bit density”)  More capacity per disk  More of sectors per track towards edge  Since disk spins at constant speed, outer tracks have faster data rate Bandwidth outer track 1.7X inner track! –Inner track highest density, outer track lowest, so not really constant –2.1X length of track outer / inner, 1.7X bits outer / inner

EE898 Lec /22/04 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 – MByte/sec –Blocks Capacity –Gigabytes –Quadruples every 2 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

EE898 Lec /22/04 Disk Performance Model /Trends Capacity + 100%/year (2X / 1.0 yrs) Transfer rate (BW) + 40%/year (2X / 2.0 yrs) Rotation + Seek time – 8%/ year (1/2 in 10 yrs) MB/$ > 100%/year (2X / 1.0 yrs) Fewer chips + areal density

EE898 Lec /22/04 State of the Art: Barracuda 180 –181.6 GB, 3.5 inch disk –12 platters, 24 surfaces –24,247 cylinders –7,200 RPM; (4.2 ms avg. latency) –7.4/8.2 ms avg. seek (r/w) –64 to 35 MB/s (internal) –0.1 ms controller time –10.3 watts (idle) source: Latency = Queuing Time + Controller time + Seek Time + Rotation Time + Size / Bandwidth per access per byte { + Sector Track Cylinder Head Platter Arm Track Buffer

EE898 Lec /22/04 Areal Density Bits recorded along a track –Metric is Bits Per Inch (BPI) Number of tracks per surface –Metric is Tracks Per Inch (TPI) Disk Designs Brag about bit density per unit area –Metric is Bits Per Square Inch –Called Areal Density –Areal Density = BPI x TPI

EE898 Lec /22/04 Historical Perspective 1956 IBM Ramac — early 1970s Winchester –Developed for mainframe computers, proprietary interfaces –Steady shrink in form factor: 27 in. to 14 in Form factor and capacity drives market, more than performance 1970s: Mainframes  14 inch diameter disks 1980s: Minicomputers,Servers  8”,5 1/4 ” diameter PCs, workstations Late 1980s/Early 1990s: –Mass market disk drives become a reality »industry standards: SCSI, IPI, IDE –Pizzabox PCs  3.5 inch diameter disks –Laptops, notebooks  2.5 inch disks –Palmtops didn’t use disks, so 1.8 inch diameter disks didn’t make it 2000s: –1 inch for cameras, cell phones?

EE898 Lec /22/04 Disk History Data density Mbit/sq. in. Capacity of Unit Shown Megabytes 1973: 1. 7 Mbit/sq. in 140 MBytes 1979: 7. 7 Mbit/sq. in 2,300 MBytes source: New York Times, 2/23/98, page C3, “Makers of disk drives crowd even more data into even smaller spaces”

EE898 Lec /22/04 Disk History 1989: 63 Mbit/sq. in 60,000 MBytes 1997: 1450 Mbit/sq. in 2300 MBytes source: New York Times, 2/23/98, page C3, “Makers of disk drives crowd even more data into even smaller spaces” 1997: 3090 Mbit/sq. in 8100 MBytes

EE898 Lec /22/04 1 inch disk drive! 2000 IBM MicroDrive: – 1.7” x 1.4” x 0.2” –1 GB, 3600 RPM, 5 MB/s, 15 ms seek –Digital camera, PalmPC? 2006 MicroDrive? 9 GB, 50 MB/s! –Assuming it finds a niche in a successful product –Assuming past trends continue

EE898 Lec /22/04 Fallacy: Use Data Sheet “Average Seek” Time Manufacturers needed standard for fair comparison (“benchmark”) –Calculate all seeks from all tracks, divide by number of seeks => “average” Real average would be based on how data laid out on disk, where seek in real applications, then measure performance –Usually, tend to seek to tracks nearby, not to random track Rule of Thumb: observed average seek time is typically about 1/4 to 1/3 of quoted seek time (i.e., 3X-4X faster)

EE898 Lec /22/04 Fallacy: Use Data Sheet Transfer Rate Manufacturers quote the speed off the data rate off the surface of the disk Sectors contain an error detection and correction field (can be 20% of sector size) plus sector number as well as data There are gaps between sectors on track Rule of Thumb: disks deliver about 3/4 of internal media rate (1.3X slower) for data

EE898 Lec /22/04 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) Helical Scan (VCR, Camcoder, DAT) Spins head at angle to tape to improve density

EE898 Lec /22/04 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 Bits stretch Readers must be compatible with multiple generations of media Long rewind, eject, load, spin-up times; not inherent, just no need in marketplace Designed for archival

EE898 Lec /22/04 Library vs. Storage Getting books today as quaint as the way WE learned to program –punch cards, batch processing –wander thru shelves, anticipatory purchasing Cost $1 per book to check out $30 for a catalogue entry 30% of all books never checked out Write only journals? Digital library can transform campuses

EE898 Lec /22/04 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 asked in 1987: Can smaller disks be used to close gap in performance between disks and CPUs?

EE898 Lec /22/04 Advantages of Small Formfactor Disk Drives Low cost/MB High MB/volume High MB/watt Low cost/Actuator Cost and Environmental Efficiencies

EE898 Lec /22/04 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

EE898 Lec /22/04 RAID Fundamental to RAID is “striping”, a method of concatenating multiple drives into one logical storage unit. RAID-0: not redundant RAID-1: by writing all data to two or more drives. “mirroring” RAID-2: Hamming error correction codes RAID-3: striping data at a byte level across several drives, with parity stored on one drive RAID-4: striping data at a block level across several drives, with parity stored on one drive RAID-5: similar to level 4, but distributes parity among the drives

EE898 Lec /22/04 Redundant Arrays of Inexpensive Disks RAID 1: Disk Mirroring/Shadowing 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: 100% capacity overhead ( RAID 2 not interesting, so skip) recovery group

EE898 Lec /22/04 Redundant Array of Inexpensive Disks RAID 3: Parity Disk P logical record 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 Striped physical records

EE898 Lec /22/04 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

EE898 Lec /22/04 Inspiration for RAID 4 RAID 3 relies on parity disk to discover errors on Read But every sector has an error detection field Rely on error detection field to catch errors on read, not on the parity disk Allows independent reads to different disks simultaneously

EE898 Lec /22/04 Redundant Arrays of Inexpensive Disks RAID 4: High I/O Rate Parity D0D1D2 D3 P D4D5D6 PD7 D8D9 PD10 D11 D12 PD13 D14 D15 P D16D17 D18 D19 D20D21D22 D23 P Disk Columns Increasing Logical Disk Address Stripe Insides of 5 disks Example: small read D0 & D5, large write D12-D15 Example: small read D0 & D5, large write D12-D15

EE898 Lec /22/04 Inspiration for RAID 5 RAID 4 works well for small reads Small writes (write to one disk): –Option 1: read other data disks, create new sum and write to Parity Disk –Option 2: 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 D0, D5 both also write to P disk D0 D1D2 D3 P D4 D5 D6 P D7

EE898 Lec /22/04 Redundant Arrays of Inexpensive Disks RAID 5: High I/O Rate Interleaved Parity Independent writes possible because of interleaved parity Independent writes possible because of interleaved parity D0D1D2 D3 P D4D5D6 P D7 D8D9P D10 D11 D12PD13 D14 D15 PD16D17 D18 D19 D20D21D22 D23 P Disk Columns Increasing Logical Disk Addresses Example: write to D0, D5 uses disks 0, 1, 3, 4

EE898 Lec /22/04 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

EE898 Lec /22/04 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

EE898 Lec /22/04 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

EE898 Lec /22/04 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 response 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

EE898 Lec /22/04 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 (traditionally µ(avg. service rate) = 1/ T ser ) userver utilization (0..1): u = r x 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 server = rate x Time server (Mean number customers = arrival rate x mean service time) ProcIOCDevice Queue server System

EE898 Lec /22/04 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 accommodates 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

EE898 Lec /22/04 A Little Queuing Theory Server spends variable amount of time with customers –Weighted mean m1 = (f1 x T1 + f2 x T fn x Tn)/F (F=f1 + f2...), where Ti is the time for task i and Fi is the frequency of i –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 2 = variance/m1 2 »Unitless measure (100 ms 2 vs. 0.1 s 2 ) Exponential distribution C 2 = 1 : most short relative to average, few others long; 90% < 2.3 x average, 63% < average Hypoexponential distribution C 2 90% < 2.0 x average, only 57% < average Hyperexponential distribution C 2 > 1 : further from average C 2 =2.0 => 90% < 2.8 x average, 69% < average ProcIOCDevice Queue server System Avg.

EE898 Lec /22/04 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+...) 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 2 ) –No variance => C 2 = 0 => m1(z) = 1/2 x m1 ProcIOCDevice Queue server System

EE898 Lec /22/04 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

EE898 Lec /22/04 A Little Queuing Theory: M/G/1 and M/M/1 Assumptions so far: –System in equilibrium, number sources of requests unlimited –Time between two successive arrivals in line are exponentially distrib. –Server can start on next customer immediately after prior finishes –No limit to the queue: works First-In-First-Out "discipline" –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

EE898 Lec /22/04 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

EE898 Lec /22/04 A Little Queuing Theory: Another Example processor sends 20 x 8KB disk I/Os per sec, requests & service exponentially distrib., avg. disk service = 12 ms On average, how utilized is the disk? –What is the number of requests in the queue? –What is the average time a spent in the queue? –What is the average response time for a disk request? Notation: raverage number of arriving customers/second= 20 T ser average time to service a customer= 12 ms userver utilization (0..1): u = r x T ser = /s x. s = T q average time/customer in queue = T s er x u / (1 – u) = x /( ) = x = ms T sys average time/customer in system: T sys =T q +T ser = 16 ms L q average length of queue:L q = r x T q = /s x s = requests in queue L sys average # tasks in system : L sys = r x T sys = /s x s =

EE898 Lec /22/04 A Little Queuing Theory: Another Example processor sends 20 x 8KB disk I/Os per sec, requests & service exponentially distrib., avg. disk service = 12 ms On average, how utilized is the disk? –What is the number of requests in the queue? –What is the average time a spent in the queue? –What is the average response time for a disk request? Notation: raverage number of arriving customers/second= 20 T ser average time to service a customer= 12 ms userver utilization (0..1): u = r x T ser = 20/s x.012s = 0.24 T q average time/customer in queue = T s er x u / (1 – u) = 12 x 0.24/(1-0.24) = 12 x 0.32 = 3.8 ms T sys average time/customer in system: T sys =T q +T ser = 15.8 ms L q average length of queue:L q = r x T q = 20/s x.0038s = requests in queue L sys average # tasks in system : L sys = r x T sys = 20/s x.016s = 0.32