CLOUD COMPUTING AND DISTRIBUTED SYSTEMS

Academic year
2024/2025 Syllabus of previous years
Official course title
CLOUD COMPUTING AND DISTRIBUTED SYSTEMS
Course code
CM0468 (AF:513718 AR:286750)
Modality
On campus classes
ECTS credits
6
Degree level
Master's Degree Programme (DM270)
Educational sector code
INF/01
Period
2nd Semester
Course year
1
Where
VENEZIA
Moodle
Go to Moodle page
Introduction to distributed systems and cloud computing.
Design, architectures and technology.
Cloud applications, service quality and security.
Interprocess communication, remote invocation and remote procedure call.
Algorithms for synchronization, coordination, data sharing, resource allocation, consistency, fault tolerance.
Replication, consistency and concurrency control in transactional systems.
Case study.
Knowledge of design principles of distributed systems and cloud computing.
Knowledge of architectures, technologies, and services in cloud computing.
Knowledge of communication paradigms, and algorithms for synchronization, cooperation and concurrency management in distributed systems.
Knowledge of programming, computer systems architectures, networks and operation systems.
Foundation. Introduction to distributed systems and cloud computing.
Architectural models, classification, design choices and related issues.
Principle of distributed system design. Types of distributed systems.
Communication. Client-server paradigm and IPC. Group communication. Multicast communication. Network virtualization.
Remote Method Invocation (RMI)and Remote Procedure Call (RPC). Types and semantics. Indirect communication, publish-subscribe systems.
Fundamental of cloud computing. Design of cloud computing.
Mechanisms and architectures. Models, technologies and security.
Cloud service and applications. Service quality metrics.
Service oriented architectures. Security in the cloud.
Distributed operating systems. Processes: allocation and scheduling, migration and load balancing. Deadlock. OS virtualization.
Distributed File System. Model file service and design issues. Case studies: NFS, AFS. Case study: Google File System.
Synchronization and coordination in distributed systems.
Algorithms for synchronization, coordination and agreement clock synchronization, mutual exclusion, global state. Causal ordering.
Shared Data. Replication, consistency and transactions. Consistency models. Architectural models of replication.
Transactions and concurrency control in distributed systems. Distributed transactions. Mobility in distributed systems.
Textbook
G. Coulouris, J. Dollimore and T. Kindberg, "Distributed Systems: concepts and design", 5th edition, Addison Wesley Masson, 2012.
T. Erl, R. Puttini, Z. Mahmood, “Cloud Computing: Concepts, Technology and Architecture”, Prentice-Hall, 2014.
[T] M.van Steen, A.S.Tanenbaum, DistributedSystems: Principles and Paradigms, 4rd edition, 2023
Some exercises are proposed to the students.
Written exam, possible oral exam if necessary.
The written exam can be substituted by the interemediare test. The first during the course, the second test at the end of the course.
The tests concern a set of theoretical questions with open answers or multiple choice, whose purpose is to test the
mastery of the student with respect to the various topics of the course, the specific technical terminology and the fundamental design concepts of the computer networks, or some specific exercises on the topics of the course in order to evaluate the skills acquired.
The students can present a special study of a subject to be chosen according to the program.

As regards the gradation of the grade (how the grades will be assigned):
1. scores in the 18-22 range will be awarded in the case of answers to the written and oral test that indicate sufficient knowledge and understanding of the topics addressed in the course; limited ability to develop autonomous solutions and application of the methods studied; limited ability in explaining methods and solutions.
2. scores in the 23-26 range will be awarded in the case of answers to the written and oral test that indicate a fair knowledge and understanding of the topics addressed in the course; discrete ability to develop autonomous solutions and application of the methods studied; discrete ability in explaining methods and solutions and ability to create connections between topics studied.
3. scores in the 27-30 range will be awarded in the case of answers to the written and oral test that indicate good or excellent knowledge and understanding of the topics addressed in the course; good or excellent ability to develop autonomous solutions and apply the methods studied; good or excellent ability to explain methods and solutions and ability to create connections between topics studied.
4. praise will be awarded only in the presence of demonstration of excellent knowledge, ability to understand with reference to the program, excellent ability to connect topics and illustrate with excellent communication skills.


Lectures.
Exercises proposed and discussed in classes.
Seminars on special topics.
Exercises and practical laboratory.
English
The exam measures knowledge of the subject, the student's ability to apply the studied design methods and principles.
The written examination includes general questions of methods and specific questions about algorithms and technical design of distributed systems and cloud computing. Questions maybe open or multiple choice.
written and oral
Definitive programme.
Last update of the programme: 19/06/2024