Sistemas Distribuidos
La asignatura presenta los aspectos más relevantes del diseño e implementación de los sistemas distribuidos. El alumno deberá desarrollar ejemplos prácticos que le permitirán consolidar los conceptos teóricos.
Alias | Plan | Curso | Tipo | Duración | Créditos | Foro |
---|---|---|---|---|---|---|
SD | GII | 6º Semes. | Obli. | Semestral | 6 ECTS | Foro SD |
Tutorías
Nombre | Despacho | L | M | X | J | V |
---|---|---|---|---|---|---|
Fernando Pérez Costoya (fperez@fi.upm.es) | 4201 | 12:00-14:00 | 11:00-15:00 | · | · | 9:00-13:00 |
María de los Santos Pérez Hernández (mperez@fi.upm.es) | 4204 | · | 10:30-12:30 | 16:00-18:00 | 16:00-18:00 | · |
Pablo Toharia (ptoharia@fi.upm.es) | 4102 | 10:30-13:00 15:00-18:00 | · | · | · | · |
Noticias
- SD | Notas convocatoria julio. Detección de copias de prácticas (2020/07/15 13:32)Estimados alumnos,
Se han publicado las notas provisionales de la convocatoria de junio. Las notas están disponibles en http://laurel.datsi.fi.upm.es/~ssoo/consultaBD.cgi.
Debe
...
Estadísticas : Publicado por fperez • el Mié Jul 15, 2020 9:32 am • Respuestas 0 • Vistas 897 - SD | Publicación de nota del examen de teoría convocatoria julio (2020/07/07 09:48)Se ha publicado la nota del examen de teoría de la convocatoria de julio, mostrando la mejor nota obtenida en cada una de las tres partes a lo largo del curso.
Las notas están disponibles en http://laurel.datsi.fi.upm.es/~ssoo/consultaBD.cgi.
Debe
...
Estadísticas : Publicado por fperez • el Mar Jul 07, 2020 5:48 am • Respuestas 0 • Vistas 542 - SD | Notas convocatoria junio. Detección de copias de prácticas (2020/06/13 01:15)Estimados alumnos,
Se han publicado las notas provisionales de la convocatoria de junio. Las notas están disponibles en http://laurel.datsi.fi.upm.es/~ssoo/consultaBD.cgi.
Debe
...
Estadísticas : Publicado por fperez • el Vie Jun 12, 2020 9:15 pm • Respuestas 0 • Vistas 806 - SD | Publicación de nota de parte teórica en convocatoria junio (2020/05/31 13:11)Se ha publicado la nota de la parte teórica de la asignatura en la convocatoria de junio.
Las notas están disponibles en http://laurel.datsi.fi.upm.es/~ssoo/consultaBD.cgi.
Debe
...
Estadísticas : Publicado por fperez • el Dom May 31, 2020 9:11 am • Respuestas 0 • Vistas 699 - SD | Publicación de nota de parte teórica en evaluación continua (2020/05/22 21:24)Se ha publicado la nota de la parte teórica de la asignatura en evaluación continua.
Las notas están disponibles en http://laurel.datsi.fi.upm.es/~ssoo/consultaBD.cgi.
Debe
...
Estadísticas : Publicado por fperez • el Vie May 22, 2020 5:24 pm • Respuestas 0 • Vistas 665 - SD | Examen de servicio de nombres (2020/05/01 21:27)Antes de informaros sobre el próximo examen, querría aclarar que, dado que en las circunstancias actuales ha desaparecido la distinción entre ejercicios individuales y de grupo, la nota de la parte
...
Estadísticas : Publicado por fperez • el Vie May 01, 2020 5:27 pm • Respuestas 0 • Vistas 895 - SD | Publicación de notas provisionales del examen de SF (2020/04/28 13:44)He publicado directamente las notas de este examen a partir de las entregas. Para acceder a las calificaciones, puede usar la misma URL que utilizó para el examen, donde podrá encontrar el detalle
...
Estadísticas : Publicado por fperez • el Mar Abr 28, 2020 9:44 am • Respuestas 0 • Vistas 631 - SD | Docencia Temas 7/8 y práctica DMUTEX (2020/04/27 16:00)Estimados alumnos,
Los anuncios relativos a los temas 7 y 8 y a la práctica DMUTEX se realizarán a través del Moodle de la asignatura y por email.
Saludos,
Pablo
Estadísticas : Publicado por ptoharia • el Lun Abr 27, 2020 12:00 pm • Respuestas 0 • Vistas 564
Organización del curso
Calendario de la asignatura
Temario
- Presentación e Introducción (presentación; introducción)
- Definición de sistema distribuido
- Modelos de computación distribuida
- Objetivos de un sistema distribuido
- Arquitectura software
- Componentes de un s. distribuido
- Arquitectura del sistema distribuido (1ª parte, 2ª parte) (Selección de transparencias para el primer ejercicio); este examen incluye la parte cliente/servidor y editor/subscriptor de este tema y la parte de paso de mensajes del siguiente tema
- Arquitecturas para computación distribuida
- Modelo cliente-servidor
- Modelo editor-subscriptor
- Arquitecturas peer-to-peer
- Ejercicios de clase
- Comunicación (Transparencias)(Ejemplos de serialización) (Ejemplos de técnicas zero-copy) Para el primer ejercicio en clase solo entra la parte de paso de mensajes
- Paso de mensajes
- Llamadas a procedimientos remotos (RPC)
- Invocación de métodos remotos (RMI)
- Ejercicios de clase
- Sistemas de Ficheros Distribuidos [Sistemas de Ficheros Distribuidos;Sistemas de Ficheros Paralelos]
- Estructura de un SFD
- Resolución de nombres
- Acceso a los datos
- Gestión de caché
- Gestión de cerrojos
- Casos de estudio NFS, AFS y CODA
- Sistemas de ficheros paralelos:
- Casos de estudio: GPFS y Google File System
- Ejercicios de clase
- Pautas para la modalidad no presencial de la asignatura (María S. Pérez) :
- El grupo de tarde solo recibió una clase. Los vídeos de la segunda clase del tema:
- Para estudiar la tercera clase, además de las transparencias del tema, se recomienda revisar estos artículos que presentan los dos casos de estudios de sistemas de ficheros paralelos:
- Servicio de nombres y de directorio. El examen se centra en DNS y LDAP. (Transparencias completas: solo entran las 80 primeras)
- Servicio de nombres
- Jerarquía de nombres
- Distribución y replicación del espacio de nombres
- Estudio de un ejemplo práctico: DNS
- Servicio de directorio
- Estudio de un ejemplo práctico: LDAP (Ejemplos de LDAP)
- Descubrimiento de servicios (Transparencias) (no entra en el examen)
- Ejercicios de clase de los últimos cursos (incluye DNS, LDAP; los de cursos anteriores están separados por temas)
- Ejercicios de clase de la parte de DNS (de 2012 a 2015)
- Ejercicios de clase de la parte de LDAP (de 2012 a 2015)
- Material para la modalidad no presencial: Transparencias con audio organizadas en 3 clases teóricas y 3 prácticas entrelazadas (ya disponibles):
- Memoria Compartida Distribuida (DSM) (Transparencias; no entra en el examen)
- Estrategias de implementación y modelos de coherencia
- Sincronización Transparencias (Vídeos de las clases disponibles en Moodle)
- Relojes y tiempo lógico
- Exclusión mutua distribuida
- Problemas de consenso
- Transacciones distribuidas
- Gestión de Procesos Transparencias
- Planificación en sistemas paralelos/distribuidos
- Equilibrado de carga
- Migración de procesos
- Computación móvil
- Conceptos generales sobre la computación móvil
- Aspectos básicos sobre la programación con Android
Proyectos prácticos
Como se especifica en la normativa de la asignatura, hay dos de tipos de proyectos prácticos:
- En grupo: Realizados en grupos de dos estudiantes
- Individuales: Realizados de forma individual
Habrá cuatro proyectos, dos de cada tipo, cuyos enunciados se publicarán a lo largo del curso.
- Primer proyecto práctico individual (plazo junio: 28 de mayo de 2020) (plazo julio: 12 de julio de 2020): zerocopyMQ
- Responsable: Fernando Pérez Costoya
- Primer proyecto práctico de grupo (2 personas) (plazo junio: 31 de mayo de 2020)(plazo julio: 12 de julio de 2020) : JavaAFS
- Responsable: Fernando Pérez Costoya
- Segundo proyecto práctico individual: (plazo junio: por determinar) (plazo julio: por determinar): DMUTEX
- Responsable: Pablo Toharia
- Segundo proyecto práctico de grupo (2 personas) (plazo junio: 31 de mayo de 2020)(plazo julio: 12 de julio de 2020): MasterWorker
- Responsable: Fernando Pérez Costoya
Trabajos optativos
El enunciado de los mismos se publicará a lo largo del curso. La calificación de cada uno de ellos se añade directamente a la nota total de la asignatura, siempre que esta esté aprobada.
- Reto vinculado con el protocolo HTTP
- Responsable: Fernando Pérez Costoya
- Reto vinculado con las RPC de Sun/ONC
- Responsable: Fernando Pérez Costoya
Ejercicios en clase
Como se especifica en la normativa de la asignatura, la asignatura comprende cuatro ejercicios de aplicación que se realizarán en clase, al final de los temas correspondientes. Las fechas de realización de los ejercicios se indican tanto en la guía de aprendizaje de la asignatura como en el calendario de la misma.
Guía de aprendizaje de la asignatura
Horario de clases
- 6F1M (aula 5001)
- Lunes de 10:05 a 11:55
- Miércoles de 12:05 a 13:55
- 6F2M (aula 5101)
- Lunes de 10:05 a 11:55
- Miércoles de 12:05 a 13:55
- 6F3T (aula 5001)
- Martes de 15:05 a 16:55
- Jueves de 17:05 a 18:55
Consulta de notas
Acceda a la página de consulta de notas de las asignaturas del grupo de sistemas operativos.
Normas
La asignatura se evaluará mediante 2 tipos de pruebas:
- Ejercicios en clase. Al final de algunos temas se llevará a cabo, en la propia aula y durante el horario regular de la asignatura, un ejercicio sobre el contenido de los temas que se han impartido desde el ejercicio previo. Este ejercicio podrá requerir la lectura de artículos relacionados con esos temas, ya sea durante el desarrollo del ejercicio o previamente. Habrá 2 ejercicios de carácter individual y 2 de desarrollo en grupo, cuyas fechas se especifican tanto en la guía de aprendizaje de la asignatura como en el calendario de la misma.
- Proyectos prácticos. El desarrollo de estos proyectos se llevará a cabo de forma no presencial usando los recursos ofrecidos por el Centro de Cálculo para tal fin, y apoyándose en las tutorías para la resolución de cualquier aspecto vinculado con el desarrollo de los mismos. Los plazos de entrega estarán escalonados a lo largo del desarrollo del curso y se publicarán en la página web de la asignatura con suficiente antelación. Habrá 2 proyectos prácticos de carácter individual y 2 de desarrollo en grupo.
- La nota final de la asignatura se calculará considerando tres partes: 25% corresponde a los ejercicios en clase individuales, 25% a los ejercicios en clase por grupos y 50% a los proyectos prácticos.
- Con respecto a los proyectos prácticos, para dar mayor flexibilidad al alumno, la nota que se les asigna es tal que permite al alumno obtener toda la nota de la parte práctica completando únicamente tres de los cuatro proyectos. De esta forma, cada proyecto práctico, ya sea de carácter individual o de grupo, tendrá un peso del 16,7% en la nota de la asignatura. Como consecuencia de este ajuste, incluso realizando tres de los cuatro proyectos prácticos planteados, el alumno puede obtener la nota máxima en la asignatura. Sin embargo, el alumno deberá obtener una nota mínima de 4 en al menos un proyecto individual y en uno de grupo. Nótese que se puede aprobar la práctica realizando solo un proyecto individual y uno de grupo siempre que ambos tengan una nota mayor o igual que 4 y que la suma sea mayor o igual que 15 (con un 12 sería suficiente para compensar las prácticas).
- La nota de cada una de las tres partes (ejercicios en clase individuales, ejercicios en clase por grupos y proyectos prácticos) corresponderá a la media de las distintas pruebas de ese tipo realizadas por el alumno. No es obligatorio realizar ninguna prueba completa de ninguno de los tres tipos, pero para aprobar la asignatura, además de tener una nota final mayor o igual a 5, habrá que tener una nota mínima de 4 en cada una de las tres partes, así como cumplir las restricciones específicas de los proyectos prácticos descritas en el párrafo anterior.
Copia
En caso de que se detecte copia de prácticas o de teoría, a ambas partes implicadas (copiados y copiadores) se les suspenderá la totalidad de la convocatoria actual.
Bibliografía
- Distributed Systems, Concepts and Design. George Coulouris, Jean Dollimore, Tim Kindberg y Gordon Blair. Quinta Edición, Addison Wesley. 2012
- Distributed Systems. Maarten van Steen y Andrew S. Tanenbaum. Tercera Edición. 2017