Grau en International Computer Engineering La Salle Campus Barcelona

Grau en International Computer Engineering

El Grau en Enginyeria Informàtica de La Salle és l'únic programa de grau a Barcelona que et proporcionarà les habilitats i el coneixement per donar resposta a les necessitats internacionals del sector de la informàtica i dels negocis.

Projectes en arquitectura distribuïda

Descripció: 

Aquesta assignatura revisa la teoria fonamental dels sistemes distribuïts i analitza les principals solucions modernes en aquest camp. Comença identificant els problemes associats a compartir dades entre diverses màquines físiques, descrivint com es pot modelar un sistema distribuït, discutint les tècniques per sincronitzar diversos nodes comunicats per una xarxa, estudiant quines tècniques es poden utilitzar per replicar dades, així com els seus avantatges i desavantatges, i acaba analitzant els sistemes distribuïts moderns altament escalables.

Tipus assignatura
Obligatoria no de Primer
Semestre
Primer
Curs
4
Crèdits
4.00

Professors Titulars

Professors Docents

Coneixements previs: 

  • Coneixements de programació orientada a objectes.
  • Coneixements del funcionament intern d'un sistema operatiu.
  • Coneixements d'exclusió mútua i algoritmes.

Objectius: 

L'assignatura té els següents objectius:

  1. Identificar les principals característiques d'un sistema distribuït.
  2. Comprendre un article científic sobre sistemes distribuïts.
  3. Assimilar les principals tècniques utilitzades en sistemes distribuïts.
  4. Comprendre els algoritmes que condueixen al disseny de sistemes distribuïts escalables.

Continguts: 

  1. Introducció als sistemes distribuïts i els seus fonaments.
  2. Arquitectures de res compartit vs. memòria compartida: programació multifil i aplicacions distribuïdes.
  3. Models i rellotges: rellotges lògics, rellotges de dependència directa i rellotges vectorials.
  4. El problema de l'exclusió mútua en arquitectures distribuïdes: algorisme basat en tokens, algorisme de forn de Lamport i algorisme de Ricart i Agrawala.
  5. Primitives i estratègies de comunicació: pas de missatges i RPC, i gRPC i codificació binària amb buffers de protocol.
  6. Tècniques de replicació de dades: replicació impacient, replicació mandrosa, còpia primària, actualització a tot arreu i teorema CAP.
  7. Models de fallades: bizantí i bloqueig/aturada.
  8. Tolerància a fallades i polítiques de recuperació: elecció de líder - Raft
  9. Hashing consistent.
  10. Reptes moderns - lectura de paper.

Metodologia: 

Aquesta és una assignatura eminentment pràctica que combina continguts teòrics i classes magistrals amb exercicis o microtasques destinades a consolidar els coneixements adquirits pels estudiants, per la qual cosa l'assignatura s'imparteix íntegrament al laboratori.

Avaluació: 

Tots els exercicis proposats, sense excepció, s'han de lliurar i aprovar per poder aprovar l'assignatura. La participació activa en les discussions de classe i la resposta a preguntes durant les classes magistrals contribuiran amb un 5% a la nota final. L'assistència regular i la participació són essencials per a la superació d'aquest component.

Si els exercicis es lliuren abans de la data de l'examen de l'avaluació ordinària i es superen les entrevistes corresponents, no caldrà aprovar cap examen. La nota final es calcula mitjançant la fórmula següent:

Nota final de l'assignatura = 95% Mitjana d'exercicis + 5% assistència

En cas contrari, caldrà aprovar un examen final. Quan tots els exercicis estiguin aprovats i l'examen tingui una puntuació igual o superior a 4, la nota final es calcularà com:

Nota final de l'assignatura = 55% Examen + 40% Mitjana d'exercicis + 5% assistència.

Criteris avaluació: 

S'avaluaran els aspectes següents:

  • Treballs pràctics: La capacitat de dissenyar sistemes distribuïts escalables i aplicar correctament les principals tècniques utilitzades en arquitectures distribuïdes dins d'un entorn pràctic de laboratori.
  • Lectura de papers: La capacitat de comprendre i analitzar un article científic sobre els reptes moderns en sistemes distribuïts.
  • Examen final: L'assimilació i la correcta identificació de les principals característiques, la teoria fonamental i els models d'un sistema distribuït.

Bibliografia bàsica: 

  • 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: Google's Globally Distributed Database. ACM Trans. Comput. Syst. 31(3): 8 (2013).
  • Giuseppe DeCandia et al.: Dynamo: Amazon's 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). O'Reilly 2015, ISBN 978-1-491-90163-2, pp. I-XXV, 1-727.

Material complementari: 

-