Queuing Theory: from Markov Chains to Multi-Server Systems
About this courseSkip About this course
Situations where resources are shared among users appear in a wide variety of domains, from lines at stores and toll booths to queues in telecommunication networks. The management of these shared resourcescan have direct consequences on users,whether it be waiting times or blocking probabilities.
In this course, you'll learn how to describe a queuing system statistically, how to model the random evolution of queue lengths over time and calculate key performance indicators, such as an average delay or a loss probability.
This course is aimed at engineers, students and teachers interested in network planning.
Practical coursework will be carried out using ipython notebooks on a Jupyterhub server which you will be given access to.
"Great MOOC ! The videos, which are relatively short, provide a good recap on Markov chains and how they apply to queues. The quizzes work well to check if you've understood." Loïc, beta-tester
"The best MOOC on edX! I'm finishing week 2 and I've never seen that much care put in a course lab! And I love these little gotchas you put into quizzes here and there! Thank you!" rka444, learner from Session 1, February - March 2018
At a glance
- Language: English
- Video Transcript: English
- Associated skills:Telecommunications, Queue Management Systems, Probability, Planning, Queueing Theory, Key Performance Indicators (KPIs), IPython, Markov Chain, Basic Math, Software Release Life Cycle
What you'll learnSkip What you'll learn
- Characterize a queue, based on probabilistic assumptions about arrivals and service times, number of servers, buffer size and service discipline
- Describe the basics of discrete time and continuous time Markov chains
- Model simple queuing systems, e.g. M/M/1 or M/M/C/C queues, as continuous time Markov chains
- Compute key performance indicators, such as an average delay, a resource utilization rate, or a loss probability, in simple single-server or multi-server system
- Design queuing simulations with the Python language to analyze how systems with limited resources distribute them between customers
This is a five week course :
- Week 1 is an introduction to queuing theory. We will introduce basic notions such as arrivals and departures. Particular attention will be paid to the Poisson process and to exponential distribution, two important particular cases of arrivals and service times.
- During week 2 we will analyze a first simple example of a no-loss queue , the so called M/M/1 queue, and we will compute its average performance metrics.
- Week 3 will be dedicated to a basic course in discrete time Markov chains. We will learn how they are characterized and how to compute their steady-state distribution.
- Then in week 4 we will move on to continuous time Markov chains. Again we will learn how to characterize them and how to analyze their steady-state distribution. Equipped with these tools we will then analyze the M/M/1 queue.
- In week 5 we will study multiserver and finite capacity queues and study how to dimension a loss network.
Each week of the course will include five or six video lectures, a quiz to test your understanding of the main concepts introduced during that week and a lab using python.