You are on page 1of 38

Introduccin a los Sistemas Distribuidos.

Aspectos de Software: Conceptos

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

Aspectos de Software: Conceptos


SISTEMAS
Sistemas

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

Aspectos de Software: Conceptos

SISTEMAS DE OPERACIN DISTRIBUIDOS:


Coleccin

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

Aspectos de Software: Conceptos

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:

Aspectos de Software: Conceptos

SISTEMAS DE MULTIPROCESADORES TIEMPO COMPARTIDO:

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

alta Bajo ancho de banda

Aspectos de Hardware
Taxonoma

de Flynn (1972): - Basada en el Nro. de flujos de instrucciones y en el Nro. de flujos de datos.


SISD:
SIMD:

Single Instruction, Single Data


de 1 CPU.

Computadores

Single Instruction, Multiple Data

Computadores vectoriales. Computadores paralelos.

Aspectos de Hardware (cont.)


MISD:
No

Multiple Instruction, Single Data.


Instruction, Multiple Data.

hay computadores en esta clasificacin.

MIMD: Multiple
Sistemas

Distribuidos. Computadores paralelos. Clusters de PCs y estaciones de trabajo

Aspectos de Hardware (cont.)


Clasificacin

de Tanenbaum para los Sistemas MIMD.

Aspectos de Hardware (cont.)


Multiprocesadores
Alivia la sobrecarga del bus y aumenta el rendimiento

basados en Buses:

Problema

con el cahe: Posibilidad de Memoria Incoherente Solucin:


Cache

de escritura (write-through cache) Cache Monitor (snoopy cache) Software de consistencia

Aspectos de Hardware (cont.)


Multiprocesadores

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

Aspectos de Hardware (cont.)


Usando

un conmutador de cruceta (crossbar


N memorias

switch)

Crosspoint switch
N procesadores

Problema: El Nro. de puntos de cruce puede ser alto: N2 Solucin: Red Omega

Aspectos de Hardware (cont.)


Usando

Conmutador 2x2

una Red Omega

Nro. de etapas: log2N Nro. de conmutadores por etapa: N/2 Nro. Total de conmutadores: N/2 * log2N Problema: Retardo

Aspectos de Hardware (cont.)


Usando

un Sistema jerrquico o Acceso no uniforme a Memoria (NUMA)


Cada CPU memoria y otros CPUs Otro Problema: Distribucin de los programas y Datos para que los accesos sean rpidos. tiene su memoria local Acceso rpido a su propia lento a la memoria de

Aspectos de Hardware (cont.)


Multicomputadores

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.

Aspectos de Hardware (cont.)


Multicomputadores
Malla

con conmutadores:

(Parsytec)

El ltimo elemento en una fila est conectado al primero en la prxima.

Hipercubos

(Ncube)

Sistemas Inherentemente Concurrentes y Aplicaciones Potencialmente Concurrentes Sistemas inherentemente concurrentes:


Estos sistemas manejan actividades que suceden concurrentemente en el mundo externo al sistema de computacin, tales como: Sistemas en tiempo real Administradores de bases de datos y sistemas de procesamiento de transacciones Sistemas de Operacin

Sistemas Inherentemente Concurrentes y Aplicaciones Potencialmente Concurrentes

Aplicaciones potencialmente concurrentes:


Aquellas

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

Los Sistemas Distribuidos proveen:


Transparencia Concurrencia Compartimiento de recursos Inexistencia de un reloj global Integrar heterogeneidad Fallas Independientes Ejemplos: Internet, Intranets, Computacin mvil, Computacin Ubicua.

Aspectos del Diseo de los SOD HETEROGENEIDAD


Importante

en: redes, hardware, sistemas de operacin, lenguajes de programacin e implementaciones de diferentes desarrolladores Se puede proveer con una capa middleware.

Aspectos del Diseo de los SOD COMPARTIMIENTO DE RECURSOS


Importante

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

Aspectos del Diseo de los SOD TRANSPARENCIA


No

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

Aspectos del Diseo de los SOD TRANSPARENCIA


Tipos
De

de Transparencia:

localizacin

Los

usuarios no pueden indicar la ubicacin de los recursos de hardware o software machine1: proc.c
De

acceso

Permite

acceder los recursos locales y remotos empleando las mismas operaciones

Aspectos del Diseo de los SOD TRANSPARENCIA


De

migracin

No

hay cambio de nombres cuando se moviliza un recurso Ejemplo de lo que no debera suceder:

Asumamos la existencia de los siguientes Sistemas de Archivos:

Aspectos del Diseo de los SOD TRANSPARENCIA


Ejemplo

(cont.):

Vista despus del montaje:

Rutas a Pacman: /Juegos/Pacman

/Trabajo/Juegos/Pacman

Aspectos del Diseo de los SOD TRANSPARENCIA


Ejemplo

(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.

No habra transparencia de migracin, aunque si de localizacin.

Aspectos del Diseo de los SOD TRANSPARENCIA


De

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

Aspectos del Diseo de los SOD TRANSPARENCIA


De

concurrencia

Los

usuarios no deben notar la existencia de otros cuando accedan a un mismo recurso.

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

Aspectos del Diseo de los SOD FLEXIBILIDAD


Posibilidad

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)

Aspectos del Diseo de los SOD FLEXIBILIDAD


Microkernel

(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.

Aspectos del Diseo de los SOD CONFIABILIDAD


Si

una mquina falla, otra se puede encargar de su trabajo. Aspectos:


Disponibilidad
No

(fraccin del tiempo que el sistema es usable). Principios de diseo:


debe requerir el funcionamiento simultneo de un nmero sustancial de componentes crticos. Redundancia de software y de hardware

Aspectos del Diseo de los SOD CONFIABILIDAD


Consistencia
Proteccin

e Integridad.

contra la alteracin o corrupcin

Confidencialidad.
Proteger

los recursos contra el acceso no autorizado.

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.

Aspectos del Diseo de los SOD RENDIMIENTO Aspectos a considerar en el diseo:


Comunicacin

(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.

Aspectos del Diseo de los SOD ESCALABILIDAD


Capacidad

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.

Aspectos del Diseo de los SOD ESCALABILIDAD

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

de recursos a la red Introduccin de servicios y reimplementacin de los existentes Independencia de proveedores

Aspectos del Diseo de los SOD CONSISTENCIA


De

actualizaccin En la replicacin Del cache En las fallas De reloj En la interfaz con el usuario

You might also like