Sistemas Distribuidos Detalles de la asignatura. Rodrigo Santamaría

Documentos relacionados
Sistemas Distribuidos Detalles de la asignatura. Rodrigo Santamaría

Sistemas distribuidos

SISTEMAS DISTRIBUIDOS

El calendario de exámenes y las fechas de entrega de trabajos se anunciará con suficiente antelación.

Programa de la asignatura Curso: 2009 / 2010 SISTEMAS DISTRIBUIDOS (4463)

GUÍA DOCENTE CURSO FICHA TÉCNICA DE LA ASIGNATURA. Datos de la asignatura Nombre. Datos del profesorado Profesor Israel Alonso Martínez

GUÍA DE APRENDIZAJE SISTEMAS OPERATIVOS

PROGRAMACIÓN DISTRIBUIDA

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Sistemas distribuidos. CURSO ACADÉMICO - SEMESTRE Segundo semestre

GUÍA DOCENTE DE ASIGNATURA CURSO 2009/2010

COMPUTACIÓN DISTRIBUIDA Y APLICACIONES

GUÍA DOCENTE Sistemas Distribuidos

GUÍA DOCENTE. Curso DESCRIPCIÓN DE LA ASIGNATURA. Ingeniería Informática en Sistemas de Información Doble Grado: Módulo: Modulo 4

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Sistemas operativos. CURSO ACADÉMICO - SEMESTRE Primer semestre

MÁSTER UNIVERSITARIO EN CIENCIAS Y TECNOLOGÍAS DE LA COMPUTACIÓN Guía de Aprendizaje Información al estudiante

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Sistemas operativos. CURSO ACADÉMICO - SEMESTRE Primer semestre

EXPERIENCIA PILOTO DE CRÉDITOS EUROPEOS UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR GUÍA DOCENTE DE SISTEMAS EN TIEMPO REAL CURSO

GUÍA DE APRENDIZAJE PROGRAMACION ORIENTADA A OBJETOS Y CONCURRENTE

Sistemas empotrados y ubicuos

CURSO ACADÉMICO 2007/2008

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Sistemas operativos. CURSO ACADÉMICO - SEMESTRE Primer semestre

Sistemas empotrados, ubicuos y móviles

Universidad Autónoma de San Luis Potosí Facultad de Ingeniería Programas Analíticos del Área Mecánica y Eléctrica 5727 PROGRAMACION EN PARALELO

Fundamentos de Ingeniería del Software Grado en ADMINISTRACIÓN Y DIRECCIÓN DE EMPRESAS TECNOLÓGICAS 3er curso. Modalidad Presencial

Máster Universitario en Tecnologías de la Información y las Comunicaciones Universidad de Alcalá Curso Académico 2013/14

Fundamentos de Ingeniería del Software Grado en ADMINISTRACIÓN Y DIRECCIÓN DE EMPRESAS TECNOLÓGICAS 3er curso. Modalidad Presencial

Computadores I Prác%cas. Rodrigo Santamaría

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Sistemas distribuidos. CURSO ACADÉMICO - SEMESTRE Primer semestre

Middleware para Aplicaciones basadas en Componentes Distribuidos

Redes de Ordenadores. Guía de aprendizaje

Curso INGENIERÍA QUÍMICA. Curso: 2º Carácter: Obligatorio Duración: Semestral Idioma: Español

Guía Docente. Modalidad Presencial. Sistemas Operativos Distribuidos. Curso 2017/18. Grado en Ingeniería de. Sistemas de Información

PROYECTO DOCENTE ASIGNATURA "SSOO para Sistemas Empotrados" (SSOOSE)

Guía Docente Modalidad Presencial. Estructuras de Datos. Curso 2017/18. Grado en Ingeniería de. Sistemas de Información

Proyecto de sistemas informáticos

GRADUADO EN INGENIERÍA DE COMPUTADORES Guía de Aprendizaje. Información al estudiante

DESCRIPCIÓN DE LA ASIGNATURA

TEMARIO. Créditos teóricos: 3 Créditos prácticos: 3. Lenguajes y Sistemas Informáticos Departamento: Lenguajes y Computación - PROGRAMA DE TEORÍA:

Programación Concurrente y de Tiempo Real

Curso 2013/2014 Raúl Baños Navarro Javier Bermúdez Ruiz Manuel Gil Pérez Marcos Menárguez Tortosa Manuel Quesada Martínez

Ingeniería del Software II

