Professional Documents
Culture Documents
Software dbilmente acoplado: Permite a los usuarios y mquinas ser fundamentalmente independientes unos de otros Los componentes interactuan cuando sea necesario
Software fuertemente acoplado: Se requiere la colaboracin de todos los elementos del software para llevar a cabo un objetivo comn Comunicacin intensiva
DISTRIBUIDOS:
de Cmputo compuestos por un gran nmero de CPUs, conectados mediante una red de alta velocidad Coleccin de computadores independientes que aparecen ante el usuario como una sola mquina
de componentes de software que simplifican las tareas de programacin y soporta un alto rango de aplicaciones Son modulares y extensibles, lo que implica que se pueden adicionar nuevos componentes en respuesta a nuevas necesidades Poseen mecanismos de comunicacin y esquemas de proteccin globales Software fuertemente acoplado
SISTEMAS PARALELOS:
Buscan obtener mxima velocidad en un problema determinado Software fuertemente acoplado Conjunto de computadores conectados por una red Existe autonoma en cada estacin La localizacin de los objetos no es transparente Software dbilmente acoplado
SISTEMAS DE REDES:
Conjunto de procesadores conectados por un bus Existe una sola memoria (memoria compartida) Existe un nico sistema de operacin
Aspectos de Hardware
Hardware
El
fuertemente acoplado:
retardo del envo de un mensaje es poco: baja latencia La tasa de transferencia de datos es alta: buen ancho de banda Generalmente son de memoria compartida
Harware
dbilmente acoplado:
Latencia
Aspectos de Hardware
Taxonoma
Computadores
MIMD: Multiple
Sistemas
basados en Buses:
Problema
basados
en
conmutadores:
til para conectar alrededor de 64 procesadores Se basan en: Dividir la memoria en mdulos Conectar los CPUs a la memoria a travs de conmutadores
switch)
Crosspoint switch
N procesadores
Problema: El Nro. de puntos de cruce puede ser alto: N2 Solucin: Red Omega
Conmutador 2x2
Nro. de etapas: log2N Nro. de conmutadores por etapa: N/2 Nro. Total de conmutadores: N/2 * log2N Problema: Retardo
basados en Buses:
Estaciones de Trabajo
Ventaja
frente a esquemas anteriores: solo hay que resolver los problemas de comunicacin entre CPUs y no entre CPUs - Memoria.
con conmutadores:
(Parsytec)
Hipercubos
(Ncube)
que se pueden beneficiar de su implantacin concurrente. Motivacin para explotar la concurrencia potencial de una aplicacin:
Hay una gran cantidad cmputo que realizar Hay una gran cantidad de datos a procesar Hay requerimientos de pronta respuesta de los resultados (tiempo real) Hay el hardware para ejecutar componentes concurrentes en paralelo
en: redes, hardware, sistemas de operacin, lenguajes de programacin e implementaciones de diferentes desarrolladores Se puede proveer con una capa middleware.
para reducir costos y por necesidades especficas Se requiere de administradores de recursos para acceder, manipular y actualizar los recursos en forma confiable y consistente
debe hacer distinciones entre recursos locales y remotos Debe facilitar la movilidad del usuario Puede ser alcanzada en dos niveles:
Ocultar
la distribucin a los Usuarios Haciendo que el sistema luzca transparente a los programas
de Transparencia:
localizacin
Los
usuarios no pueden indicar la ubicacin de los recursos de hardware o software machine1: proc.c
De
acceso
Permite
migracin
No
hay cambio de nombres cuando se moviliza un recurso Ejemplo de lo que no debera suceder:
(cont.):
/Trabajo/Juegos/Pacman
(cont.):
Si el archivo Pacman en el Servidor 1 se cambiara al directorio Entretenimiento del Servidor 2, las rutas anteriores seran invlidas para ambos clientes.
replicacin
El
SO copia los archivos ms usados en los diferentes servidores sin que lo noten los usuarios Cada servidor tiene toda la estructura del rbol de directorios
concurrencia
Los
De
paralelismo
Ideal:
Los programadores y usuarios no necesitan indicar en forma explcita cmo se van a distribuir sus procesos y datos (El Sistema de Operacin se ayuda con el complilador).
Frente
a fallas
de que el sistema pueda ser extendido de varias formas. Kernel Monoltico vs. Microkernel
Kernel
Monoltico (Sprite):
todos los servicios en cada
Proporciona
mquina. SO tradicional al que se le agregan capacidades de red. Ventajas: Rendimiento (cada servicio se resuelve localmente)
(Amoeba):
El kernel hace lo menos posible: Comunicacin entre proccesos Administracin y planificacin de procesos de bajo nivel. Administra la memoria I/O de bajo nivel. Las otras funciones las ofrecen servidores a nivel usuario. Ventajas: Es ms flexible gracias a su modularidad. Los servicios son alcanzables por todos los clientes. Se puede agregar, modificar o eliminar un servicio sin tener que detener todo el sistema.
e Integridad.
Confidencialidad.
Proteger
Tolerancia
Ocultar
a fallas y recuperacin.
las fallas a los usuarios.El sistema debe continuar funcionando cuando se enfrente a fallas, aunque sea de manera degradada. La degradacin debe ser proporcional a las fallas Se debe proveer deteccin y enmascaramiento de fallas
Aspectos del Diseo de los SOD RENDIMIENTO Cuando se ejecuta una aplicacin en un Sistema Distribuido, no debe parecer peor que su ejecucin en un nico procesador. Mtricas:
Tiempo
de Respuesta Throughput ( Nmero de trabajos por hora) Utilizacin del Sistema Cantidad de la capacidad de la red consumida.
(ms por el tiempo de procesamiento de los mensajes que por el traslado del mismo). Tomar en cuenta el tamao del grano de los clculos.
Tipos: Grano grueso: Trabajos que involucran grandes clculos, bajas ratas de interaccin y pocos datos. Grano fino. Es recomendable distribuir los clculos de grano grueso.
del Sistema para adaptarse a un incremento de la carga del servicio, adaptarse a la comunidad de usuarios y permitir la integracin de recursos adicionales. Su rendimiento debe degradarse con mayor moderacin que el de un sistema no escalar. Sus recursos deben llegar a un estado de saturacin ms tardo que en un sistema no escalar.
Principios para disear sistemas a gran escala No deben emplearse esquemas de control central ni recursos centrales (Servidores, tablas o algoritmos centralizados) >> Cuellos de Botella Deben ser sistemas abiertos que permitan:
Inclusin
actualizaccin En la replicacin Del cache En las fallas De reloj En la interfaz con el usuario