Logo UAB
2021/2022

Sistemas Distribuidos

Código: 102740 Créditos ECTS: 6
Titulación Tipo Curso Semestre
2502441 Ingeniería Informática OB 3 1
2502441 Ingeniería Informática OT 4 1
La metodología docente y la evaluación propuestas en la guía pueden experimentar alguna modificación en función de las restricciones a la presencialidad que impongan las autoridades sanitarias.

Contacto

Nombre:
Porfidio Hernández Bude
Correo electrónico:
Porfidio.Hernandez@uab.cat

Uso de idiomas

Lengua vehicular mayoritaria:
español (spa)
Algún grupo íntegramente en inglés:
No
Algún grupo íntegramente en catalán:
No
Algún grupo íntegramente en español:

Equipo docente

Sergio Villar Mesurado

Prerequisitos

Se recomienda haber cursado y superado las asignaturas de Fundamentos de Informática, Estructura de Computadores, Sistemas Operativos y Redes.

Objetivos y contextualización

La materia de Sistemas Distribuidos pretende mostrar los conceptos fundamentales, y problemáticas más habituales de los sistemas distribuidos, así como las técnicas más usuales de gestión de los recursos en este tipo de sistemas. En la misma línea, se introducirá el alumno en el uso de aperos habituales en estos entornos, para la resolución de problemas computacionales provenientes de las ciencias y las ingenierías.

Competencias

    Ingeniería Informática
  • Adquirir hábitos de trabajo personal.
  • Capacidad de analizar y evaluar arquitecturas de computadores, incluyendo plataformas paralelas y distribuidas, así como desarrollar y optimizar software de para las mismas.
  • Capacidad de concebir sistemas, aplicaciones y servicios basados en tecnologías de red, incluyendo Internet, web, comercio electrónico, multimedia, servicios interactivos y computación móvil.
  • Capacidad de diseñar e implementar software de sistema y de comunicaciones.
  • Capacidad para analizar, evaluar, seleccionar y configurar plataformas hardware para el desarrollo y ejecución de aplicaciones y servicios informáticos.
  • Capacidad para concebir y desarrollar sistemas o arquitecturas informáticas centralizadas o distribuidas integrando hardware, software y redes.
  • Capacidad para diseñar, desarrollar, evaluar y asegurar la accesibilidad, ergonomía, usabilidad y seguridad de los sistemas, servicios y aplicaciones informáticas, así como de la información que gestionan.
  • Comunicación.
  • Trabajar en equipo.

Resultados de aprendizaje

  1. Analizar las características de los sistemas distribuidos.
  2. Analizar las necesidades de accesibilidad y seguridad según los distintos tipos de usuarios y los distintos tipos de aplicaciones.
  3. Analizar y evaluar los modelos y paradigmas de programación para sistemas distribuidos.
  4. Aplicar los conceptos de sistemas operativos y redes para desarrollar los componentes software necesario para gestionar el sistema de cómputo de altas prestaciones y las comunicaciones involucradas en dichos sistemas.
  5. Clasificar los distintos tipos de arquitectura para sistemas distribuidos, considerando tanto los aspectos relativos al hardware y su interconexión, como los relativos a los componentes de software del sistema.
  6. Comunicar eficientemente, de forma oral y/o escrita, conocimientos, resultados y habilidades, tanto en entornos profesionales como ante públicos no expertos.
  7. Concebir sistemas hardware basados en tecnologías de red, incluyendo Internet, web, comercio electrónico, multimedia, servicios interactivos y computación móvil.
  8. Describir los parámetros básicos de rendimiento de los sistemas de cómputo distribuidos.
  9. Diseñar las soluciones informáticas que permitan integrar en un sistema distribuido las necesidades de accesibilidad y seguridad.
  10. Diseñar sistemas, aplicaciones y servicios basados en tecnologías de red.
  11. Diseñar software de base eficiente para los sistemas distribuidos.
  12. Evaluar la funcionalidad y las prestaciones de aplicaciones ejecutadas sobre plataformas distribuidas.
  13. Evaluar y seleccionar sistemas distribuidos en función de índices de rendimiento.
  14. Identificar las arquitecturas de los sistemas distribuidos.
  15. Identificar las características de los sistemas distribuidos, considerando las tecnologías de red disponibles.
  16. Identificar los componentes básicos de definen la accesibilidad, ergonomía, usabilidad y seguridad de los sistemas informáticos.
  17. Identificar los niveles de software que ha de comprender un sistema distribuido.
  18. Prevenir y solucionar problemas.
  19. Proponer soluciones informáticas basadas en sistemas distribuidos que integren tanto la arquitectura de los componentes hardware del sistema, así como lo interconexión de los mismos, y el diseño del software necesario.
  20. Trabajar cooperativamente.

