Study-unit Code
In all curricula
Osvaldo Gervasi
  • Osvaldo Gervasi
  • 78 ore - Osvaldo Gervasi
Course Regulation
Coorte 2021
Learning activities
Discipline informatiche
Academic discipline
Type of study-unit
Obbligatorio (Required)
Type of learning activities
Attività formativa monodisciplinare
Language of instruction
Introduction to High Performance Computing (HPC) and High Throughput Computing (HTC); design, implementation and Cluster management. High availability and scalable services. The Condor project for  High Throughput Computing. GPGPU Computing; OpenCL. Matrix Calculations and Image Filters on GPGPU; Cloud Computing. Software Platforms for Cloud; Building Deep Learning and Big Data Analysis infrastructures.
Reference texts
1. J. Garrison and K. Nova, Cloud Native Infrastructure-Patterns for Scalable Infrastructure and Applications in a Dynamic Environment, O’Reilly and Associates, 2018, ISBN: 978-1-492-03969-3
2. R. Buyya, J. Broberg, A. M. Goscinsky: Cloud Computing: Principles and Paradigms, Wiley, 2011, ISBN 978-0-470-88799-8
3. Teaching material provided by the teacher, including bibliographic references
Educational objectives
The main objective of the course is to introduce students to the immplementation of emerging systems that underlie the creation of data centers and allow to deploy applications and services in high availability and load balancing environments. Furthermore, some of the presented environments are fundamental for the advance of knowledge and science and for deploying modern services, including the mobile ones. 
The main knowledge gained will be:
• design and implementation of Clusters: main issues, installation and configuration methods
• High availability services and High Performance Platforms
• The Condor project for building High Throughput Clusters
• GPGPU Computing and OpenCL language: improving applications performances.
• Cloud Computing: design and implementation of hybrid clouds. 
• Data Analysis: Deep Learning and Big Data Analysis
The main acquired skills (i.e. the ability to apply the knowledge) are:
• design and implementation of a Cluster, solving the most critical issues
• design of internet services and application on high availability environments
• GPGPU Computing for improving performances of applications and Multi/many core systems.
• planning and implementing an hybrid cloud environment
• Data Analysis: implementing infrastructures for Deep Learning and Big Data Analysis
No prerequisites are required to the student to attend the course; however the knowledge related to designing and implementing Internet Services it  is expected to be known by all students.
A strong knowledge of open source operating systems like Linux facilitates the acquisition of the concepts presented during classes.
Furthermore, examples and use cases will be presented, aimed at facilitating the learning of the concepts covered during classes.
Teaching methods
Lectures using multimedia tools (slides, video, etc). Exercise in the computer room.
In case of lockdown the lessons and exercises will be delivered remotely.
Learning verification modality
The exam includes an oral examination of about 10 minutes in which the student must present the reports concerning the laboratory activities and demonstrate the mastery of the required concepts, an adequate property of language and the ability to organize the concepts to be presented in a suitable way.
Extended program
The course introduces students to modern technologies that allow the creation of data centers and to deliver applications in environments of high reliability and load balancing. In particular the following arguments will be presented:
Introduction to High Performance Computing (HPC) and High Throughput Computing (HTC); Beowulf clusters; design and implementation of Clusters. OpenMosix, Oscar, Roks; Scalable services; Hgh Availability Clusters: Heartbeat, Corosync, PaceMaker. Condor: installation, implementatation and design of  High Throughput Clusters. Metacomputing environments; Grid Computing environments; Grid architecture;high performance networks; parallel I /O on Cluster and Grid environments.  GPGPU Computing. OpenCL program language. Cloud Computing: introduction and implementation of an hybrid cloud.
Condividi su