160 likes | 179 Views
Explore queuing theory basics, M/M/1 models, Little's Law, and simulation techniques for analyzing system performance. Learn how to calculate utilization, average job wait time, and queue length for different scenarios. Understand the importance of the arrival and service processes in operating systems design.
E N D
Lab Assignment 1COP 4600: Operating Systems Principles Dr. Sumi Helal Professor Computer & Information Science & Engineering Department University of Florida, Gainesville, FL 32611 helal@cise.ufl.edu
Lecture Overview • Go over Lab Assignment 1, one more time. • Queuing Theory 101 • Simulation 101
Assignment • Simulate a single queue/single server system, with a FIFO queuing discipline • Report on the performance of the system • Compare with analytic models. • λ = arrival rate, follows an arrival process • μ = service rate, follows a service process • ρ = utilization = λ/μ μ λ
Queuing Theory 101 • Must already know: • Random Variables • Basics of Probability • Today, we will study & learn: • Probabilistic Processes • Little Law • M/M/1 analytic models
Exponential Process • Suitable for describing time between successive events (e.g., arrival, service). T is a continuous Random Number
Example • Assume average time between arrival (or average inter-arrival time) is 45 sec. • Question: what is the prob. that inter-arrival time is > 60 sec.? • Answer:
Poisson Process • Poisson is suitable for describing arrivals or occurrence of events. • Describes prob. of n arrivals in any time interval. • If arrival process follows Poisson distribution, then the random variable representing inter-arrival time must follow the Exponential distribution.
Quiz • To make sure you follow so far, answer the following question: • Prove that the probability that inter-arrival times are greater than the average inter-arrival time (that is > 1/λ), is 0.37, for any exponential distribution.
Definitions • W = Average job wait time in the queue • L = Average queue length • N = Throughput (number of jobs completed per unit time)
3 3 Time in System (W) 2 2 1 1 1 2 3 Job# (N) Little’s Law: • Proof: • Shaded area is identical (=9 in example) # in System (L) 1 2 3 4 5 6 7 Time (T)
Analytic Solutions • Utilizing Little Law • Utilization: • L: • W: • Quiz to check if you understand the implication of ρ • Calculate L and W for ρ=0.09 (system under-utilized) • Calculate the same for ρ=0.90 (system highly utilized) • Calculate the same for ρ=0.999 (system over-utilized)
Effect of ρ – A Reality that Must be considered in any Operating System Design
Simulation 101 • You have two independent events • At end of processing an independent event, you must re-generate it. • All future events generated should be put in an event list. • Simulation loop simply finds the next event that will take place sooner in the future; remove it & process it. And yes, advance the clock to that selected next event.
Simulation 101 • At each new iteration in the simulation loop you check for exist criterion. • You most update your counters and statistics every time: • The Clock is changed • A new job enters the system • A job exits the system • When the simulation loop exits.
Simulation 101 • Generating exponentially distributed random variables: • Use inverse inverse transform sampling as follows: • X is RV with standard Uniform distribution [0,1], then follows the exponential distribution with average arrival rate .