skip to primary navigationskip to content

Department of Computer Science and Technology


Course pages 2021–22

Computer Systems Modelling

Principal lecturer: Prof Srinivasan Keshav
Taken by: Part II CST 75%
Term: Lent
Hours: 16 (online lectures and 8 examples classes)
Format: Video lectures and in-person examples classes
Class limit: max. 20 students
Prerequisites: Data Science, Introduction to Probability


  1. Overview of computer systems modeling using both analytic techniques and simulation.
  2. Stochastic processes (builds on starred material in Foundations of Data Science)
    1. Discrete and continuous stochastic processes.
    2. Markov processes and Chapman-Kolmogorov equations.
    3. Discrete time Markov chains.
    4. Ergodicity and the stationary distribution.
    5. Continuous time Markov chains.
    6. Birth-death processes, flow balance equations.
    7. The Poisson process.
  3. Queueing theory
    1. The M/M/1 queue in detail.
    2. The equilibrium distribution with conditions for existence and common performance metrics.
    3. Extensions of the M/M/1 queue: the M/M/k queue, the M/M/infinity queue.
    4. Queueing networks. Jacksonian networks.
    5. The M/G/1 queue.
  4. Signals, systems, and transforms
    1. Discrete- and continuous-time convolution.
    2. Signals. The complex exponential signal.
    3. Linear Time-Invariant Systems. Modeling practical systems as an LTI system.
    4. Fourier and Laplace transforms.
  5. Control theory.
    1. Controlled systems. Modeling controlled systems.
    2. State variables. The transfer function model.
    3. First-order and second-order systems.
    4. Feedback control. PID control.
    5. Stability. BIBO stability. Lyapunov stability.
    6. Introduction to Model Predictive Control.
  6. Introduction to discrete event simulation.
    1. Simulation techniques
    2. Random number generation methods
    3. Statistical aspects: confidence intervals, stopping criteria
    4. Variance reduction techniques.




At the end of the course students should

  • Be aware of different approaches to modeling a computer system; their pros and cons
  • Understand the concept of a stochastic process and how they arise in practice
  • Be able to build simple Markov models and understand the critical modelling assumptions
  • Be able to solve simple birth-death processes
  • Understand and use M/M/1 queues to model computer systems
  • Be able to model a computer system as a linear time-invariant system
  • Understand the dynamics of a second-order controlled system
  • Design a PID control for an LTI system
  • Understand what is meant by BIBO and Lyapunov stability
  • Be aware of the issues in building a simulation of a computer system and analysing

the results obtained




There will be three in-person assessments for the course: Stochastic processes and Queueing theory: 45%; Signals, Systems, Transforms, and Control Theory: 45%; Simulation: 10%.


Reference books

  • Keshav, S. (2012)*. Mathematical Foundations of Computer Networking. Addison-Wesley.
  • Kleinrock, L. (1975). Queueing systems, vol. 1. Theory. Wiley.
  • Kraniauskas, Peter. Transforms in signals and systems. Addison-Wesley Longman, 1992.
  • Jain, R. (1991). The art of computer systems performance analysis. Wiley.