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