Middleware para Aplicaciones basadas en Componentes Distribuidos

GUÍA DE APRENDIZAJE DISEÑO DE SISTEMAS OPERATIVOS GRADUADO EN INGENIERÍA DE COMPUTADORES PLAN 2009

GUÍA DOCENTE CURSO: DATOS BÁSICOS DE LA ASIGNATURA DISTRIBUCIÓN HORARIA DE LA ASIGNATURA SEGÚN NORMATIVA DATOS DEL PROFESORADO

Escuela Superior de Ingeniería y Tecnología

Algoritmia Básica. Javier Campos (teoría y problemas) Simona Bernardi (prácticas)

CURSO ACADÉMICO 2008/2009

Escuela Técnica Superior de Ingeniería. Informática. Grado en Ingeniería Informática

MÓDULO MATERIA CURSO SEMESTRE CRÉDITOS TIPO

Guía Docente ESCUELA POLITÉCNICA SUPERIOR ASIGNATURA PROGRAMACIÓN II CURSO SEMESTRE 2 GRADO (S) INGENIERÍA DE SISTEMAS DE

GUÍA DOCENTE DE ASIGNATURA CURSO 2009/2010

Escuela Técnica Superior de Ingeniería Informática

DESCRIPCIÓN DE LA ASIGNATURA

1. Datos Descriptivos Contextualización de los Contenidos y Competencias de la Asignatura Competencias específicas...

GUÍA DOCENTE. Ingeniería Informática en Sistemas de Información Doble Grado:

GUÍA DOCENTE Sistemas Operativos

PRESENTACIÓN Y CONTEXTUALIZACIÓN

ESCUELA POLITÉCNICA SUPERIOR DE CÓRDOBA

ESCUELA POLITÉCNICA SUPERIOR DE CÓRDOBA GRADO DE INGENIERÍA INFORMÁTICA CURSO 2013/14 ASIGNATURA: SISTEMAS EN TIEMPO REAL DATOS DE LA ASIGNATURA

Guía Docente. Modalidad A Distancia. Sistemas Operativos Distribuidos. Curso 2018/19. Grado en Ingeniería de. Sistemas de Información

Guia Docente 2018/2019

Guía Docente Modalidad Presencial. Redes I. Curso 2017/18 Grado en Ingeniería de. Sistemas de la Información

GUÍA DE APRENDIZAJE PROGRAMACIÓN ORIENTADA A OBJETOS GRADUADO EN INGENIERÍA DE SOFTWARE

ANX-PR/CL/ GUÍA DE APRENDIZAJE

PROGRAMA DE LA ASIGNATURA "Arquitectura de Sistemas Paralelos I" INGENIERO EN INFORMÁTICA ( Plan 97 )

GUÍA DE APRENDIZAJE Arquitectura de Computadores GRADUADO EN INGENIERÍA DE COMPUTADORES

UNIVERSIDAD NACIONAL FEDERICO VILLARREAL FACULTAD DE INGENIERÍA ELECTRÓNICA E INFORMÁTICA SÍLABO

GUÍA DE APRENDIZAJE. Teoría de la gestión de la información GRADUADO EN INGENIERÍA DE COMPUTADORES

ANX-PR/CL/ GUÍA DE APRENDIZAJE

GUÍA DE APRENDIZAJE COMPUTACION UBICUA

Sistemas Distribuidos Introducción. Rodrigo Santamaría

GRADO EN INGENIERÍA EN TECNOLOGÍAS INDUSTRIALES (Plan 2010). (Unidad docente Obligatoria) 6 Idiomas docencia: Catalán

Guía Docente Modalidad A Distancia. Redes I. Curso 2017/18. Curso de adaptación al Grado en Ingeniería de Sistemas de Información

ANX-PR/CL/ GUÍA DE APRENDIZAJE

GUÍA DOCENTE ANÁLISIS, PLANIFICACIÓN FINANCIERA Y VALORACIÓN DE LA EMPRESAS

Guía docente de la asignatura

PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE. Sistemas distribuídos

Guía Docente

GUÍA DE APRENDIZAJE PROGRAMACION ORIENTADA A OBJETOS

Guía Docente Modalidad Presencial. Ingeniería del Software II. Curso 2017/18. Grado en Ingeniería de. Sistemas de Información

GUÍA DOCENTE SISTEMAS OPERATIVOS

Guía Docente. Tipo: Obligatoria Créditos ECTS: 6. Curso: 4 Código: 3639

