Computer Laboratory

Course pages 2017–18

Introduction to networking and systems measurements

Principal lecturers: Dr Andrew Moore, Dr Noa Zilberman
Taken by: MPhil ACS, Part III
Code: L50
Hours: 16 (6 lectures and 10 supervised laboratory sessions (guided tutorials/practicals))
Prerequisites: Undergraduate courses in digital communication

Aims

Systems research refers to the study of a broad range of behaviours arising from complex system design, including: resource sharing and scheduling; interactions between hardware and software; network topology, protocol and device design and implementation; low-level operating systems; Interconnect, storage and more. This module will:

  1. Teach performance characteristics and performance measurement methodology and practice through profiling experiments;
  2. Expose students to real-world systems artefacts evident through different measurement tools;
  3. Develop scientific writing skills through a series of laboratory reports;
  4. Provide research skills for characterization and modelling of systems and networks using measurements.

Prerequisites

It is strongly recommended that students have previously (and successfully) completed an undergraduate networking course -- or have equivalent experience through project or open-source work.

Syllabus

  • Introduction to performance measurements, performance characteristics [1 lecture]
  • Performance measurements tools and techniques [2 lectures + 2 lab sessions]
  • Reproducible experiments [1 lecture + 1 lab session]
  • Common pitfalls in measurements [1 lecture]
  • Device and system characterisation [1 lecture + 2 lab sessions]

Objectives

On completion of this module, students should:

  • Describe the objectives of measurements, and what they can achieve;
  • Characterise and model a system using measurements;
  • Perform reproducible measurements experiments;
  • Evaluate the performance of a system using measurements;
  • Operate measurements tools and be aware of their limitations;
  • Detect anomalies in the network and avoid common measurements pitfalls;
  • Write system-style performance evaluations.

Practical work

Five 2-hour in-classroom labs will ask students to develop and use skills in performance measurements as applied to real-world systems and networking artefacts. Results from these labs (and follow-up work by students outside of the classroom) will by the primary input to lab reports.

The first three labs will provide an introduction and hands on experience with measurement tools and measurements methodologies, while the last two labs will focus on practical measurements and evaluation of specific platforms. Students may find it useful to work in pairs within the lab, but must prepare lab reports independently. The module lecturer will give a short introductory at the start of each lab, and instructors will be on-hand throughout labs to provide assistance.

Lab participation is not directly included in the final mark, but lab work is a key input to lab reports that are assessed. Guided lab experiments resulting in 4 practical write ups.

Assessment

Each student will write two lab reports. The first lab report will summarise the experiments done in the first three labs (20%). The second will be a lab report (5000 words) summarising the evaluation of a device or a system (80%).

Recommended reading

The following list provides some background to the course materials, but is not mandatory. A reading list, including research papers, will be provided in the course materials.

  • George Varghese. Network algorithmics. Chapman & Hall/CRC, 2010.
  • Mark Crovella and Balachander Krishnamurthy. Internet measurement: infrastructure, traffic and applications. John Wiley & Sons, Inc., 2006.
  • Brendan Gregg. Systems Performance: Enterprise and the Cloud, Prentice Hall Press, Upper Saddle River, NJ, USA, October 2013.
  • Raj Jain, The Art of Computer Systems Performance Analysis: Techniques for Experimental Design, Measurement, Simulation, and Modeling, Wiley - Interscience, New York, NY, USA, April 1991.