Está en la página 1de 18

Algoritmos Distribuidos Semana 1.

Parte 1
Introducción

Claudia León
Universidad Central de Venezuela
Facultad de Ciencias
Escuela de Computación

Octubre 2006 – Marzo 2007


Objetivo

 Familiarizarnos con conceptos básicos


relacionados con Algoritmos Distribuidos.
 Contestar a las preguntas:
• ¿Qué es un sistema distribuido ?
• ¿Qué es un algoritmo distribuido ?
Sistema Distribuido

Múltiples procesadores autónomos que


no comparten memoria principal pero
están conectados a través de una red
de comunicación.
Algoritmos Distribuidos
 Este curso de algoritmos distribuidos está
relacionado con los aspectos algoritmicos de
la computación distribuida.
 Trataremos dos aspectos importantes:

• ¿Qué no se puede resolver con algoritmos


distribuidos en sistemas con ciertas caracteristicas?
• ¿Cómo resolver ciertas clases de problemas
computacionales en sistemas distribuidos con
determinadas caracteristacas, aún en presencia de
fallas?.
Algoritmo Distribuido
P
1 P
2
P
3

P P
5 4

 Aplicación desarrollada para ser ejecutada


sobre un Sistema Distribuido.
 Algoritmo Distribuido = Conjunto de Procesos +
Mensajes
Taxonomía de Flynn [1972]
Flujo de Instrucciones y Flujo de Datos

SISD : Un único Procesador

: Única unidad de instrucción para varios


SIMD procesadores

MISD : No se conoce alguno bajo este modelo

: Procesadores independientes c / u con


MIMD su contador de programa.
Taxonomía de Flynn
MIMD
Sistemas con una sola Sistemas con
memoria global memoria local

Medianamente acoplados Débilmente Acoplados


Comunicación rápida y Comunicación más
confiable. Procesadores lenta.
cercanos Procesadores distantes.
Ejem. Redes de Transputers, Ejem. Redes WAN,
Clusters,Redes LAN Internet
Ventajas de Sistemas Distribuidos
Vs. Sistemas Centralizados
Economía Relación Precio / Rendimiento

Velocidad: Incrementa Capacidad de computo

Distribución inherente: Aplicaciones requieren


máquinas distribuidas geográficamente.

Disponibilidad

Escalabilidad
Desventajas de los Sistemas
Distribuidos

 Escasez de herramientas para el


desarrollo de software distribuido.
 Dificultad para la verificación de sistemas
 Dependencia de la red de comunicación
 Seguridad
¿Porqué distribuir?

 Intercambio de Información
 Mejorar tiempo de cálculo. (Paralelismo)
 Mejorar distribución de cargas de trabajo
 Incrementar disponibilidad y confiabilidad
 Compartimiento de recursos
 Especialización de funciones
 Aplicaciones con inherente distribución.
Problemas relacionados con la
distribución

 Falta de conocimiento del estado


global.
 Tiempo global: Orden de los
eventos
 Ejecución no determinística.
Ejemplo : Un Servidor
C
1
C
2

C
3
C
4
Ejemplo : Un Servidor
C
1
C
2

C
3
C
4
Ejemplo : Un Servidor
C
1
C
2

C
3
C
4
Algoritmo Distribuido

Conjunto de procesos que se


ejecutan en un sistema distribuido,
se comunican por medio de
mensajes y realizan una tarea en
común.
¿Qué Distribuir?
 Distribución de datos
• Particionados
• Duplicados
 Distribución de control
 Distribución de cálculo
Datos Particionados.
Ejemplo: Entidad Bancaria

BD de
Cuentas
Bancarias

Cuentas Cuentas ●●●●●●●●● Cuentas


Agencia 1 Agencia 2 Agencia n
Datos Replicados.
Ejemplo: Biblioteca Digital

Biblioteca

Biblioteca Biblioteca ●●●●●●●●● Biblioteca

También podría gustarte