Índice
Procesamiento Distribuido I
Asignatura
| Modalidad | Electiva |
| Área | Especialización |
| U.C: | 3 |
| Código | 2120360001880 |
Justificación
El desarrollo de las redes de datos y de la Internet en particular ha resultado en la masificación del uso de sistemas distribuidos para la implementación de una gran cantidad de aplicaciones tales como sistemas de sistemas de comercio electrónico, nubes de computación, redes sociales, sistemas peer-to-peer, redes de sensores y aplicaciones web dinámicas, entre otros.
Se prevé que el tamaño y número de estos sistemas continúe creciendo aceleradamente, lo cual implica que cada vez será más necesario resolver problemas inherentes a este tipo de aplicaciones, tales como escalabilidad, confiabilidad, interoperabilidad y seguridad, entre otros.
Para estar en capacidad de abordar estos problemas es necesario comprender una serie de fundamentos y técnicas que son objeto de estudio de este curso.
Objetivos del Curso
Dominar fundamentos teóricos y prácticos que permiten abordar problemas de diseño e implementación de sistemas distribuidos. En particular, en esta primera parte del curso se cubren principios de arquitectura, procesos, comunicación, nombres, sincronización, consistencia y replicación.
Prerequisitos
Haber aprobado el curso Estructuras de Datos y Algoritmos . Es deseable haber aprobado los cursos Técnicas Avanzadas de Programación y Programación de Redes .
Contenido Programático
Unidad 1: Introducción
- Conceptos básicos
- Tipos de sistemas distribuidos
Unidad 2: Arquitecturas
- Tipos de arquitecturas
- Middleware
Unidad 3: Procesos
- Hilos
- Virtualización
- Clientes
- Servidores
Unidad 4: Comunicación
- Fundamentos
- Llamadas a procedimientos remotos
- Comunicación orientada a mensajes
- Comunicación orientada a flujos
- Comunicación multicast
Unidad 5: Nombres
- Conceptos básicos
- Nombres planos
- Nombres estructurados
- Atributos
Unidad 6: Sincronización
- Sincronización de relojes
- Relojes lógicos
- Algoritmos de elección
Unidad 7: Consistencia y Replicación
- Conceptos básicos
- Modelos de consistencia centrados en los datos
- Modelos de consistencia centrados en el cliente
- Manejo de réplicas
- Protocolos de consistencia
Metodología de la Enseñanza
Entre las estrategias instruccionales empleadas se incluyen la exposición por parte del docente del contenido teórico y ejemplos de aplicación, y se asignarán trabajos prácticos.
Intensidad Horaria
La intensidad horaria es de 3 horas/semana durante 16 semanas (48 horas/semestre).
Bibliografía
- A. Tanenbaum y M. van Steen. Distributed Systems: Principles and Paradigms, 2nd Edition. Pearson Prentice Hall. 2007.