Contenido

Tema 1: Sistemas de cómputo paralelo y distribuidos

  • Sistemas de cómputo paralelo (ClustersGrid y Clouds).
  • Casos de uso: Hadoop/Spark.

Tema 2: Sincronización y comunicación de procesos

  • Procesos y threads. Planificación asociada.
  • Communicació de procesos (mensajes, RPC, comunicación por groups)
  • Relojes físicos y lógicos.
  • Exclusión mutua y Deadlock.
  • Algoritmos de selección y tolerancia a fallos.

Tema 3: Memoria compartida distribuida (DVSM)

  • Gestión de memoria en multiprocesadores
  • Modelos de consistencia (Estricta, seqüential, causal, Pram)
  • Implementaciones DVSM basadas en páginas, variables y objetos.

Tema 4: Panificación de trabajos

  • Niveles de planificación.
  • Taxonomias
  • Planificación de: Tareas, trabajos, workflows, maquinas virtuales y containers.

Tema 5: Sistema de archivos distribuidos

  • Arquitectura dela E/S paralela.
  • Diseño de los Sistemas Distribuidos de Archivos.
  • Taxonomía.

Tema 6: Casos de uso: Vídeo bajo Demanda a gran Escala (LVoD)

  • Tipos de VoD
  • Diseño de un sistema de VoD a nivel local
  • Escalabilidad
  • LVoD

 

Metodología

Teoría

La parte de teoría de la asignatura, se realizará en las horas reservadas en el horario de la asignatura, y publicado por la Titulación. El contenido de cada una de las clases se detallará en la hoja de planificación de la asignatura (cronograma), que se publicará el primer día de clase, en el Campus Virtual. Se utilizará un libro de referencia, y apuntes del profesor para aquellos temas que lo requieran; en la misma línea, estarán disponibles las transparencias de la asignatura para cada tema, y los recursos que se utilicen en clase: preguntas de test, exámenes de cursos anteriores, artículos de temas específicos, uso de chats y foros para discusión de tópicos de la asignatura etc. Se habilitará un horario de tutorías semanal durante el semestre, que se mostrará en el cronograma de la asignatura.

Problemas

a.- Presentación de trabajos. El siguiente apartado pretende motivar el alumno y desarrollar estrategias por la presentación oral, escrita y defensa pública de trabajos en temas relacionados con sistemas distribuidos. Al iniciar el curso los alumnos se agruparán en equipos de trabajo siguiendo las indicaciones del profesor, que asignará temas a investigar a cada equipo. Durante el semestre, y en el horario que se detallará en el Campus Virtual, los equipos tendrán encuentros tutorizados con el profesor para hacer un seguimiento de la evolución del trabajo.

  • 4 grupos, 100..130 alumnos,2/4 alumnos/equipo, 10 equipos/grupo.
  • Defensa del trabajo ("Presentación online" en horario de clase durante 20 minutos, preguntas 10 minutospor equipo). (5 horas/grupo).
  • "Sesiones tutorizadas" con el profesor, dedicadas a tratar aspectos metodológicos y de planificación. (2 sesiones 15m /equipo).
  • Las horas dedicadas en clase de presentación de trabajos se indican para cada curso en el horario de la Titulación. La inscripción a los grupos de problemas, se realizará mediante la herramienta correspondiente del Campus Virtual. La fecha límite para realizarlo estará indicada en el cronograma de la asignatura.


