High Performance Computing (532AA, 9 CFU)




Course objectives. The course deals with two interrelated issues in high-performance computing: i) fundamental concepts and techniques in parallel computation structuring and design, including parallelization methodologies and paradigms, parallel programming models, their implementation, and related cost models; ii) architectures of high-performance computing systems, including shared-memory multiprocessors, distributed-memory multicomputers, GPUs, clusters, and others. Both issues are studied in terms of structural models, static and dynamic support to computation and programming models, performance evaluation, capability for building complex and heterogeneous applications and/or enabling platforms, also through examples of application cases. Technological features and trends are studied, in particular multi-/many-core technology and high-performance networks.

Course topics. The course is structured into two parts:

• Structuring and Design Methodology for Parallel Applications: structured parallelism at applications and processes levels, cost models, impact of communications, parallel computations as queueing systems/queueing networks, parallel paradigms (Pipeline, Data-Flow, Farm, Data Parallel), parallel systems at the firmware level, instruction level parallelism (Pipeline, Superscalar, Multithreaded CPUs);

• Parallel Architectures: shared-memory multiprocessors (SMP and NUMA architectures), distributed-memory multicomputers (Clusters and MPP architectures), SIMDs, GPUs, runtime support to inter-process communication, interconnection networks, performance evaluation and multicore architectures.

Textbook. M. Vanneschi, High Performance Computing: Parallel Processing Models and Architectures. Pisa University Press, 2014. The book is integrated with an errata corrige. The appendix of the textbook contains a detailed review of basic concepts and techniques in Structured Computer Architecture.

Teaching modality. Teaching lectures are given in person according to the official timetable. All lectures will be recorded through Microsoft Teams. If possible (not guaranteed), the online streaming will be given through Microsoft Teams.

Microsoft Teams. Student can subscribe to the official Team of the course using their UNIPI credentials. Use the following code to join the Team: svutntx

Question Time. Official slot is every Tuesday 11:00-13:00. Please send an email to the professor before attending. Question time can be given through Microsoft Teams or in presence in my office.

Course material: The course material (e.g., slides, homeworks, solutions of exams) will be published in the Team of the course.

© Gabriele Mencagli