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
Tipo de docencia | Horas de docencia presencial | Horas de actividad no presencial del alumno/a |
---|---|---|
Magistral | 40 | 40 |
Seminario | 0 | 0 |
P. de Aula | 10 | 25 |
P. Laboratorio | 10 | 25 |
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
Semanas | Lunes | Martes | Miércoles | Jueves | Viernes |
---|---|---|---|---|---|
1-15 | 12:00-13:30 | 10:30-12:00 |