ML System Optimization

ML and DL System Performance

ML and DL System Performance #

Machine learning system optimisation begins with measurement. Before changing an algorithm, adding processors, or moving work to a GPU, we need to understand what is slow, which resource is limiting performance, and how performance changes as the workload grows.

This page covers:

  • time and space complexity
  • throughput and latency
  • the relationship between workload, throughput, and latency
  • the main measurements used to describe system performance

Learning Objectives #

By the end of this page, you should be able to:

Parallel and Distributed Algorithms

Parallel and Distributed Algorithms #

Parallelisation divides computational work into parts that can execute concurrently. The purpose is to reduce completion time or increase throughput, but the gain depends on how much work is genuinely independent and how much overhead is introduced.

This page covers:

  • speedup, maximum speedup, and processor efficiency
  • Amdahl’s Law
  • data-level parallelism
  • task-level parallelism
  • algorithm-specific parallelism
  • communication, synchronisation, scheduling, and load-balancing overhead
  • parallel merge sort and matrix multiplication

Learning Objectives #

By the end of this page, you should be able to:

Parallel Programming Models

Parallel Programming Models #

Parallel algorithms need hardware that can execute independent work efficiently. Modern systems therefore combine multiple CPU cores, memory hierarchies, threads, instruction pipelines, GPUs, clusters, and specialised matrix processors.

This page covers:

  • multi-core CPU organisation
  • cache and memory hierarchy
  • processes, threads, scheduling, and synchronisation
  • instruction pipelining and clock-cycle time
  • SIMD, MIMD, and SIMT execution
  • GPGPU architecture and GPU memory behaviour
  • CPU-only and GPU-accelerated clusters
  • Tensor Processing Units and systolic arrays

Learning Objectives #

By the end of this page, you should be able to: