Advanced Computer Architectures

Objectives

  • Characterise key performance-related concepts in multicore and manycore device architectures
  • Characterise critical concepts in the organisation of homogeneous and heterogeneous servers
  • Understand on- and off-die interconnecting network topologies in supercomputers
  • Identify emergent technologies and contextualise their contributions within the larger advanced computing ecosystem
  • Analyse real-world examples of successful high-performance architectures
  • Assess the impact of architectural elements on the performance and energy efficiency of parallel code

Program

  • Multicore architectures, focusing on instruction-level parallelism, out-of-order execution, and pipelining
  • SIMD and MIMD paradigms, vector processing and the memory hierarchy
  • Comparison between x86 and ARM-based multicore architectures
  • Manycore accelerators and their different programming models
  • Device organisation on homogeneous and heterogeneous servers with accelerators, assessing the performance impact of NUMA, PCI-E and CXL interconnections
  • Energy and sustainability concerns on supercomputing architectures
  • Resource-disaggregated computing architectures and other emergent technologies
  • Overview of leading large-scale supercomputers and future trends in advanced computing

Bibliography

  • Computer Organization and Design RISC-V Edition: The Hardware/Software Interface, David Patterson and John Hennessy, Morgan Kaufmann, 2020
  • Computer Architecture: a Quantitative Approach, David Patterson and John Hennessy, Morgan Kaufmann, 2017
  • Introduction to High Performance Scientific Computing, 2nd Edition, Victor Eijkhout, 2010
  • CUDA for Engineers: An Introduction to High-Performance Parallel Computing, Duane Storti and Mete Yurtoglu, 2015

Updated: