Aquesta assignatura revisa la teoria fonamental de sistemes distribuïts i analitza les principals solucions modernes en aquest camp. Es comença identificant la problemàtica associada a compartir una dada entre diverses màquines físiques, es veu com es pot modelar un sistema distribuït, s'estudien tècniques per sincronitzar diversos nodes comunicats per una xarxa, quines tècniques es poden utilitzar per replicar dades així com els seus avantatges i inconvenients, i s'acaben analitzant els sistemes distribuïts actuals altament escalables.
Professors Titulars
Coneixements de programació orientada a objectes.
Coneixements del funcionament intern d'un sistema operatiu.
Coneixements d'exclusió mútua.
L'assignatura té els següents objectius:
1. Identificar les característiques principals d'un sistema distribuït.
2. Entendre un article de caràcter científic sobre sistemes distribuïts.
3. Assimilar les principals tècniques utilitzades en sistemes distribuïts.
4. Dissenyar sistemes distribuïts escalables.
Els Resultats d'Aprenentatge d'aquesta assignatura són:
RA.01 Conceptes avançats de bases de dades, seguretat, concurrència i transaccions.
RA.02 Es pot construir aplicacions informàtiques basades en arquitectures client/servidor i web
1. Introducció i fonaments de sistemes distribuïts
2. Arquitectures shared-nothing vs shared memory
3. Models i clocks
4. El problema de l'exclusió mútua en arquitectures distribuïdes.
5. Estratègies i primitives de comunicació
6. Tècniques per a la replicació de dades
7. Models de fallida
8. Tolerància a fallides i polítiques de recuperació
9. Hashing consistent
10. Modern challenges - Lectura de papers
Aquesta és una assignatura eminentment pràctica que combina continguts i explicacions de caràcter teòric amb exercicis o micropràctiques destinades a consolidar els coneixements adquirits per l'alumnat, per tant, l'assignatura s'imparteix íntegrament al laboratori.
Exercicis.
Tots els exercicis proposats, sense excepció, s'hauran de lliurar i aprovar per a superar l'assignatura. Si aquests exercicis es lliuren abans de la data de l'examen de la convocatòria ordinària i se superen les entrevistes corresponents, la nota final de l'assignatura serà la mitjana aritmètica de la nota obtinguda en els exercicis.
1. Vijay K. Garg. 2007. Concurrent and Distributed Computing in Java. IEEE Press, Piscataway, NJ, USA.
2. Patrick Hunt, Mahadev Konar, Flavio Paiva Junqueira, Benjamin Reed: ZooKeeper: Wait-free Coordination for
Internet-scale Systems. USENIX Annual Technical Conference 2010
3. Fernando Pedone, Matthias Wiesmann, André Schiper, Bettina Kemme, Gustavo Alonso: Understanding Replication
in Databases and Distributed Systems. ICDCS 2000: 464-474
4. Leslie Lamport: The Part-Time Parliament. ACM Trans. Comput. Syst. 16(2): 133-169 (1998)
5. James C. Corbett et al.: Spanner: Google?s Globally Distributed Database. ACM Trans. Comput. Syst. 31(3): 8 (2013)
6. Giuseppe DeCandia et al.: Dynamo: Amazon's highly available key-value store. SOSP 2007: 205-220
7. Tom White: Hadoop - The Definitive Guide: Storage and Analysis at Internet Scale (4. ed., revised & updated).
O'Reilly 2015, ISBN 978-1-491-90163-2, pp. I-XXV, 1-727