CSE 4201, Ch. 6. Storage Systems. Hennessy and Patterson

Similar documents
Redundant Array of Independent Disks

CPSC 531: System Modeling and Simulation. Carey Williamson Department of Computer Science University of Calgary Fall 2017

Redundant Array of Independent Disks

FAULT TOLERANT SYSTEMS

Exercises Solutions. Automation IEA, LTH. Chapter 2 Manufacturing and process systems. Chapter 5 Discrete manufacturing problems

Performance Evaluation of Queuing Systems

Queueing Theory. VK Room: M Last updated: October 17, 2013.

BIRTH DEATH PROCESSES AND QUEUEING SYSTEMS

416 Distributed Systems

Queueing Theory I Summary! Little s Law! Queueing System Notation! Stationary Analysis of Elementary Queueing Systems " M/M/1 " M/M/m " M/M/1/K "

Introduction to Queuing Theory. Mathematical Modelling

Introduction to queuing theory

Module 5: CPU Scheduling

57:022 Principles of Design II Final Exam Solutions - Spring 1997

Exercises Stochastic Performance Modelling. Hamilton Institute, Summer 2010

NEC PerforCache. Influence on M-Series Disk Array Behavior and Performance. Version 1.0

Session-Based Queueing Systems

QUEUING SYSTEM. Yetunde Folajimi, PhD

Queuing Theory. 3. Birth-Death Process. Law of Motion Flow balance equations Steady-state probabilities: , if

CS 798: Homework Assignment 3 (Queueing Theory)

Chapter 3 Balance equations, birth-death processes, continuous Markov Chains

5/15/18. Operations Research: An Introduction Hamdy A. Taha. Copyright 2011, 2007 by Pearson Education, Inc. All rights reserved.

Chapter 6: CPU Scheduling

Queuing Theory. Using the Math. Management Science

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Science

IOE 202: lectures 11 and 12 outline

Queueing systems. Renato Lo Cigno. Simulation and Performance Evaluation Queueing systems - Renato Lo Cigno 1

Queuing Networks: Burke s Theorem, Kleinrock s Approximation, and Jackson s Theorem. Wade Trappe

Introduction to Queueing Theory with Applications to Air Transportation Systems

Basic Queueing Theory

Lecture 20: Reversible Processes and Queues

QUEUING MODELS AND MARKOV PROCESSES

Link Models for Circuit Switching

Queues and Queueing Networks

Outline. Finite source queue M/M/c//K Queues with impatience (balking, reneging, jockeying, retrial) Transient behavior Advanced Queue.

Contents Preface The Exponential Distribution and the Poisson Process Introduction to Renewal Theory

Analysis of A Single Queue

PBW 654 Applied Statistics - I Urban Operations Research

Introduction to Queuing Networks Solutions to Problem Sheet 3

Availability. M(t) = 1 - e -mt

Readings: Finish Section 5.2

CS162 Operating Systems and Systems Programming Lecture 17. Performance Storage Devices, Queueing Theory