Fundamentos de Bases de Datos

Fundamentos del Software. 1º Doble Grado en Ingeniería Informática y Matemáticas Curso 2014/2015

Middleware. Guía!de!Aprendizaje!!Información!al!estudiante! 1. Datos Descriptivos !!!!!! Departamento responsable

PROGRAMA DE LA ASIGNATURA "Ingeniería Energética, Transmisión de Calor y Fluidos" Grado en Ingeniería en Diseño Industrial y Desarrollo del Producto

Física I PRESENTACIÓN CURSO PRESENTACIÓN

Análisis y diseño de software

Análisis y diseño de software

FICHA DE ASIGNATURAS DE INGENIERO TÉCNICO EN INFORMATICA DE GESTIÓN Y SISTEMAS PARA GUÍA DOCENTE. EXPERIENCIA PILOTO DE CRÉDITOS EUROPEOS

Grado en Ingeniería en Tecnologías Industriales Curso 2017/2018. Informática y comunicaciones

Guía docente de la asignatura ADQUISICIÓN DE COMPETENCIAS EN INFORMACIÓN

Curso Informática Graduado en Ingeniería de Tecnologías y Servicios de Telecomunicación

(Fecha última actualización: 11/05/2018) (Fecha de aprobación en el Consejo de Departamento: 17/05/2018)

GUÍA DOCENTE DE ASIGNATURA CURSO 2008/2009

ANX-PR/CL/ GUÍA DE APRENDIZAJE

Transcripción:

Detalles de la asignatura Rodrigo Santamaría

Contenidos Distribución de horas Teoría Práctica Evaluación Calendario Contacto

Contenidos Distribución de horas Teoría Práctica Evaluación Calendario Contacto

Asignatura de 4º del Grado en Ingeniería Informática Antecesoras Ampliación de SSOO (1º de Ingeniería en Informática) (Curso de Adaptación al Grado) 6 ECTS (3 teóricos y 3 prácticos) 60h presenciales 90h de trabajo autónomo 4

5

6 Google SO SO HW HW tcp/udp ip tcp/udp ip Internet

7 Google BitTorrent DNS Spotify Facebook Google SO SO HW HW tcp/udp ip tcp/udp ip Internet

8 jerga sincronización coordinación lenguaje mente aire cuerpo *muñecos de www.xkcd.com

A conversation between two AIs* jerga sincronización coordinación lenguaje mente smtp cuerpo software hardware * https://artplusmarketing.com/a-conversation-between-two-ais-c929d4f5f1d0 9

10 Distribución de horas Horas presenciales Horas de trabajo autónomo Horas Totales Sesiones de teoría 22 26 48 Sesiones de práctica 22 40 62 Seminarios 8 4 12 Tutorías 4-4 Examen 4 20 24 60 90 150 TOTAL

Temario 1. Introducción 2. Modelos 6. Coordinación y acuerdo 7. Sistemas de Archivos Distribuidos 3. Middleware 4. Servicios web 8. Sistemas P2P 5. Tiempo y estados globales 9. Replicación 10. Diseño de sistemas distribuidos (Google) 11

Teoría Tendremos 2h de clase por tema, aproximadamente Es muy recomendable traer estudiado el tema En clase se hará un breve resumen Se explicarán las partes más complicadas Se debatirá sobre los aspectos más relevantes Se estima aproximadamente una hora de estudio por cada hora de exposición de teoría, por ejemplo 30 min de lectura, previa a la clase de teoría 30 min de repaso tras la clase de teoría. 12

Seminarios Breve introducción a Java (si es necesario) Multiproceso en Java REST Sistemas de control de versiones (SVN y Git) El contenido de los seminarios no se evaluará directamente en la parte teórica, pero indirectamente en la parte práctica 13

Práctica obligatoria Objetivo: obtener las capacidades para desarrollar un algoritmo distribuido Evaluado mediante una práctica obligatoria que se irá viendo en tres fases 1. Múltiples procesos (Java Threads) 2. Comunicación (REST) 3. Algoritmo(s) distribuido(s) Para cada una de las fases tendremos 2h de explicación y programación una semana de trabajo del alumno Las prácticas se realizan por parejas (salvo causas excepcionales) 14

