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
Contribution of the course to the overall degree programme goals
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.
Expected learning outcomes
Knowledge of architectures, technologies, and services in cloud computing.
Knowledge of communication paradigms, and algorithms for synchronization, cooperation and concurrency management in distributed systems.
Pre-requirements
Contents
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.
Referral texts
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
Assessment methods
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.
Teaching methods
Exercises proposed and discussed in classes.
Seminars on special topics.
Exercises and practical laboratory.
Teaching language
Further information
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.