Unit DISTRIBUTED AND PARALLEL SYSTEMS

Course
Informatics
Study-unit Code
A002069
Curriculum
In all curricula
Teacher
Francesco Sportolari
Teachers
  • Francesco Sportolari
Hours
  • 47 ore - Francesco Sportolari
CFU
6
Course Regulation
Coorte 2023
Offered
2025/26
Learning activities
Caratterizzante
Area
Discipline informatiche
Sector
INF/01
Type of study-unit
Obbligatorio (Required)
Type of learning activities
Attività formativa monodisciplinare
Language of instruction
Italian
Contents
Introduction to distributed systems. Principles and objectives of distributed systems.
Distributed system architectures and middleware.
Processes, client/server architecture, and virtualization.
Communication in distributed systems (RPC, messaging, REST API).
An overview of synchronization and coordination in distributed systems.
Resource naming in distributed systems.
Data consistency and replication.
Fault management in distributed systems.
An overview of security in distributed systems.
Reference texts
M. van Steen, A. S. Tanenbaum, DISTRIBUTED SYSTEMS 4th Ed.
Material provided by the teacher
Educational objectives
Understanding of the main technologies in the field of distributed systems and ability to design complex systems.
Prerequisites
Basic knowledge of Python and/or Javascript languages, TCP/IP stack, CLI Linux
Teaching methods
Classroom lectures
Practical laboratory lessons
Flipped lessons
Cooperative groups
Other information
Course website:
www.unistudium.unipg.it

Exams agenda:
www.dmi.unipg.it
Learning verification modality
Written exam with multiple-choice questions + oral exam (project submission)

For information on support services for students with disabilities and/or learning disabilities, visit the page http://www.unipg.it/disabilita-e-dsa
Extended program
Introduction to distributed systems. Principles and objectives of distributed systems.
Distributed system architectures and middleware.
Processes, client/server architecture, and virtualization.
Communication in distributed systems (RPC, messaging, REST API).
An overview of synchronization and coordination in distributed systems.
Resource naming in distributed systems.
Data consistency and replication.
Fault management in distributed systems.
An overview of security in distributed systems.

Container virtualization will be explored in depth, particularly Docker.

Some middleware architectures in Python and NodeJS (Javascript) will also be analyzed.