b.- Realización de problemas relacionados con temas desarrollados a teoría (7 horas restantes). Las sesiones de problemas se indicarán en el cronograma de la asignatura.

Prácticas

Las prácticas al igual que en los dos apartados anteriores, se realizarán en sesiones distribuidas durante el curso; según el horario correspondiente publicado en el Campus Virtual. Los profesores de prácticas generarán los listados de fechas y horas. Los grupos de prácticas deberán de ser de dos personas. Es importante respetar el horario asociado a cada grupo, de cara a mantener la carga del servidor de prácticas balanceado, intentando evitar los picos para un funcionamiento adecuado del sistema.

Competencias Transversales: Las competencias transversales asignadas (T02.04 - Prevenir y solucionar problemas, T03.01 - Trabajar cooperativamente y T04.01 - Comunicar eficientemente, oralmente o por escrito,conocimientos, resultados y habilidades, tanto en entornos profesionales como ante públicos no expertos), se trabajarán y evaluarán principalmente en las actividades de Problemas y Prácticas. Se trata de fomentar el trabajo en equipo, así como de presentar con precisión los resultados o análisis a problemas concretos; mediante la exposición ydiscusión en clase de trabajos relacionados con los tópicos de la asignatura. La inscripción a los grupos de prácticas se hará mediante la herramienta correspondiente del Campus Virtual. La fecha límite para hacerlo estará indicada en el cronograma de la asignatura.

Nota: se reservarán 15 minutos de una clase dentro del calendario establecido por el centro o por la titulación para que el alumnado rellene las encuestas de evaluación de la actuación del profesorado y de evaluación de la asignatura o módulo.

Actividades

Título Horas ECTS Resultados de aprendizaje
Tipo: Supervisadas      
Problemas 13 0,52 3, 1, 2, 13, 12, 6, 10, 18, 19, 20
Prácticas 13 0,52 3, 1, 13, 12, 6, 7, 8, 9, 10, 11, 18, 19, 20
Teoría 22 0,88 3, 1, 4, 13, 5, 7, 8, 10, 17, 14, 15, 18, 19
Tipo: Autónomas      
Trabajo personal 94,5 3,78 3, 1, 2, 5, 7, 16, 17, 14, 15

Evaluación

La asignatura consta de tres partes: Teoría, Problemas y Prácticas. La parte de Teoría representa el 50% de la nota final de la asignatura, la de Problemas el 20%, y la de Prácticas el 30% restante. Es imprescindible que la media ponderada de las tres pruebas sea como mínimo un 5.0 para superar la asignatura. Además, es necesario una nota mínima de 5.0 a cada parte de las que consta la asignatura para aprobarla.

Dado que la metodología de evaluación es continuada, la entrega de alguna evidencia evaluable (problemas, control, prácticas...), se interpreta como la voluntad de presentarse a la asignatura y por tanto; tener una nota diferente de no evaluado. Una calificación de no evaluable solo se puede obtener no habiendo librado ninguna evidencia evaluable en todo el curso.

Las fechas de evaluación continuada y entrega de trabajos se publicarán en el campus virtual, y pueden estar sujetos a posibles cambios de programación por motivos de adaptación a posibles incidencias. Siempre se informará en el campus virtual sobre estos cambios puesto que se entiende que el CV es el mecanismo habitual de intercambio de información entre profesor y estudiantes.

En el caso de alumnos repetidores, solicitarán al profesor responsable de la asignatura, vía correo institucional (porfidio.hernandez@uab.cat), y durante las dos primeras semanas de curso; la convalidación de teoría, las prácticas y/o del trabajo a exponer en clase y test. La nota asociada, será la obtenida para estos apartados durante el curso 2019-2020.

Recordamos que para cada asignatura de un mismo plan de estudios, se concederán globalmente las matrículas de honor resultantes de calcular el cinco por ciento o fracción de los alumnos matriculados en todos los grupos de docencia de la asignatura. Solo se podrán otorgar, a estudiantes que hayan obtenido una calificación final igual o superior a 9.