Práctica opcional Objetivo: dejar a los estudiantes libertad de elección en cuanto a Tema: se puede elegir entre tres temas amplios Tecnología: se puede usar cualquier lenguaje de programación o plataforma Organización: la práctica se realiza en grupos de 1 a 5 personas Temas a elegir: Edición de Wikipedia sobre conceptos de SSDD Diseño de un sistema P2P mediante DHT Diseño de un sistema tipo Bitcoin mediante Blockchain 15

Práctica opcional: DHT Creación de una tabla hash distribuida Diseño e implementación de un sistema de compartición de ficheros mediante DHT Los aspectos de multiproceso y comunicación se ven anteriormente en las prácticas (para Java y REST) Los aspectos teóricos de DHT se ven anteriormente en teoría (para Kademlia, tema 8) 16

Práctica opcional: Blockchain Creación de un blockchain Diseño e implementación de un sistema de transacciones distribuido mediante Blockchain Los aspectos de multiproceso y comunicación se ven anteriormente en las prácticas (para Java y REST) Los aspectos teóricos de Blockchain se ven anteriormente en teoría (tema 9b) 17

18 Práctica opcional: Wikipedia Inclusión o ampliación de un artículo en Wikipedia Relacionado con los SSDD Inexistente o deficitario Edición rigurosa Ejemplos: Tema Edición Enlace Algoritmo Paxos Nuevo http://es.wikipedia.org/wiki/algoritmo_de_paxos Aceleración de marea Nuevo http://es.wikipedia.org/wiki/aceleraci%c3%b3n_de_marea Leslie Lamport Modificado http://es.wikipedia.org/wiki/usuario:pau84/leslie_lamport Remote Procedure Call Modificado http://es.wikipedia.org/wiki/remote_procedure_call Git Tabla Hash Distribuida Nuevo Modificado http://es.wikipedia.org/wiki/usuario:alvarosparks/pruebas http://es.wikipedia.org/wiki/tabla_de_hash_distribuida

Foro No se responderán dudas sobre la asignatura por correo Todas esas dudas se responderán en el Foro de Studium Permite que otros estudiantes se beneficien de la respuesta Permite que otros estudiantes respondan con sus soluciones Imita un modo típico de consulta (Stackoverflow, etc.) Es un método distribuido :) Sigo estando disponible por correo para concertar citas de tutoría, dudas puntuales, etc. 19

Evaluación Evaluación separada de teoría y práctica Hay que aprobar las dos partes por separado La parte práctica se aprueba superando la práctica obligatoria Teoría Examen final (50%) Práctica Práctica obligatoria (35%) Práctica opcional (15%) Evaluación continua (10%) 20

Sistemas distribuidos Evaluación: competencias específicas Conocimiento y aplicación de las características, funcionalidades y estructura de los [ ] Conocimiento y aplicación de los principios fundamentales y técnicas básicas de la programación [ ] distribuida[ ] Capacidad de concebir sistemas, aplicaciones y servicios basados en tecnologías de red [ ] Examen final Práctica obligatoria 21

Sistemas distribuidos Evaluación: competencias generales Aplicación de conocimientos a la práctica Práctica opcional Práctica opcional Habilidades de investigación Capacidad de aprender Práctica obligatoria y opcional Capacidad de generar nuevas ideas Gestión de la información Práctica opcional, debates Práctica obligatoria y opcional 22

Sistemas distribuidos 23 Evaluación: competencias generales Organización y planificación Trabajo autónomo y cumplimiento de plazos Tutorías Resolución de problemas Tutorías y foro Toma de decisiones Práctica opcional Capacidad crítica y autocrítica Debate Trabajo en equipo Prácticas Prácticas, examen y fechas de entrega y preguntas en clase

Evaluación continua Se evaluará Asistencia (proactiva) y contribuciones en clase Actividad en el foro de Studium Pensamiento crítico y participación en debates Evolución personal de cada alumno Entrega de ejercicios opcionales La mayoría de estos puntos están destinados a generar un ambiente más dinámico y crítico en clase Dentro de lo que permita la explicación de los puntos teóricos 24

Evaluación de la teoría Examen final con preguntas a desarrollar sobre el temario Se evaluará Conocimiento de los conceptos más relevantes Comprensión de los algoritmos y técnicas explicadas Capacidad de análisis crítico Claridad y síntesis en el desarrollo de las respuestas 25

Evaluación de la práctica obligatoria Tres fases de desarrollo Puntos de chequeo en cada fase intermedia No se evaluarán exhaustivamente Discusión sobre los asuntos más difíciles o no resueltos Es muy recomendable tener terminada cada fase en los tiempos marcados para alcanzar el objetivo final O, en caso negativo, exponer los problemas encontrados 26

