Contenido de XSL

Sistemas Distribuidos

Centro
Facultad de Informática
Titulación
Grado en Ingeniería Informática
Curso académico
2023/24
Curso
4
Nº Créditos
6
Idiomas
Inglés

DocenciaAlternar navegación

Distribución de horas por tipo de enseñanza
Tipo de docenciaHoras de docencia presencialHoras de actividad no presencial del alumno/a
Magistral4040
Seminario00
P. de Aula1025
P. Laboratorio1025

Guía docenteAlternar navegación

ObjetivosAlternar navegación

Al final del curso, los y las estudiantes deben ser capaces de:

- Conocer las características y estructura interna de los sistemas distribuidos

- Diseñar, implementar y evaluar el rendimiento de algoritmos y sistemas distribuidos



Otros aspectos importantes que se van a potenciar son el trabajo en equipo, la capacidad de encontrar la información y las herramientas necesarias para solucionar los problemas que se plantean, y la capacidad de describir con precisión la funcionalidad de las soluciones desarrolladas, de forma que puedan ser utilizadas por otros usuarios/as o desarrolladores.

TemarioAlternar navegación

Tema 1. Introducción a los sistemas distribuidos



Motivación. Propiedades de los sistemas distribuidos. Aplicaciones distribuidas. Computación móvil y ubicua. Soporte hardware. Soporte del sistema operativo. Soporte de comunicación. Sistemas abiertos. Estructura de un sistema distribuido. Práctica: llamadas a procedimientos remotos, invocación de métodos remotos, comunicación de uno a muchos con IP Multicast.



Tema 2. Tiempo, causalidad y estado global



Tiempo físico. Sincronización de relojes. Tiempo lógico y ordenamiento de eventos. Estado global y consistencia. Práctica: herramientas y protocolos de sincronización de relojes (p. ej., NTP), algoritmos de sincronización.



Tema 3. Coordinación distribuida



Exclusión mutua distribuida. Algoritmos de elección. Comunicación grupal. Replicación. Transacciones distribuidas. El problema del consenso. Práctica: comunicación grupal con middlewares (JGroups, Spread...).



Tema 4. Sistemas de archivos distribuidos



Propiedades de los sistemas de archivos distribuidos. Modelo de sistema. Servicio de nombres. Servicio de archivos. Sistemas de archivos de alto rendimiento. Sistemas de archivos de Internet. Ejemplos: NFS, AFS, Coda, CIFS. Práctica: prueba de sistemas de archivos distribuidos, y evaluación de su comportamiento en diferentes situaciones.



Tema 5. Seguridad en sistemas distribuidos



Amenazas y ataques. Políticas de seguridad. Mecanismos de seguridad. Protocolos de autenticación. Ejemplos: Needham-Schroeder, Kerberos. Cómputo multiparte seguro. Práctica: prueba de Kerberos.



Temas avanzados: Sistemas tolerantes a fallas. cadena de bloques. Memoria compartida distribuida. Computación en clúster. Redes entre pares. Sistemas de alta disponibilidad. Computación en red. Computación móvil y ubicua. Práctica: desarrollo de un trabajo en grupo en el campo de los sistemas distribuidos.

MetodologíaAlternar navegación

Aunque la asignatura se basa en los conceptos teóricos que soportan los sistemas distribuidos, tendrá un gran componente práctico. Para ello se utilizarán diversas metodologías docentes, desde clases magistrales hasta metodologías más activas como PBL (Project Based Learning) o pBL (Problem Based Learning) y actividades de laboratorio.

Sistemas de evaluaciónAlternar navegación

EVALUACIÓN CONTINUA



Los sistemas de evaluación que se contemplan son el sistema de evaluación continua y el sistema de evaluación final. El sistema de evaluación continua es el que se utilizará de forma preferente, según se indica en la normativa actual de la UPV/EHU. El/la estudiante que, cumpliendo las condiciones para continuar en el sistema de evaluación continua, decidiese optar por la evaluación final, deberá informar al profesorado en el plazo y forma indicados a continuación: vía eGela, mediante el correspondiente enlace, como muy tarde antes de la décima semana del periodo lectivo.



El modo de evaluación continua se basa en las siguientes tres pruebas de evaluación:

- Cuestionarios de evaluación individual: 48%

- Trabajos Prácticos, en grupos de tres estudiantes: informes de las actividades, código desarrollado, especificaciones, resultados de verificación de las prácticas propuestas y entrevista: 32%

- Proyecto, en grupos de tres estudiantes: 20% (del cual el 2% es individual)



En resumen, el 50% de la nota se basa en el trabajo individual y el 50% en el trabajo en grupo.



Para superar la asignatura es necesario que cada estudiante:

- Realice y entregue todas las pruebas de evaluación

- Obtenga al menos un 40% de la evaluación de cada una de las pruebas

- La nota media final con todas las pruebas sea al menos de 5 sobre 10



EVALUACIÓN FINAL



Para quienes no sigan la evaluación continua se prevé el siguiente mecanismo de evaluación:

- Una prueba final que incluye preguntas de tipo teórico y realización de ejercicios prácticos (análisis/diseño de algoritmos...): 80%

- La realización y entrega de un trabajo práctico y una entrevista sobre el mismo: 20%



Para superar la asignatura es necesario que cada estudiante:

- Realice y entregue todas las pruebas de evaluación

- Obtenga al menos un 40% de la evaluación de cada una de las pruebas

- La nota media final con todas las pruebas sea al menos de 5 sobre 10

Materiales de uso obligatorioAlternar navegación

El material disponible en el aula virtual (eGela) de la asignatura.

BibliografíaAlternar navegación

Bibliografía básica

G. Coulouris, J. Dollimore, T. Kindberg, G. Blair. Distributed Systems: Concepts and Design (5th edition). Pearson, 2012.



A. Tanenbaum, M. Van Steen. Distributed Systems: Principles and Paradigms (2nd edition). Pearson, 2007.

Bibliografía de profundización

S. Mullender. Distributed Systems (2nd edition). Addison-Wesley, 1993.

A. Tanenbaum. Distributed Operating Systems. Prentice-Hall, 1995.

P. Verissimo, L. Rodrigues. Distributed Systems for System Architects. Kluwer Academic Publishers, 2001.

H. Attiya, J. Welch. Distributed Computing: Fundamentals, Simulations, and Advanced Topics. Wiley-Interscience, 2004.

K. Birman. Reliable Distributed Systems: Technologies, Web Services, and Applications. Springer, 2005.

G. Tel. Introduction to Distributed Algorithms (2nd edition). Cambridge University Press, 2000.

N. Lynch. Distributed Algorithms. Morgan Kaufmann Publishers, 1996.

C. Cachin, R. Guerraoui, L. Rodrigues. Introduction to Reliable and Secure Distributed Programming. Springer, 2011.

N. Santoro. Design and Analysis of Distributed Algorithms. Wiley, 2007.

Revistas

IEEE Transactions on Parallel and Distributed Systems

(Springer) Distributed Computing

(Elsevier) Journal of Parallel and Distributed Computing

ACM Transactions on Computer Systems

IEEE Transactions on Computers

GruposAlternar navegación

61 Teórico (Inglés - Mañana)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-15

12:00-13:30

10:30-12:00

Profesorado

61 P. de Aula-1 (Inglés - Mañana)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-15

09:00-10:30

Profesorado

61 P. Laboratorio-1 (Inglés - Mañana)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
1-15

09:00-10:30

Profesorado