La forma como se evaluará cada una de las diferentes partes de que consta la asignatura (Teoría, Problemas y Prácticas) se detalla a continuación:

Teoría. La evaluación de la parte de teoría, se hará con dos pruebas intermedias (o controles); se realizarán en la forma y manera que establezca la normativa del centro, lo cual será informado en las noticias del Campus Virtual . El día que se realizará cada una de estas pruebas, así como su contenido, está indicado en las hojas de planificación de la asignatura. La nota de teoría se obtendrá de la media de las dos pruebas de teoría, siempre que la nota de cada control sea mayor o igual a 5.0. El día de la segunda prueba, NO se podrá recuperar la primera prueba.

Problemas. La evaluación de la parte de problemas consta de dos partes:


a) Sobre el tema de trabajo asignado, se tendrá que:
            a1) Realizar un trabajo escrito (10 páginas- formado IEEE- apartados estándares: abstractintroductionrelated work, contentresults, conclusiones, future work and references).
            a2) Defensa del trabajo (presentación oral del trabajo  20 minutos, 10 minutos de preguntas) el día y hora asignado a tal efecto en el Campus Virtual.
b) Test de trabajos

Prácticas. Es obligatoria la asistencia del estudiante para aprobar las mismas. Se pasará lista para comprobar asistencia. El alumno se conectará a un servidor del Departamento, en las horas planificadas al efecto, donde en general se puede garantizar el correcto funcionamiento del sistema; pudiendo conectarse durante otros periodos bajo su responsabilidad. Para aprobar las prácticas es obligatorio su correcto funcionamiento, la verificación del profesor responsable, responder las preguntas del profesor de manera individual y la presentación en los plazos establecidos de una memoria escrita, detallando:

  • Objetivo de la práctica
  • Descripción y planteamiento de la práctica
  • Descripción de los procedimientos utilizados a nivel funcional
  • Descripción de los problemas surgidos durante la realización de la práctica y las soluciones encontradas
  • Conclusiones extraídas de la realización de la práctica
  • Ficheros de configuración y pruebas

Habrá un examen de prácticas en la última sesión.

Para cada actividad de evaluación, se indicará un lugar, fecha y hora de revisión en la que el estudiante podrá revisarlaactividad con el profesor. En este contexto, se podrán hacer reclamaciones sobre la nota de la actividad, que serán evaluadas por el profesorado responsable de la asignatura. Si el estudiante no se presenta a esta revisión, no se revisará posteriormente esta actividad.

Actividades de Recuperación:

Todos aquellos alumnos que, habiendo seguido la evaluación continuada, no hayan logrado el mínimo necesario para superar la asignatura; tendrán opción a hacer un examen final de recuperación, para cada uno de los apartados de que consta la asignatura: teoría, prácticas y problemas. La fecha la fecha de estos exámenes de recuperación, se publicará alCampus Virtual.
Respecto a la recuperación de las prácticas, el profesor responsable decidirá el modelo de recuperación a aplicar, por grupo o individualizado (extensión o corrección de alguna de las prácticas, examen de prácticas individualizado, etc).
En relación en el apartado de recuperación de problemas, el profesor responsable decidirá el modelo de recuperación a aplicar, como en el caso anterior.
Para la parte correspondiente a la recuperación de teoría, los alumnos podrán presentarse a examen final de teoría. Este examen constará de dos controles, y el alumno se tendrá que presentar al control que no haya superado (nota mínima de cada control mayor o igual a 5.0, para superar la parte de teoría).
Para los casos donde se suspenda alguna de las partes de la asignatura (nota de teoría, problemas, o prácticas; <5.0), después del proceso de recuperación; y que al realizar elcómputo de la nota final según los porcentajes correspondientes sea mayor de 5.0, la nota que figurará como nota final de la asignatura será un 4.5. (Siguiendo la recomendación de la coordinación de la Sección).