Evaluación de la práctica obligatoria Entrega en plazo (mediados de mayo) Defensa Comprobación de su funcionamiento correcto Necesario para aprobar Aspectos adicionales Simplicidad (interfaces pequeñas, código limpio, etc.) Claridad (comentarios, nombres relevantes, etc.) Exposición (explicación y respuesta a preguntas del profesor) Otros aspectos (eficiencia, optimización, tolerancia a fallos, simplicidad en el despliegue, interfaz de usuario, etc.) 27

Evaluación de la práctica opcional Entrega en plazo (mediados de mayo) Defensa Comprobación de su funcionamiento correcto Aspectos adicionales: calidad del diseño y defensa de las opciones elegidas Simplicidad (interfaces pequeñas, código limpio, etc.) Claridad (comentarios, nombres relevantes, etc.) Exposición (explicación y respuesta a preguntas del profesor) Otros aspectos (eficiencia, optimización, tolerancia a fallos, simplicidad en el despliegue, interfaz de usuario, etc.) 28

Evaluación de la práctica opcional (wikipedia) Entrega en plazo (mediados de mayo) Defensa Presentación del artículo o artículos Calidad del artículo Profesionalidad (referencias, corrección, ortografía, etc.) Síntesis (concreción en los puntos tratados) Claridad (estructura, redacción, simplicidad) Exposición (explicación y respuesta a preguntas del profesor) Otros aspectos (relevancia del tema, inglés, etc.) 29

Ética académica Un valor fundamental en cualquier trabajo es la honestidad La detección de plagio, total o parcial, en las prácticas o el examen final, implica automáticamente el suspenso de la asignatura, más la toma de posibles medidas adicionales elevadas al departamento. En el momento de la defensa, se entregará un documento de ética académica (formato base disponible en Studium) firmado por los componentes del grupo de prácticas. 30

31

32

Sistemas distribuidos Calificaciones (resultados 2014) 33

Sistemas distribuidos Calificaciones (resultados 2014) 34

Sistemas distribuidos Calificaciones (resultados 2016) 35

36 Calendario sesiones de teoría (2018) Sesión Semana 0 Presentación 1 Introducción 1 2 Modelos 2 3 Middleware 3 4 Servicios web 4 5 Tiempos 5 6 Coordinación y acuerdo 6, 7 Horario: Martes y miércoles de 9 a 10h Lugar: Aula Cuesta Dutari (Ed. La Merced) 7 Sistemas de Archivos 8 8 P2P 9 Examen: 4 de junio S - P2P (Debate) 10 9 - Replicación 11 2ª convocatoria: 25 de junio S CVS (SVN y Git) 12 10 - Google 13

37 Calendario sesiones de prácticas y seminarios Sesión Semana S Introducción a Java* 1 S Java Threads 2 3 S Comunicación en REST 4 5 Práctica Obligatoria Práctica Opcional trabajo en las prácticas Defensa de prácticas 6 7,8 9 10-14 15 *Sólo en caso de que una cantidad significativa de alumnos no tenga conocimientos básicos de Java Horario de las prácticas Martes, 10-12h (A1) Miércoles, 10-12h (A2) Jueves, 16-18h (A3) Martes, 16-18h (A4) Laboratorio de informática Fecha límite de entrega: 12 de mayo (23h) Las defensas se realizarán en la semana siguiente

Bibliografía El libro de referencia para la asignatura es G. Coulouris, J. Dollimore, T. Kindberg and G. Blair. Distributed Systems: Concepts and Design (5th Ed). Addison-Wesley, 2011 Especialmente, los capítulos 1, 2, 9, 10, 13, 14 y 15 Otras fuentes de consulta P. Albitz and C. Liu. DNS and BIND (3rd Ed). O Reilly, 1998 Especialmente el capítulo 2 Wikipedia (determinados artículos) Distintas páginas web, blogs y tutoriales Se detallarán en cada tema 38

Contacto Correo electrónico: rodri@usal.es a la Plaza Mayor Tutorías: Martes de 16:30 a 18:30 Casa del Parque nº2 Despacho P1145 Soporte en Studium 39 Soporte abierto http://vis.usal.es/rodrigo Aquí Trilingüe Facultad Ciencias

40

41 http://xkcd.com/676