GUÍA DE APRENDIZAJE
Sistemas Distribuidos
GRADUADO EN INGENIERÍA DE
COMPUTADORES
DATOS DESCRIPTIVOS1
CENTRO RESPONSABLE E.U. de Informática OTROS CENTROS
IMPLICADOS
CICLO Grado sin atribuciones MÓDULO Curso de Adaptación MATERIA:
ASIGNATURA: Sistemas Distribuidos CURSO: 3º
DEPARTAMENTO
RESPONSABLE Informática Aplicada CRÉDITOS EUROPEOS: 6
CARÁCTER: Obligatoria ITINERARIO:
CURSO ACADÉMICO: 2012/2013 PERIODO DE
IMPARTICIÓN: Segundo semestre IDIOMAS IMPARTICIÓN: Español
OTROS IDIOMAS DE IMPARTICIÓN: HORAS/CRÉDITO 26
1 Paso 0 en la aplicación EUROPA
PROFESORADO2
NOMBRE Y APELLIDOS
DESPACHO Correo electrónico EN INGLÉS
Isabel Muñoz Fernández D-4416 [email protected] No Sergio Arévalo Viñuales D-4415 [email protected] No
TUTORÍAS NOMBRE Y APELLIDOS TUTORÍAS LUGAR DÍA DE A Isabel Muñoz Fernández D-4416 Lunes 10 12 Martes 16 18 Miércoles 10 12 Sergio Arévalo Viñuales D-4415 Martes 11 14 Martes 15 18 GRUPOS Nº de Grupos3
GRUPOS ASIGNADOS EN:
Teoría 3
Prácticas 3
Laboratorio 0
2 Paso 2 en la aplicación EUROPA.
Si no se sabe el horario de tutorías, poner sólo el despacho. 3 Los grupos son de teoría y/o de laboratorio (no de prácticas).
REQUISITOS PREVIOS NECESARIOS4
ASIGNATURAS SUPERADAS: OTROS REQUISITOS
CONOCIMIENTOS PREVIOS RECOMENDADOS
ASIGNATURAS PREVIAS RECOMENDADAS:
Algorítmica y complejidad
Programación orientada a objetos y concurrente Redes de computadores Sistemas Operativos CONOCIMIENTOS PREVIOS Programación en Java OTROS CONOCIMIENTOS 4 Paso 3 en la aplicación EUROPA
COMPETENCIAS5
CÓDIGO COMPETENCIA NIVEL RA
G1 Comunicación oral y escrita N3 RA_6
G4 Organización y planificación N4 RA_1 - RA_6
G6 Uso de lengua inglesa N3 RA_6
G7 Uso de las tecnologías de la información
y las comunicaciones N5
RA_1 - RA_5
G8 Trabajo en equipo N3 RA_5
G9 Aprendizaje autónomo N4 RA_6
G10 Capacidad de análisis y síntesis N4 RA_6
G13 Razonamiento crítico N4 RA_6
G14 Resolución de problemas N3 RA_1, RA_2
I12
Conocimiento y aplicación de los procedimientos algorítmicos básicos de las tecnologías informáticas para diseñar soluciones a problemas, analizando la idoneidad y complejidad de los algoritmos propuestos
N5
RA_3, RA_4
I14
Capacidad para analizar, diseñar, construir y mantener aplicaciones de forma robusta, segura y eficiente, eligiendo el paradigma y los lenguajes de programación más adecuados
N3
RA_1 - RA_5
I17
Conocimiento y aplicación de las características, funcionalidades y estructura de los Sistemas Distribuidos, las Redes de Computadores e Internet y diseñar e implementar aplicaciones basadas en ellas
N4
RA_1 - RA_5
I20
Conocimiento y aplicación de los principios fundamentales y técnicas básicas de la programación paralela, concurrente, distribuida y de tiempo real
N4
RA_1 - RA_5
E3
Capacidad de analizar y evaluar arquitecturas de computadores, incluyendo plataformas paralelas y distribuidas, así como desarrollar y optimizar software de para las mismas
N3
RA_1 - RA_5
5 Paso 4 y 5 en la aplicación EUROPA. Hay que poner un RA por cada competencia que tenga la asignatura en el Plan de Estudios. Imprescindible poner todas las competencias.
CÓDIGO COMPETENCIA NIVEL RA E4
Capacidad de diseñar e implementar software de sistema y de comunicaciones N3 RA_1 - RA_5 RESULTADOS DE APRENDIZAJE CÓDIGO DESCRIPCIÓN
RA_1 Identifica los conceptos y abstracciones elementales que subyacen en todo sistema distribuido. RA_2 Identifica los problemas más comunes que presenta un sistema distribuido debido a la falta de memoria y reloj común, a la falta de sincronía y a la presencia de errores
en la red y en los procesos.
RA_3 Define el modelo fundamental y el modelo arquitectónico de un sistema distribuido. RA_4 Selecciona los algoritmos más apropiados para la resolución de los problemas anteriores dado un determinado modelo fundamental. RA_5 Construye aplicaciones distribuidas utilizando tanto algoritmos bien conocidos como propios, así como plataformas middleware existentes en el mercado para la
computación distribuida.
RA_6 Analiza y sintetiza por escrito un texto científico en inglés, identificando el problema, el objetivo, el método de resolución del problema, los resultados y las conclusiones del autor.
INDICADORES DE LOGRO6
CÓDIGO INDICADOR RA
IN_01
E1.- Cuestiones sobre objetivos específicos
Cuestiones de respuesta corta sobre los objetivos específicos de cada tema previamente definidos
RA1, RA2, RA3, RA4,
RA5 IN_02 E2.- Resolución de problemas
Resolución de ejercicios sobre los contenidos de la asignatura
RA1, RA2, RA3, RA4,
RA5
IN_03
P1.- Evaluación del razonamiento crítico realizado sobre un artículo científico
Lenguaje apropiado en la documentación desarrollada.
Organización del texto. Razonamiento crítico sobre la forma de expresión de las ideas por parte del autor: identificación del problema, estado del arte, objetivo del autor, método de resolución, resultados y conclusiones
RA1-RA5
IN_04 P2.- Evaluación del desarrollo en Java de un sistema
distribuido. RA5
6 Paso 6 en la aplicación EUROPA
CONTENIDOS ESPECÍFICOS (TEMARIO)7
TEMA APARTADOS LOGRO
1. Characterization of
Distributed
Systems (4 h)
1.1. Introduction
IN_01,IN_02
1.2. Examples of distributed systems
1.3. Resource sharing and the web
1.4. Challenges
2. System Models (4 h)
2.1. Introduction
IN_01, IN_022.2. Architectural models
2.3. Fundamental models
3
.
Synchronization (8 h)
5.1 Introduction
IN_01, IN_025.2. Synchronizing physical clocks
5.3. Logical time and logical clocks
5.4. Global states
4. Coordination and
agreement (8 h)
6.1. Introduction
IN_01,IN_02,
6.2. Distributed mutual exclusión
6.3. Elections
6.4. Multicast communication
6.5. Consensus
5. Transactions (6 h)
7.1. Introduction
IN_01,IN_02
7.2 Flat and nested distributed transactions
7.3 Atomic commit protocols
7.4 Transaction recovery protocols
CONTENIDOS ESPECÍFICOS (TEMARIO)
TEMA
APARTADOS
LOGROLab 1. Java Review
(4h)
1.1 Platform Description
IN_01, IN_02,IN_04
1.2 Compiling
1.3 Classes and Objects
1.4 Exceptions
1.5 Input/Output Streams
Lab 2. Operting System
Support (4h)
[Coulouris7]
2.1 Introduction [C7.1]
IN_01, IN_02,IN_04
2.2 The Operating system Layer [C7.2]
2.3 Protection [C7.3]
2.4 Processes and Threads [C7.4]
2.4.1 Address spaces [C7.4.1]
2.4.2 Creation of a new process [C7.4.2]
2.4.3 Threads [C7.4.3] excluding Architectures
for multi-threaded servers
Lab 2. Interprocess
Communication
(4 h) [Coulouris4]
2.1. Introduction [C4.1]
IN_01, IN_02, IN_042.2. The API for the Internet protocols [C4.2]
2.2.1. Characteristics [C4.2.1]
2.2.2. Sockets [C4.2.2]
2.2.3. UDP Datagram Communication[C4.2.3]
2.2.4. TCP Stream Communication[C4.2.4]
2.3. External Data Representation and
Marshalling [C4.3]
2.3.1. Java Object Serialization [C4.3.2]
Lab 3. Remote
Invocation
(6 h) [Coulouris5,7]
3.1. Introduction [C5.1]
IN_01, IN_02,IN_04
3.2 Request-reply protocol [C5.2]
3.3 Architectures for multi-threadedservers
[C7.4.3]
3.3. Remote procedure call [C5.3]
3.4. Asynchronous Invocation [C7.5.2]
3.5. Remote Method invocation [C5.4]
3.4.1. Design issues for RMI [C5.4.1]
3..4.2. Remote Object reference [4.3.4]
3.4.3. Implementation of RMI [C5.4.2]
3.4.4 Invocation Performance [C7.5.1]
3.4.4. Case Study. Java RMI [C5.5]
LabX.Critical Thinking
(4 h)
8.1 Introduction
IN_3
8.2. Reading, analysis, synthesis JC I
8.3 . Reading, analysis, synthesis JC II
BREVE DESCRIPCIÓN DE LAS MODALIDADES ORGANIZATIVAS UTILIZADAS Y MÉTODOS DE ENSEÑANZAS EMPLEADOS8
MODALIDAD DESCRIPCIÓN MÉTODO MÉTODOS DE ENSEÑANZA
CLASES DE TEORÍA
Descripción de conceptos teóricos • Lección magistral • Aprendizaje cooperativo • Resolución de ejercicios
y problemas PRÁCTICAS Desarrollo incremental de un sistema
distribuido e tipo RMI en Java • Aprendizaje basado en proyectos TRABAJOS
AUTÓNOMOS
Búsqueda, análisis y síntesis de información relativa a conceptos de la asignatura aplicados a la vida real
10 m Exposición oral usando unas transparencias escritas en inglés
• Método expositivo • Estudio de casos
TUTORÍAS Individuales Grupales
8 Paso 10 de la aplicación EUROPA
CRONOGRAMA DE TRABAJO DE LA ASIGNATURA9 SEM
ANA ACTIVIDADES
Actividad Modalidad10 Met.Ense11 Lugar12 Duración Evaluación13 Prep Carga(
%)14
1
Tema 1. Intro (I) Clase teórica Lección magistral Aula 2 2
Tema 1. Repaso Java I. Entorno. Objetos. Excepciones. I/O. Enunciado JC 1(4 h)
Clase de
prácticas Proyecto Laboratorio 2
4
JC I (2 h) Java I (2h)
2
Tema 1. Intro (II) Clase teórica Lección magistral Aula 2 2
Tema 1. Repaso Java II. Threads.
Concurrencia. Enun P1(3 h)
Clase de
prácticas Proyecto Laboratorio 2
4
JC I ( 2 h) P1. Threads (3 h)
3
Tema 2. System Model (I) Clase teórica Lección magistral Aula 2 3
Corrección JC I. Enunciado JC 2 Tema 2. IPC I 2.1 Intro
Clase de
prácticas Proyecto Laboratorio 0’5
P1.Threads (2h) JC II (1h) 3
JC I. Examen JC 1 Estudio autónomo Coevaluación Laboratorio 1’5 Ev. Continua 0
9 Paso 8 en la aplicación EUROPA
10 A elegir entre: Clase de Problemas, Clase de prácticas, Clases teóricas, Estudio y trabajo autónomo, Estudio y trabajo en grupo, prácticas externas, seminarios-talleres, tutorías
11 A elegir entre: Aprendizaje Basado en Problemas, Aprendizaje Basado en Proyectos, Aprendizaje cooperativo, Contrato de aprendizaje, Estudio de casos, estudio de teoría, Lección magistral, Método expositivo, Resolución de ejercicios y problemas
12 Aula, Laboratorio, Otros
13 Continua, Examen Final, Ambas
14 No hace falta calcularla, lo hace la aplicación. Lo que sí hay que hacer es cuidar el número de horas dedicadas por el alumno a la asignatura semanalmente. La suma semestral, incluyendo las horas de los exámenes, debe ser 156 horas.
SEM
ANA ACTIVIDADES
Actividad Modalidad10 Met.Ense11 Lugar12 Duración Evaluación13 Prep Carga(%)14
4
Tema 2. System Model (II) Clase teórica Lección magistral Aula 2 3
Comunicación (I)
Sockets TCP. UDP. Java. 3.1 y 3.2.
Enun P2 (4 h)
Prácticas Lección magistral
Práctica en ordenador Laboratorio 2
P2. Sockets multihilo (2h) JC II (1) 3
5
Tema 3. Synchro (I) Clase teórica Lección magistral Aula 2 3
RMI (I) 4.1. Intro
4.2 comunication Object 3.4 Client/server prot 3.3 Ext. Data Represent
Prácticas Lección magistral Laboratorio 2
P2. Sockets multihilo (2h) JC II (1) 3
6
Tema 3. Synchro (II) Clase teórica Lección magistral Aula 2 3
Tema 4. RMI (II)
Enun. ORB (14 h) Prácticas Lección magistral Laboratorio 1
P3. ORB I (2) JC II (1) 3
Exam prácticas P1 y P2.
Threads y sockets Estudio autónomo
Resolución de
problemas Laboratorio 1
0
7
Tema 3. Synchro (III) Clase teórica Lección magistral Aula 2 3
Tema 4. RMI (III)
Ejemplo Java RMI Prácticas Lección magistral Laboratorio 2
P3. ORB II (2) JC II (1) 3
8 Semana Santa
9
Tema 3. Synchro (IV)
Relojes vectoriales Clase teoría Lección magistral Aula 2
3
Ejemplo Java RMI Prácticas Resolución RMI/Java Laboratorio 2
P3. ORB III (2) JC II (1) 3
10 Exam Teoría. T1-T3
Exam prácticas P1 y P2 Bloque 2 Ev. continua
SEM
ANA ACTIVIDADES
Actividad Modalidad10 Met.Ense11 Lugar12 Duración Evaluación13 Prep Carga(%)14
P3. ORB IV Prácticas Aprendizaje Basado
en proyecto Laboratorio 2
P3. ORB V (2) JC II (1) 3
11
Tema 4. Coord (I) Clase teórica Lección magistral Aula 2 3
P3. ORB VI JCII Clase de prácticas Aprendizaje Basado en Proyectos Laboratorio 2 P3.ORB VII (2) JC II (1) 3 12
Tema 4. Coord (II) Clase teórica Lección magistral Aula 2 3
P3.ORB VIII JCII Enun P4. SN (5 h) Clase de prácticas Aprendizaje Basado en Proyectos Laboratorio 2 P4. SN I (1’5) JC II (1’5) 3 13
Tema 4. Coord (III) Clase teórica Lección magistral Aula 2 3
P4. SN JCII Clase de prácticas Aprendizaje basado en problemas Laboratorio 2 P4. SN (1’5) JC II (1’5) 3 14
Tema 4. Coord (IV) Clase teórica Lección magistral Aula 2 3
P4. SN JCII Clase de prácticas Aprendizaje Basado en Proyectos Laboratorio 2 Prep Ex P3-P4 (1’5) JC II (1’5) 3 15
Tema 5. Trans (I) Clase teórica Lección magistral Aula 2 3
JC II Clase de prácticas Aprendizaje Basado en Proyectos Laboratorio 0’5
JC II (1’5) Repaso examen (1’5)
Estudio autónomo Res. de problemas Laboratorio 1’5 0 16
Tema 5. Trans (II) Clase teórica Lección magistral Aula 2 3
JC II Clase de
prácticas
Aprendizaje Basado
en Proyectos Laboratorio 2
3
H
EVALUACIÓN DE LA ASIGNATURA
SEMANA ACTIVIDADES
Actividad Lugar Técnica eval15. Peso(%) Eval. min
1 2 3
Examen JC I (1’30 h ) Laboratorio Coevaluación 0 5
4 5 6 Examen prácticas P1 y P2. Threads y sockets (1 h)
Laboratorio Prueba de ejecución de tareas reales 0 5
7 8
15 Escalas de actitudes, Informes/memorias de prácticas, Portafolios, Prueba de Ejecución de tareas reales y/o simuladas, Pruebas de Respuestas Corta, Pruebas de Respuestas Largas de desarrollo, Pruebas objetivas, Pruebas orales, Sistema de Autoevaluación, Técnica de observación, Trabajos y Proyectos
SEMANA ACTIVIDADES
Actividad Lugar Técnica eval15. Peso(%) Eval. min
9 10 11/04/2013 Examen Teoría. T1-T3 Examen Prácticas (2h) Bloques 13:30 h - 15:30 h Pruebas de respuesta corta/larga 50 5 11-17 18 5/06/2013 (Examen ord junio)
Examen Teoría. T4 –T5 Examen de Prácticas. (2h )
Bloque Pruebas de respuesta corta /
CRITERIOS DE CALIFICACIÓN DE LA ASIGNATURA
CRITERIOS DE CALIFICACIÓN Evaluación de la asignatura en el periodo ordinario de docencia a) Sistema de evaluación continua
Bloque I. Teoría. 2 pruebas escritas individuales (50%) Bloque II. Pensamiento crítico (5%)
Bloque III. Prácticas (45%)
• Es necesario obtener al menos un 5 sobre 10 en todos los bloques para superar la asignatura • En el caso de que el alumno suspenda el sistema de evaluación continua pero tenga algún o
algunos bloques superados, podrá presentarse al examen extraordinario de julio y examinarse únicamente de los bloques suspensos
b) Sistema de evaluación mediante solo prueba final
Al sistema de evaluación de prueba final podrán presentarse aquellos alumnos que hayan optado por esta modalidad. La elección de dicha modalidad podrá realizarse como máximo hasta el viernes 29 de marzo de 2013.
No se tendrá en cuenta ninguna nota de pruebas realizadas de bloques suspensos bajo la evaluación continua en la nota del examen ordinario de junio.
Las actividades de evaluación previstas son: • Bloque I. Teoría. Prueba escrita (55%) • Bloque II. Prácticas. (45%)
Solo se podrá aprobar si se obtiene al menos un 5 sobre 10 en cada uno de los bloques anteriores.
Evaluación de la asignatura en el periodo extraordinario
El examen extraordinario de julio constará de 2 bloques de evaluación distintos: teoría y prácticas. Los alumnos que en evaluación continua hayan superado alguno de estos bloques, no tendrán que examinarse de ellos de nuevo. Las actividades de evaluación previstas son:
• Bloque I. Teoría. Prueba escrita (55%) • Bloque II. Prácticas. (45%)
RECURSOS DIDÁCTICOS16
TIPO DESCRIPCIÓN
BIBLIOGRAFÍA Coulouris, G., Dollimore, J. y Kindberg, T. (2005). Distributed systems, concepts and design (5ª ed.). Madrid: Addison-Wesley. Tanenbaum, A.S. y van Steen, M. (2002). Distributed systems: principles and paradigms. Upper Saddle River, NJ: Prentice-Hall. Lynch N. (1999). Distributed Algorithms. Morgan Kaufmann.
Attiya, H. and Welch, J. (2004). Distributed Computing (2 nd. edition). Wiley
Liu, M.L. (2004). Computación distribuida: fundamentos y aplicaciones. Madrid: Addison Wesley.
RECURSOS WEB Servidor Moodle del departamento: http://c3po.eui.upm.es
EQUIPAMIENTO Laboratorios del departamento Aulas del Centro de Cálculo
OTRA INFORMACIÓN RESEÑABLE17
16 Paso 11 en la aplicación EUROPA 17 Paso 12 en la aplicación EUROPA