Última actualización: 06/07/2020


Curso Académico: 2020/2021

Diseño de Sistemas Distribuidos
(16452)
Titulación: Máster Universitario en Ciencia y Tecnología Informática (71)
Escuela de Ingeniería y Ciencias Básicas


Coordinador/a: GARCIA CARBALLEIRA, FELIX

Departamento asignado a la asignatura: Departamento de Informática

Tipo: Optativa
Créditos: 3.0 ECTS

Curso:
Cuatrimestre:




Competencias que adquiere el estudiante y resultados del aprendizaje.
- Capacidad para modelar y evaluar un sistema distribuido. - Capacidad para diseñar aplicaciones distribuidas. - Conocer los principales aspectos de diseño de un sistema distribuido. - Conocer y aplicar técnicas de simulación para simular un sistema distribuido. - Capacidad para analizar de forma crítica un documento técnico o publicación científica. - Saber transmitir los resultados de una investigación científica.
Descripción de contenidos: Programa
1. Introducción a los sistemas distribuidos - Tipos de sistemas informáticos - Elementos de un sistema distribuido - Paso de mensajes - Diseño de sistemas distribuidos - El teorema CAP - Middlewares 2. Algoritmos distribuidos - Sincronización de relojes - Exclusión mutua - Elección de líder - Consenso distribuido - Comunicación en grupos - Estados globales - Caso de estudio: ZooKeeper 3. Tolerancia a fallos - Conceptos básicos sobre tolerancia a fallos - Replicación 4. Simulación en sistemas distribuidos - Simulación de eventos discretos - Generación de variables aleatorias - Métricas de rendimiento - Experimentos de simulación - Estimación de errores - Comprobación de dos alternativas - Introducción a SimGrid 5. Planificación en sistemas distribuidos - Planificación - Métodos de planificación - Migración de procesos - Planificación de tareas independientes - Planificación de aplicaciones paralelas - Heurísticas de planificación - Algoritmos de distribución de carga - Asignación de procesadores 6. Clusters y grid computing - Arquitectura de un cluster - Tipos de cluster - Single system image - Técnicas para tolerar la latencia en clusters de gran escala - Grid computing - Globus 7. HPC en entornos distribuidos - Computación de altas prestaciones - Plataformas HW - MPI 8. Sistemas de ficheros distribuidos - Arquitectura de un sistema de almacenamiento distribuido - Sistemas de ficheros en red - Sistemas de ficheros distribuidos - Sistemas de ficheros de discos compartidos - Sistemas de ficheros paralelos - Interfaces paralelas de E/S - Optimizaciones de E/S paralela 9. Sistemas distribuidos de gran escala - Sistemas Peer to Peer - Computación voluntaria - Cloud computing - Big Data - Introducción a Apache Hadoop
Actividades formativas, metodología a utilizar y régimen de tutorías
- Clases teórico prácticas - Tutorías - Trabajo individual del estudiante
Sistema de evaluación
  • Peso porcentual del Examen Final 0
  • Peso porcentual del resto de la evaluación 100
Bibliografía básica
  • G. Coulouris, J. Dollimore, T. Kindberg. Distributed Systems, Concepts and Design, 5ª ed.. Addison Wesley. 2012
  • G. Sukmar. Distributed systems: an algorithmic approach. CRC Press, Taylor & Franciss Group. 2015
  • K. Hwang, G. C. Fox, J. J. Dongarra. Distributed and cloud computing. From parallel processing to the Internet of Things. Morgan Kaufmann. 2012
Recursos electrónicosRecursos Electrónicos *
Contenido detallado de la asignatura o información adicional para TFM
(*) El acceso a algunos recursos electrónicos puede estar restringido a los miembros de la comunidad universitaria mediante su validación en campus global. Si esta fuera de la Universidad, establezca una VPN


El programa de la asignatura y la planificación semanal podrían sufrir alguna variación por causa de fuerza mayor debidamente justificada o por eventos académicos comunicados con antelación.


Dirección web para más información: http://www.arcos.inf.uc3m.es/~dsd