CPE 619 Introduction to Queuing TheoryOverviewQueueing Models: What Will You Learn?Basic Components of a QueueKendall Notation A/S/m/B/K/SDArrival ProcessService Time DistributionService DisciplinesCommon DistributionsExample: M/M/3/20/1500/FCFSGroup Arrivals/ServiceKey VariablesKey Variables (cont’d)Slide 14Rules for All QueuesRules for All Queues (cont’d)Slide 17Little's LawProof of Little's LawApplication of Little's LawExample 30.3Stochastic ProcessesTypes of Stochastic ProcessesDiscrete/Continuous State ProcessesMarkov ProcessesBirth-Death ProcessesPoisson ProcessesPoisson Processes (cont’d)Poisson Process (cont’d)Relationship Among Stochastic ProcessesSummaryAnalysis of A Single QueueSlide 33Slide 34Birth-Death Processes (cont’d)Theorem: State ProbabilityProofProof (cont’d)Slide 39Slide 40Slide 41M/M/1 QueueResults for M/M/1 QueueResults for M/M/1 Queue (cont’d)Slide 45Slide 46Slide 47Slide 48Slide 49Example 31.2Example 31.2 (cont’d)Slide 52Slide 53M/M/m QueueHomework #7CPE 619Introduction to Queuing TheoryAleksandar MilenkovićThe LaCASA LaboratoryElectrical and Computer Engineering DepartmentThe University of Alabama in Huntsvillehttp://www.ece.uah.edu/~milenkahttp://www.ece.uah.edu/~lacasa2OverviewQueueing NotationRules for All QueuesLittle's LawTypes of Stochastic Processes3Queueing Models: What Will You Learn?What are various types of queues?What is meant by an M/M/m/B/K queue?How to obtain response time, queue lengths, and server utilizations?How to represent a system using a network of several queues?How to analyze simple queueing networks?How to obtain bounds on the system performance using queueing models?How to obtain variance and other statistics on system performance?How to subdivide a large queueing network model and solve it?4Basic Components of a Queue1. Arrival process6. Service discipline2. Service time distribution4. Waiting positions3. Number of servers5. Customer PopulationExample: students at a typical computer terminal roomwith a number of terminals. If all terminals are busy,the arriving students wait in a queue.5Kendall Notation A/S/m/B/K/SDA: Arrival processS: Service time distribution m: Number of serversB: Number of buffers (system capacity) K: Population size, and SD: Service discipline6Arrival ProcessArrival times: Interarrival times: j form a sequence of Independent and Identically Distributed (IID) random variablesThe most common arrival process: Poisson arrivalsInter-arrival times are exponential + IID Poisson arrivalsNotation:M = Memoryless = PoissonE = ErlangH = Hyper-exponentialG = General Results valid for all distributions7Service Time DistributionTime each student spends at the terminalService times are IIDDistribution: M, E, H, or GDevice = Service center = Queue Buffer = Waiting positions8Service DisciplinesFirst-Come-First-Served (FCFS) Last-Come-First-Served (LCFS)Last-Come-First-Served with Preempt and Resume (LCFS-PR)Round-Robin (RR) with a fixed quantum.Small Quantum Processor Sharing (PS)Infinite Server: (IS) = fixed delayShortest Processing Time first (SPT)Shortest Remaining Processing Time first (SRPT)Shortest Expected Processing Time first (SEPT)Shortest Expected Remaining Processing Time first (SERPT).Biggest-In-First-Served (BIFS)Loudest-Voice-First-Served (LVFS)9Common DistributionsM: ExponentialEk: Erlang with parameter kHk: Hyper-exponential with parameter kD: Deterministic constantG: General AllMemoryless: Expected time to the next arrival is always 1/ regardless of the time since the last arrivalRemembering the past history does not help10Example: M/M/3/20/1500/FCFS Time between successive arrivals is exponentially distributedService times are exponentially distributedThree servers20 Buffers = 3 service + 17 waitingAfter 20, all arriving jobs are lostTotal of 1500 jobs that can be servicedService discipline is first-come-first-servedDefaults:(Only the first 3 parameters are sufficient to indicate the type)Infinite buffer capacityInfinite population sizeFCFS service discipline G/G/1 = G/G/1/1/1/FCFS11Group Arrivals/ServiceBulk arrivals/serviceM[x]: x represents the group sizeG[x]: a bulk arrival or service process with general inter-group timesExamples:M[x]/M/1 : Single server queue with bulk Poisson arrivals and exponential service times M/G[x]/m: Poisson arrival process, bulk service with general service time distribution, and m servers12Key Variables12mPreviousArrival ArrivalBeginServiceEndService w srnnqns Time13Key Variables (cont’d) Inter-arrival time = time between two successive arrivals Mean arrival rate = 1/E[]May be a function of the state of the system, e.g., number of jobs already in the systems = Service time per job= Mean service rate per server = 1/E[s]Total service rate for m servers is mn = Number of jobs in the system. This is also called queue length Note: Queue length includes jobs currently receiving service as well as those waiting in the queue14Key Variables (cont’d)nq = Number of jobs waitingns = Number of jobs receiving servicer = Response time or the time in the system = time waiting + time receiving servicew = Waiting time = Time between arrival and beginning of service15Rules for All QueuesRules: The following apply to G/G/m queues1. Stability Condition: < mFinite-population and the finite-buffer systems are always stable2. Number in System versus Number in Queue:n = nq+ nsNotice that n, nq, and ns are random variables. E[n]=E[nq]+E[ns]If the service rate is independent of the number in the queue, Cov(nq,ns) = 016Rules for All Queues (cont’d)3. Number versus Time: If jobs are not lost due to insufficient buffers, Mean number of jobs in the system = Arrival rate Mean response time4. Similarly, Mean number of jobs in the queue = Arrival rate Mean waiting timeThis is known as Little's law.5. Time in System versus Time in Queue r = w + sr, w, and s are random variablesE[r] = E[w] + E[s]17Rules for All Queues (cont’d)6. If the service rate is independent of the number of jobs in the queue, Cov(w,s)=018Little's LawMean number in the system = Arrival rate Mean response time This relationship applies to
View Full Document