SISTEMI DISTRIBUITI 2 E LABORATORIO
Academic Year 2018/2019 - 2° Year - Curriculum Sistemi di Rete e Sicurezza- Distributed Systems 2: Giuseppe PAPPALARDO
- Laboratory of Distributed Systems 2: Giuseppe PAPPALARDO
Taught classes: 36 hours
Exercise: 24 hours
Laboratories: 12 hours
Term / Semester: 2°
Learning Objectives
- Distributed Systems 2
Knowledge and understanding: students will acquire a precise knowledge and understanding of the conceptual foundations (i.e., fundamental concepts, problem classes and relevant solutions) pertaining to the discipline of distributed systems.
Applying knowledge and understanding: students will become capable of employing solutions and paradigms learned during the course in contexts differing from those explicitly presented, thus perfecting their skills as distributed systems designers/architects.
Making judgements: students will acquire the ability to assess the relative merits and limits of solutions proposed, within the course and by the literature, for problems and scenarios typical of distributed systems design.
Communication skills: students will learn the terminology specific to distributed systems, and acquire the communication skills required to express and discuss, at a rigorous technical level, problems of interest for the field.
Learning skills: students will become capable to profitaby read, understand and apply the scientific and technical literature in the field of distributed systems. - Laboratory of Distributed Systems 2
Knowledge and understanding: students will acquire a precise knowledge and understanding of fundamental concepts and main technology solutionsin the field of cloud computing.
Applying knowledge and understanding: students will become capable of employing technologies and solutions learned during the course, so as to obtain fundamental administration and development skills in the area of cloud computing.
Making judgements: students will acquire the ability to assess the relative advantages and limits of the main technologies available for cloud computing.
Communication skills: students will learn the terminology specific to cloud computing, and acquire the communication skills required to express and discuss, at a rigorous technical level, problems of interest for the field.
Learning skills: students will become capable to consult technical documentation available for cloud computing solutions, in order to effectively exploit them for the purposes of cloud administration and development.
Course Structure
- Distributed Systems 2
Classroom lectures
- Laboratory of Distributed Systems 2
Laboratory sessions
Detailed Course Content
- Distributed Systems 2
- Introduction to distributed systems: a history, motivations, characteristics.
- Physical clocks synchronization.
- Lamport's logical clocks and temporal ordering in distributed systems.
- Constructing the global state of a distributed system.
- Election and mutual exclusion in a distributed system.
- Consistency in a distributed system: strong and weak consistency and applications.
- Replicating data and computations.
- Fault tolerance in distributed systems: concepts and techniques.
- Cloud computing
- Laboratory of Distributed Systems 2
- Amazon web services
- Microsoft azure
- Google app engine
- Open cloud solutions: openstack
- Virtualization for Linux
- Docker and containerization
- Devops
Textbook Information
- Distributed Systems 2
- Distributed Systems. Principles and Paradigms. Andrew S. Tanenbaum, Maarten Van Steen. Pearson Education. 2007.
-
Distributed Systems: Concepts and Design, 4th edition. Coulouris, Dollimore and Kindberg. Pearson Education. 2005.
- Laboratory of Distributed Systems 2
Technical documentation available from sites of main cloud vendors and providers.