reversed chain is ergodic and has the same equilibrium probabilities (check that π j =

Discrete-event simulations

Networking = Plumbing. Queueing Analysis: I. Last Lecture. Lecture Outline. Jeremiah Deng. 29 July 2013

Scheduling I. Today Introduction to scheduling Classical algorithms. Next Time Advanced topics on scheduling

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

Performance Modelling of Computer Systems

Systems Simulation Chapter 6: Queuing Models

Operational Laws Raj Jain

Analysis of Software Artifacts

λ 2 1 = 2 = 2 2 2P 1 =4P 2 P 0 + P 1 + P 2 =1 P 0 =, P 1 =, P 2 = ρ 1 = P 1 + P 2 =, ρ 2 = P 1 + P 2 =

Glossary availability cellular manufacturing closed queueing network coefficient of variation (CV) conditional probability CONWIP

Continuous-Time Markov Chain

SOLUTIONS IEOR 3106: Second Midterm Exam, Chapters 5-6, November 8, 2012

Time Reversibility and Burke s Theorem

TDDI04, K. Arvidsson, IDA, Linköpings universitet CPU Scheduling. Overview: CPU Scheduling. [SGG7] Chapter 5. Basic Concepts.

GI/M/1 and GI/M/m queuing systems

Queueing Theory II. Summary. ! M/M/1 Output process. ! Networks of Queue! Method of Stages. ! General Distributions

Queueing Review. Christos Alexopoulos and Dave Goldsman 10/6/16. (mostly from BCNN) Georgia Institute of Technology, Atlanta, GA, USA

CDA5530: Performance Models of Computers and Networks. Chapter 4: Elementary Queuing Theory

Reliable Computing I

IEOR 6711, HMWK 5, Professor Sigman

Queueing Review. Christos Alexopoulos and Dave Goldsman 10/25/17. (mostly from BCNN) Georgia Institute of Technology, Atlanta, GA, USA

LECTURE #6 BIRTH-DEATH PROCESS

IEOR 6711: Stochastic Models I, Fall 2003, Professor Whitt. Solutions to Final Exam: Thursday, December 18.

Variance reduction techniques

Q = (c) Assuming that Ricoh has been working continuously for 7 days, what is the probability that it will remain working at least 8 more days?

YORK UNIVERSITY FACULTY OF ARTS DEPARTMENT OF MATHEMATICS AND STATISTICS MATH , YEAR APPLIED OPTIMIZATION (TEST #4 ) (SOLUTIONS)

Figure 10.1: Recording when the event E occurs

IEOR 4106: Spring Solutions to Homework Assignment 7: Due on Tuesday, March 22.

Stochastic Models in Computer Science A Tutorial

Page 1. Outline. Modeling. Experimental Methodology. ECE 254 / CPS 225 Fault Tolerant and Testable Computing Systems. Modeling and Evaluation

Scheduling I. Today. Next Time. ! Introduction to scheduling! Classical algorithms. ! Advanced topics on scheduling

Slides 9: Queuing Models

Lecture 7: Simulation of Markov Processes. Pasi Lassila Department of Communications and Networking

Section 3.3: Discrete-Event Simulation Examples

Page 1. Outline. Experimental Methodology. Modeling. ECE 254 / CPS 225 Fault Tolerant and Testable Computing Systems. Modeling and Evaluation

Operations Research II, IEOR161 University of California, Berkeley Spring 2007 Final Exam. Name: Student ID:

Computer Networks More general queuing systems

A FAST MATRIX-ANALYTIC APPROXIMATION FOR THE TWO CLASS GI/G/1 NON-PREEMPTIVE PRIORITY QUEUE

An Algorithm for a Two-Disk Fault-Tolerant Array with (Prime 1) Disks

15 Closed production networks

Stochastic process. X, a series of random variables indexed by t

Computer Systems Modelling

Probabilistic Systems Analysis Spring 2018 Lecture 6. Random Variables: Probability Mass Function and Expectation

Ways to study a system System

6 Solving Queueing Models

Computer Systems Modelling

Introduction to Queueing Theory

Simulation. Where real stuff starts

Chapter 6 Queueing Models. Banks, Carson, Nelson & Nicol Discrete-Event System Simulation

Introduction to Queueing Theory

CPU Scheduling. CPU Scheduler

Buzen s algorithm. Cyclic network Extension of Jackson networks

Reading: Karlin and Taylor Ch. 5 Resnick Ch. 3. A renewal process is a generalization of the Poisson point process.

M/G/1 and M/G/1/K systems

Queue Decomposition and its Applications in State-Dependent Queueing Systems

Classification of Queuing Models

Queueing Systems: Lecture 3. Amedeo R. Odoni October 18, Announcements

Transcription:

CSE 4201, Ch. 6 Storage Systems Hennessy and Patterson

Challenge to the Disk The graveyard is full of suitors Ever heard of Bubble Memory? There are some technologies that refuse to die (silicon, copper...). Disk is their queen.

FLASH Memory Only serious challenger Mostly niche Same bandwidth (and increasing) Much smaller latency (2-3 orders of magnitude) Very expensive (10-100 times) Wears down with use (one million writes) Smaller, hardier, less power hungry

How the disk survives Every time there is a challenge, disks become better Microprocessors are built in (20 years ago) High level intelligent interfaces ATA, SATA, SCSI Can schedule the arm, queue the requests Include cache Now include FLASH!

Power Consumption Consume 9-13 Watts Power increases fast with Diameter (4.6 power) RPM (2.8) Number of platters SATA spin at 7200rpm Serial Attach SCSI 15,000rpm

RAID Nothing to do with piracy! Redundant Array of Independent (Inexpensive) Disks Various kinds of RAID to: Increase size Increase reliability Increase bandwidth Decrease latency

Reliability Revisited With redundant disks we can tolerate 1 disk failure... Until the disk is repaired Easy to repair: Jolt the operator with 10000 Volt He jumps and exchanges the the disk with a new one The whole procedure takes 3 seconds So what is the problem?

Size Matters When we plug in the new disk we have to restore the data If a second disk fries in the meantime we have to skip town A 1000GB disk with 0.1GB/sec bandwidth needs 10,000 seconds if there is no traffic, and the s/w was written by angels On a bad hair day, takes half a day or more Many things can happen in half a day

RAID-0 JBOD (Just a Bunch Of Disks) Concatenated in a single logical volume Or Striped. Striping has better performance and uniform wear. Most home NAS have it.

RAID-1 Mirroring or Shadowing Works with two disks Oldest and simplest redundancy scheme Fast reads Slow(er) writes Most home NAS have it

RAID-2 Obsolete Multiple disks with ECC Disks do not need to report if they are alive

RAID-3 N disks plus parity Every page is striped over N disks The last disk contains the parities If a disk fails we can infer its contents from the good disks and the parity Bit-interleaved parity High bandwidth, easy to check Latency is the latency of the slowest

RAID-4 Optimized for small reads Block interleaved parity Small reads independent of each other Writes involve two reads and two writes: Read affected block and parity Compute the new parity Write the affected block and the parity Increased workload on parity disk

RAID-5 To reduce workload on parity disk, rotate: Stripe zero: parity is on disk-0 Stripe one: parity is on disk-1... Stripe nine: parity is on disk-0

RAID-6 AKA RAID-DP, diagonal parity Can handle two failures Disk-0 0 1 2 3 Disk-1 Disk-2 Disk-3 Row parity Diag. parity 1 2 2 3 3 4 4 0 3 4 0 1 4 0 1 2 0 1 2 3

RAID-10, RAID-01 We have eight disks, for example We can configure them as: Four pairs Called RAID-10 Two quartets Called RAID-01

Queuing Theory Used to study Telephony Traffic Interactive systems Disks Memory systems

Performance prediction Can be used to study/predict Throughput Response time Utilization Studies the complex interactions: When utilization increases Queue length increases Waiting time increases Response time increases Turnaround time increases

Analysis and Simulation Many simple problems can be studied analytically Markov chains Poisson Distribution (Not to be confused with the perfume by Christian Dior that is written with one s ) Most real problems can only be studied with simulations and empirical methods

Queuing Theory 101 Little's Law Tasks in system = arrival rate x time in system We assume steady state That is the number of jobs arriving and the number of jobs leaving the system are equal on average So the job just about to leave the system waited long enough on average to have the queue behind it filled with the average jobs in the system.

Markov Chains Consider a server that when a job arrives while it is busy, puts the job into a queue At any point in time the system has 0, 1, 2, 3, etc elements (i.e. when it has 2 elements one is being served and one is in the queue) Under Poisson assumptions it does not matter how long the job has been served It does not matter if the previous event was an arrival or departure It matters only how many jobs are in the system

Markov Chains P1 P2 P0 P3

Assumptions The probability of an event happening is independent of how long we waited to happen This is the basic assumption for Poisson processes You can think of it as follows: At every time interval dt we roll a die to decide if the event will occur The smaller the dt the better the approximation The probability of an event happening is d t

Interarrival Time To compute this beast we cut the time in n chunks The probability of an event happening is The probability of not happening n times is t n 1 t n n e t

Exponential Distribution The inter-arrival time follows the exponential distribution

Binomial Distribution What is the probability of having k events in time t? We cut the time t in n chunks The probability of having k events in the n chunks is n t k n k t 1 n n k

Poisson Distribution If we let the n go to infinity we get the Poisson distribution e t t k k!

Mean, Variance Mean Variance Coefficient of variance C=

Average Residual Service time If we look at a process at a random instant, what is the time until it finishes T ARS = 1 2 T 1C 2

Memory-less Process The fundamental assumption for us (for now) For memory-less processes the coefficient of variance is 1 The average residual time is the inverse of the rate T AR S = T

Mean Inter-arrival Time and Arrival Rate These two are the inverse of one another If we have ten arrivals in a time unit then the interarrival time is on average 1/10 of the time unit If we have a thousand disk requests per second then the inter-arrival time is a millisecond. If at a random time we use a stopwatch to time the time until the next disk request it will be A millisecond (for memory-less process)

Service Time and Completion Rate Service time is the time it takes the server to service the task You knew that! If the server has enough tasks in the queue to keep busy, then the number of tasks it completes per unit time is The completion rate You could have guessed that!

Alternative Nomenclature Arrival Rate aka Birth Rate Completion Rate aka Death Rate Sometimes statisticians think they are gods.

M/M/1 systems The first M means the task arrival is memoryless (the M stands for Markov) The second M means the task completion is also memory-less (Markov) The 1 means we have one server The arrival rate is λ The completion rate is μ

Stable systems In stable M/M/1 systems the arrival rate is less than the completion rate This means that every now and then the queue will empty (statistically speaking) The length of the queue will hover around the average If the arrival rate is larger, the queue will keep increasing forever (the increase is linear) Sane people call this unstable

Server Utilization The average number of jobs arriving in a unit of time is λ The average time it takes to service a job is 1/μ The time the server was busy was =

Server Utilization Clearly ρ has to be less than one For stability For the definition to hold The server utilization is also the probability of a process finding the the server busy

Analysis of M/M/1 P1 P0 P2 P 0 t=p 1 t P 1 t =P 2 t P3 P 1 = P 0 P 2 = 2 P 0 P i = i P 0

Finding P0 We know that the probabilities sum up to 1 1= i =0 P = i i=0 P 0 =1 P 0 i =P 0 i=0 i = P 0 1 P i =1 i

Number of Tasks in the System This is the expected value of the tasks in the system We apply the formula for the expected value L = sys i =0 P i i= i=0 i 1 i =1 i =0 i i = 1

Length of the Queue State I has i-1 tasks in the queue L = q i =1 P i i 1=1 i=1 i 1 i = 2 1