Plagio y copias. Sin perjuicio otras medidas disciplinarias que se estimen oportunas, y de acuerdo con la normativa académica vigente, las irregularidades cometidas por un estudiante que puedan conducir a una variación de la calificación en una actividad evaluable se calificarán con un cero (0). Las actividades de evaluación cualificadas de esta forma y por este procedimiento no serán recuperables. Si es necesario superar cualquier de estas actividades de evaluación para aprobar la asignatura, esta asignatura quedará suspendida directamente, sin oportunidad de recuperarla en el mismo curso. Estasirregularidades incluyen, entre otros:

  • la copia total o parcial de una práctica, informe, o cualquier otra actividad de evaluación;
  • dejar copiar;
  • presentar un trabajo de grupo no hecho íntegramente por los miembros del grupo (aplicado a todos los miembros, no solamente a los que no han trabajado);
  • presentar como propios materiales elaborados por un tercero,aunque sean traducciones o adaptaciones, y en general trabajos con elementos no originales y exclusivos del estudiante;
  • tener dispositivos de comunicación (como teléfonos móviles, smart watches, bolígrafos con cámara, etc.) accesibles durante las pruebas de evaluación teorico-prácticasindividuales (exámenes);
  • hablar con compañeros durante las pruebas de evaluación teorico-prácticas individuales (exámenes); - copiar o intentar copiar otros alumnos durante las pruebas de evaluación teorico-prácticas (exámenes);
  • usar o intentar usar escritos relacionados con la materia durante la realización de las pruebas de evaluación teorico-prácticas (exámenes), cuando estos no hayan estado explícitamente permitidos.

En caso de no superar la asignatura debido a que alguna de las actividades de evaluación no llega a la nota mínima requerida, la nota numérica del expediente será el valor menor entre 4.5 y la media ponderada de las notas. Con las excepciones de que se otorgará la calificación de "No Evaluable" a los estudiantes que no participen en ninguno de las actividades de evaluación, y de que la nota numérica del expediente será el valor menor entre 3.0 y la media ponderada de las notas en caso de que el estudiante haya cometido irregularidades en un acto de evaluación (y por tanto no será posible el aprobado por compensación). En ediciones futuras de esta asignatura, al estudiante que haya cometido irregularidades en un acto de evaluación, no se le convalidará ninguno de las actividades de evaluación realizadas. En resumen: copiar, dejar copiar o plagiar (o el intento de) en cualquier de las actividades de evaluación equivale a un SUSPENSO, no compensable y sin convalidaciones de partes de la asignatura en cursos posteriores.

Actividades de evaluación

Título Peso Horas ECTS Resultados de aprendizaje
Controles de Teoría 50% 4 0,16 3, 1, 2, 4, 8, 16, 17, 14, 15, 19
Problemas 20% 1,5 0,06 3, 1, 13, 12, 5, 6, 7, 9, 15, 18, 19, 20
Prácticas 30% 2 0,08 3, 4, 13, 12, 6, 10, 11, 18, 20

Bibliografía

Bibliografia general

  • Andrew S. Tanenbaum, Maarten Van Steen “Distributed Systems: Principles and Paradigms”, 2nd Ed. Addision-Wesley, Pearson 2007.
  • G. Coulouris, J. Dollimore, T. Kinderg and Gordon Blair “Distributed Systems: Concepts and Design”, Addison-Wesley, Pearson, 5ª Ed. 2012.
  • Andrew S. Tanenbaum "Sistemas Operativos Distribuidos", Prentice Hall 1996.

Bibliografía específica

  • Tom White, “Hadoop: The definitive guide”, O´Reilly 2009.
  • Bill Chambers & M. Zaharia, “Spark The Definitive Guide, big data processing made simple”, O´Reilly, 2018.

Software

Scala

https://downloads.lightbend.com/scala/2.12.12/scala-2.12.12.rpm

 

Spark

http://www-eu.apache.org/dist/spark/spark-3.0.1/spark-3.0.1-binhadoop2.7.tgz