Definición
(1) conjunto de computadores
(2) interconectados igual que un
sistema en red
(3) que comparten un estado
(4) ofreciendo una visión de sistema
único (SSI) igual que un sistema centralizado
Objetivo principal: compartir recursos / visión de sistema único
Ventajas respecto a un sistema centralizado
- bajo coste: puede estar compuesto de PCs
estándar
- escalabilidad: consecuencia de su modularidad
- flexibilidad: re utilización de máquinas
“viejas”
- disponibilidad: mediante replicación de
recursos
- ofrecen la posibilidad de paralelismo
- permiten acceder a recursos remotos
Ventajas respecto a un sistema en red
- uso más eficiente de los recursos (migración)
- acceso transparente a los recursos
Desventajas respecto a un sistema
centralizado
- un sistema centralizado del mismo coste es más
eficiente que cada uno de los componentes del sistema distribuido
- si la distribución de recursos es inadecuada
algunos recursos pueden estar desbordados mientras otros están libres
- mantener la consistencia puede ser muy
“costoso”
- la red de interconexión es una fuente de
problemas
- la gestión de la seguridad es más compleja
Propiedades deseables
1.
Transparencia
2.
Escalabilidad
3.
Fiabilidad
y tolerancia a fallos
4.
Consistencia
Transparencia
- de identificación: los espacios de nombres de
los recursos son independientes de la topología de la red y de la
propia distribución de los recursos
- de ubicación: los recursos pueden migrar entre
nodos de replicación
- de paralelismo: sin que la aplicación lo
especifique y sin consecuencias negativas sobre la ejecución
- de compartición: accesos simultáneos a
recursos
- de rendimiento: es necesario buscar soluciones
de compromiso cuando la degradación del rendimiento
hace impracticable implementar alguna de las propiedades
Escalabilidad
Capacidad de crecer sin disminuir su
rendimiento
·
Basada
en la modularidad
Espacios de nombres
·
identifican
objetos de diferente naturaleza: ficheros, procesos, variables, direcciones de memoria (DSM)…
·
espacios
lineales (memoria): 32 bits insuficientes
· en
general los espacios de nombres son jerárquicos y por lo tanto escalables por naturaleza
Mantenimiento del rendimiento:
replicación
·
mirroring,
caching
·
obtener
transparencia de replicación es complejo/costoso
Fiabilidad y tolerancia a fallos “Capacidad para realizar correctamente
y en todo momento las funciones para las que se ha diseñado”
Disponibilidad
·
Fracción
de tiempo que el sistema está operativo (%)
o
parámetros: MTBF (Mean Time Between
Failures), MTTR…
o componentes de alta calidad vs replicación (más barata)
Tolerancia a fallos
· Capacidad
para seguir operando correctamente ante el fallo de alguno de sus componentes
o Replicación (pasiva, activa)
Consistencia
Problemas relacionados con la
replicación
·
la
red de interconexión es una nueva fuente de fallos
·
la
seguridad del sistema es más vulnerable
·
la
gestión del estado global es más compleja/costosa
Problemas para mantener la consistencia
·
distribución
física: varias copias, cada una con su estado
·
errores
y/o retardos en las comunicaciones
·
ausencia
de reloj global: ¿cómo ordenar eventos?
Técnicas: transacciones, comunicación a
grupos
·
Para
un rendimiento aceptable: relajar consistencia
Aplicaciones distribuidas
·
Aplicaciones
paralelas: muchas tareas a la vez
o objetivo principal: disminuir el tiempo
de ejecución
·
Aplicaciones
distribuidas (motivaciones):
o alto rendimiento: cluster
computing
o tolerancia a fallos: replicación,
transacciones
o sistemas informáticos bancarios
o la gestión de la consistencia es
crítica
·
Alta
disponibilidad: caching, mirroring
o bajo tiempo de respuesta: WWW, sistemas
de ficheros…
o a consistencia es importante, pero no
crítica
·
Movilidad,
ubicuidad: aplicaciones AmI

No hay comentarios:
Publicar un comentario