Titular Professors
The subject has the following objectives:
1. Identify the main features of a distributed system.
2. Understand a scientific article about distributed systems.
3. Assimilate the main techniques used in distributed systems.
4. Design scalable distributed systems.
RA.01 - Advanced concepts of databases, security, concurrency and transactions. (GI)
RA.02 - Build computer applications based on client / server and web architectures. (GI)
1. Distributed systems fundamentals.
2. Shared-nothing vs shared-memory architectures.
3. The mutual exclusion problem in distributed architectures.
4. Models & clocks.
5. Communication primitives and strategies.
6. Data replication techniques.
7. Fault tolerance and recovery.
8. Reference models.
9. Existing approaches.
This is an eminently hands-on subject combines theoretical contents and lectures with exercises or micro-assignments aimed at consolidating the knowledge acquired by the students, therefore the subject is taught entirely in the laboratory.
All exercises proposed, without exception, must be delivered and passed in order to be able to pass the subject. If these exercises are delivered before the date of the examination of the ordinary evaluation and the corresponding interviews are passed, the final grade of the subject will be the average of the mark obtained in the exercises. Otherwise, it will be necessary to pass a final exam. Then, when all the exercises are approved and the exam has a score equal to or greater than 4 (four), the final grade will be calculated as:
Final grade = 60% Exam + 40% Average exercises
All the grades obtained in exercises and exams will be kept until the extraordinary call of February.
The total or partial copies in any assessable activity will be penalized with what is established in the academic regulations, both in the source and in the copy without exception.
Vijay K. Garg. 2007. Concurrent and Distributed Computing in Java. IEEE Press, Piscataway, NJ, USA.
Patrick Hunt, Mahadev Konar, Flavio Paiva Junqueira, Benjamin Reed: ZooKeeper: Wait-free Coordination for Internet-scale Systems. USENIX Annual Technical Conference 2010
Fernando Pedone, Matthias Wiesmann, André Schiper, Bettina Kemme, Gustavo Alonso: Understanding Replication in Databases and Distributed Systems. ICDCS 2000: 464-474
Leslie Lamport: The Part-Time Parliament. ACM Trans. Comput. Syst. 16(2): 133-169 (1998)
James C. Corbett et al.: Spanner: Googles Globally Distributed Database. ACM Trans. Comput. Syst. 31(3): 8 (2013)
Giuseppe DeCandia et al.: Dynamo: Amazons highly available key-value store. SOSP 2007: 205-220
Tom White: Hadoop - The Definitive Guide: Storage and Analysis at Internet Scale (4. ed., revised & updated). OReilly 2015, ISBN 978-1-491-90163-2, pp. I-XXV, 1-727or other bibliographic format>