Parallel and Distributed + High Performance Computing

Faculty
Dalvan Griebler
Post-doc at Pontifical Catholic University of Rio Grande do Sul (PUCRS), and Professor at Três de Maio Educational Society (SETREM).
Course length
Duration
Total hours
Credits
Language
Course type
Fee for single course
Fee for degree students
Skills you’ll learn
Overview
This course aims to provide a background of high-performance computing (HPC) in shared and distributed parallel programming environments. Students will learn about the current HPC architectures environments (cluster, multicore, and accelerators) and how to program clusters and multicores systems.
They will also learn how to analyze the application’s performance, and identify opportunities for accelerating their code, concerning memory, CPU, network, and I/O resources. The course will introduce the main structured parallel programming strategies (Master/Worker, Farm, Pipeline, and MapReduce), and framework/libraries for expressing parallelism (MPI, Intel TBB, and OpenMP).
The main challenges with load balancing, message passing, and data races will be approached. Finally, emergent tools/solutions for HPC will be studied and discussed during an interactive seminary, mainly focusing in big data and data stream applications.
Learning highlights
- Learn about HPC systems and applications
- Parallel Programming for different paradigms (shared and distributed memory architectures)
- Identify performance bottlenecks
- Use a structured parallel programming approach to express parallelism
- Use and learn the mainstream and well established parallel programming libraries/frameworks
- Learn new and emergent tools for HPC systems and applications
Course outline
4 classes
Introduction to High-Performance Architectures and Applications
Current high-performance architectures, such as Cluster, Multicore, and Accelerators. Introduction to real-world applications that requires HPC, and the exascale challenge.
Performance Analysis and Evaluation
Performance metrics, performance tracing and analysis. Characterisation of the applications’ performance. Bottlenecks and critical issues for performance scaling. Simple alternatives to visualise and identify performance problems.
Structured Parallel Programming
Algorithmic Skeletons and Parallel Design Patterns. Separation of concerns, patterns and strategies for parallel programming.
Parallel Programming for Multi-Core
Introduction to the shared memory parallel programming paradigm: Thread; lock and lock-free synchronisation mechanisms; race conditions, performance optimisations with load balancing and scheduling, cache efficiency, memory locality, and state-of-the-art libraries/frameworks.
Course materials
Books
Prerequisites
This course is one of three in a wholistic series.
Students that have already taken MSL-111 and those with prior experience with HTML, CSS, and Javascript building simple web pages will be good candidates for this module.
Dalvan Griebler holds the Master's Degree in Computer Science from the Pontifical Catholic University of Rio Grande do Sul - PUCRS (2012) in the area of Parallel and Distributed Processing (PDP), Ph.D. in Informatics by Università di Pisa - UNIPI (2016) in the area of Parallel Programming Models, and PhD in Computer Science by PUCRS (2016) in the area of PDP. He is currently a professor and postdoctoral fellow at PUCRS in the Computer Science Graduate Programme (PPGCC), an associate researcher in the Parallel Applications Modeling Group - GMAP, and a professor at Três de Maio Educational Society - SETREM in Brazil.
He was the founder and is currently the coordinator of the Laboratory of Advanced Researches on Cloud Computing - LARCC at SETREM. He also performs other several research activities such as being reviewer/chief-editor of international journals, programme committee of international conferences, and organizer of conferences and workshops. He recently started lecturing two courses (Structured Parallel Programming, and Heterogeneous Parallel Programming) in the Master and PhD programme in Computer Science at PUCRS. He has been a referee on several situations regarding research projects and dissertations. Moreover, he has been keynote speaker and lecture of short period courses in Brazilian congresses
See full profileApply for this course
Parallel and Distributed + High Performance Computing
by Dalvan Griebler
Total hours
45 Hours
Dates
May 21 - Jun 08, 2018
Fee for single course
€1500
Fee for degree students
€750
How to secure your spot
Complete the form below to kickstart your application
Schedule your Harbour.Space interview
If successful, get ready to join us on campus
FAQ
Will I receive a certificate after completion?
Yes. Upon completion of the course, you will receive a certificate signed by the director of the program your course belonged to.
Do I need a visa?
This depends on your case. Please check with the Spanish or Thai consulate in your country of residence about visa requirements. We will do our part to provide you with the necessary documents, such as the Certificate of Enrollment.
Can I get a discount?
Yes. The easiest way to enroll in a course at a discounted price is to register for multiple courses. Registering for multiple courses will reduce the cost per individual course. Please ask the Admissions Office for more information about the other kinds of discounts we offer and what you can do to receive one.