Procesamiento Distribuido I

Asignatura

Ficha Técnica
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.