Sistemas Distribuidos, 13 Otoño



Curso
  • Clave: 1151046, contenido oficial
  • Prerequisitos: Sistemas Operativos y Bases de Datos
  • Trimestre: 13 Otoño
  • Inicio del curso: 26 de agosto de 2013
  • Fin del curso: 11 de noviembre de 2013
  • Grupo: CSI 01
  • Salón de clase: G206
  • Días y hora de clase: Lunes, miércoles y viernes de 08:00 a 10:00hrs.
  • Asesorías: Martes y jueves de 11:00-13:00 hrs, G314-4

Objetivos
  • Describir las características de un sistema distribuido.
  • Describir las arquitecturas y los mecanismos de los sistemas distribuidos.
  • Implementar servidores sencillos multiproceso, concurrentes y multihilo.
  • Desarrollar sistemas distribuidos simples utilizando llamadas a procedimientos
    remotos, la comunicación basada en mensajes, la comunicación entre objetos
    distribuidos y CORBA.
  • Describir el sistema de archivos distribuido NFS.
Contenido Sintético

1. Arquitecturas de los sistemas distribuidos.
2. Servidores multiproceso, concurrentes y multihilo.
3. Transacciones y control de concurrencia.
4. Replicación de procesos y datos.
5. Migración de procesos y balanceo de carga.
6. Llamadas a procedimientos remotos (RPC) y comunicación basada en mensajes (MPI).
7. Comunicación entre objetos distribuidos (RMI).
8. Coordinación y consenso.
9. Arquitectura y servicios CORBA.
10. Sistema de archivos distribuido NFS.


Bibliografía

Herramientas

Mensajes

Publicado
Mensaje
260813
El inicio de curso                                        
280813
Tarea 1: compilar el kernel de Linux de manera distribuida utilizando distcc. Utilizar al menos 3 equipos.

Tarea 2:Función gethid()
130913
Tarea 3:Hijos chambeadores con pthreads y python, 200913
230913
Proyecto 1:Aplicación con sockets
250913
El primer examen parcial será el 041013
250913
Tarea 4: servidores multihilo 270913

Proyecto 2:Aplicación con MPI

Proyecto 3:Aplicación con RPC

Proyecto 4:Aplicación con RMI

Proyecto 5:Aplicación con CORBA
111113
El segundo examen parcial será el día 131113 de 8:30 a 10:00hrs en el G208





Evaluación
  • 1er parcial: 50% examenes + 50% programas
  • 2do parcial: 50% examenes + 50% programas

Calificaciones parciales

  • Calificaciones. Última actualización: 071013


Calendario

Sem Dia Notas
Códigos
1
260813
01.Introducción a los Sistemas Distribuidos
Programación Orientada a Objetos con C++, Java y Python
1
280813 Compilación distribuida con distcc Encapsulamieto:clases, métodos y funciones miembro
1
300813 02.Procesos, sincronización y comunicación entre procesos
Herencia múltiple y métodos virtuales (C++) e Interfaces (Java)
2
020913 03.Programas para creación, sincronización y comunicación de procesos

2
040913 04.Hilos en sistemas uni-procesador y multi-procesador

2
060913 05.Implementación de hilos con OpenMP

3
090913 06.Implementación de hilos con Pthreads
Envoltura de funciones y makefile
3
110913 07.Introducción a Python e implemenatción de hilos con Python pthreads, python
3
130913 08.Procesos remotos

4
160913 Descanso obligatorio
Tipos de sistemas distribuidos
4
180913 Clase cancelada
 
4
200913 09.API de sockets BSD y conexión TCP

5
230913 10.Cliente-servidor TCP  con sockets BSD
sd_err.h y sd_err.c
5
250913 11.Servidores concurrentes y multihilo

5
270913 12.GUI con Qt4
13.Cliente-servidor TCP con Python


6
300913 14.Tipos de sistemas distribuidos

6
021013 15.Arquitecturas de sistemas distribuidos

6
041013 1er examen parcial

7
071013 16.Clientes y sistema X

7
091013 Encapsulamiento: C++, Java, Python
7
111013 17.Servidores   
8
141013 18.Migración de código
8
161013 19.Comunicación orientada a mensajes y MPI
8
181013 20.Cluster Beowulf y OpenMPI para C y Python
9
211013 21.Aplicación en un cluster con OpenMPI y C

9
231013 22.OpenMPI con Python

9
251013 23.RPCs
10
281013 24.Aplicación con RPCs
10
301013 25.Nombramiento y DNS

10
011113
Descanso obligatorio

11
041113
26.Objetos distribuidos
26.Pyro
26.Aplicación con Pyro

11
061113 27.Interfaz Java, interfaz C++ e interfaz remota
28.RMI
29.Aplicación con RMI

11
081113 30.CORBA para C++, Java y Python

11-b
111113 31.Servidor CORBA en C++ y cliente CORBA en Java


32.Sistemas de archivos distribuidos NFS y configuración NFS