CLOUD COMPUTING AND DISTRIBUTED SYSTEMS

Academic year
2020/2021 Syllabus of previous years
Official course title
CLOUD COMPUTING AND DISTRIBUTED SYSTEMS
Course code
CM0468 (AF:332747 AR:175894)
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 operarono 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, 2011.
T. Erl, R. Puttini, Z. Mahmood, “Cloud Computing: Concepts, Technology and Architecture”, Prentice-Hall, 2013.
Some exercises are proposed to the students.
The students can present a special study of a subject to be chosen according to the program.
Lectures. Exercises proposed and discussed in classes. Seminars on special topics. Exercises.
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.
written and oral
Definitive programme.
Last update of the programme: 04/05/2020