Está en la página 1de 37

Apuntes de Sistemas Operativos Distribuidos

Ve r

si

Bibliografa utilizada: Apuntes de sistemas operativos distribuidos - Carlos Neetzel Sistemas operativos distribuidos Andrew S. Tanenbaum Sistemas Distribuidos George Coulouris y otros

Pr e

Autor: Fabio E. Rivalta / Carlos Neetzel Material: dictado de clases Fecha: 04/2007

lim

in a

Definiciones de sistemas operativos distribuidos:

Ve r

si

Definicin 3: Un SD es aqul en el que los componentes localizados en computadores, conectados en red, comunican y coordinan sus acciones nicamente mediante el paso de mensajes.

Pr e

Definicin 2: Un SD es un sistema de procesamiento descentralizado de datos que ejecutan sobre un conjunto de procesadores dbilmente acoplados, interconectados por una red cuyos nodos estn dispersos geogrficamente.

lim

Definicin 1: Un SD es una coleccin de computadoras independientes que aparecen ante los usuarios del sistema como una nica computadora.

in a

Segn el paso del tiempo la definicin de SOD fue cambiando, tomemos algunos ejemplos:

Tipos de procesamiento:

in a lim

PROCESAMIENTO
PARALELO DISTRIBUIDO

CENTRALIZADO

NO COOPERATIVO

COOPERATIVO

Ve r

si

CLIENT/SERVER

PEER TO PEER

Pr e

r
TIEMPO REAL

Clasificaciones del Hardware (Parte I):


Segn el paso del tiempo, se fue clasificando de distintas maneras, la primera de ellas fue realizada por FLYNN (en 1972), pero es muy bsica.

in a

SISD (Single Instruction Stream, Single Data Stream SIMD (Single Instruction Stream, Multiple Data Stream MISD (Multiple Instruction Stream, Single Data Stream

El problema de esta clasificacin es que todo lo que nos interesa entra en una sola clasificacin.

Ve r

SISD: Computadoras tradicionales de un solo procesador SIMD: Tienen una unidad de control y varias unidades de datos. Las bsquedas de operandos de las instrucciones se hacen en paralelo. Muy poco usado slo algunas supercomputadoras. MISD: Clasificacin sin sentido para qu serviran mltiples instrucciones y un solo dato?? MIMD: Todos los SD pertenecen a esta clasificacin.

si

Pr e

MIMD (Multiple Instruction Stream, Multiple Data Stream

P L A T A F O R M A

lim

Clasificaciones del Hardware (Parte II)

MIMD

Ve r

si

Bus (secuencia repeticin)

Con conmutador (ultracomputadoras)

Pr e

Multiprocesadores (mem. Comp.)

lim

Bus (WS en una LAN)

in a
Multicomputadoras (mem. Priv.)
Con conmutador (hipercubo)

Podemos ampliar la clasificacin de FLYNN (slo las MIMD) en:

Clasificaciones del Hardware (Parte III)


Una clasificacin ms moderna se basa en como se interconectan los elementos que componen un SD (Procesadores, Memoria, e interconexin) Procesadores Paralelos Masivamente (MPP Massive Parallel Processors) Multiprocesadores Simtricos (SMP Symmetric Multiprocessors) Acceso a Memoria No Uniforme con Coherencia de Cache (CC-NUMA CacheCoherent Non uniform Memory Access) Sistemas Distribuidos Clusters Grids

Ve r

si

Pr e

lim

in a

Clasificaciones del Hardware (Parte IV)


Es un gran sistema de procesamiento paralelo con una arquitectura que no comparte nada. Consiste en cientos de elementos de procesamiento los cuales estn interconectados por un Switch o red de alta velocidad. Cada nodo puede tener una variedad de componentes de hardware, pero generalmente consisten de una memoria central y de uno o varios procesadores.

SMP:

Poseen desde 2 a 64 procesadores y pueden ser considerados como una arquitectura que comparte todo. En estos sistemas todos los procesadores comparten todos los recursos globales disponibles (bus del sistema, memoria, sistemas de I/O, etc.); Una copia sencilla del Sistema Operativo corre en estos sistemas.

CC-NUMA:

Ve r

Es un sistema multiprocesador escalable. Como en SMP, cada procesador en un sistema CC-NUMA tiene una vista global de toda la memoria. Este tipo de sistema consigue su nombre (NUMA) a partir de los tiempos no uniformes que le toma para acceder ya sea a la parte memoria ms cercana, as como a la ms remota.

si

Pr e

lim

in a

MPP:

Clasificaciones del Hardware (Parte V)


Sistemas Distribuidos:
Pueden ser considerados redes convencionales de computadores independientes. Los mismos tienen mltiples imgenes del sistema, a partir de que cada nodo tiene su propio sistema operativo, y Cada mquina individual en un sistema distribuido puede ser, por ejemplo, una combinacin de MPPs, SMPs, Clusters, Grids y computadoras individuales.

Cluster:

Grid:

Un gran conjunto de Sitios que estn conectadas mediante una red global de alta velocidad (10 Gb/s) que tienen una alta capacidad de procesamiento (entre 1000 a 10000 GFLOPS) y un gran capacidad de almacenamiento (entre 1000 a 10000 TB) Los Sitios interconectados utilizan Procesamiento Distribuido y P2P (Peer to Peer Architecture) con desarrollos de SW novedosos adicionales con interfases estndar abiertas. Utiliza nuevas tcnicas de Autoadministracin, autoescalabilidad y autoreparacin (tolerante a fallas)

Ve r

si

Una coleccin de estaciones de trabajo o PCs que estn conectadas mediante alguna tecnologa de red. Para fines de computacin paralela estas PCs o estaciones de trabajo estarn conectadas mediante una red de muy alta velocidad. Un cluster trabaja como una coleccin integrada de recursos y pueden tener una imagen simple del sistema abarcando todos sus nodos.

Pr e

lim

in a

Por que sistemas operativos distribuidos? (Parte I) V/D


Como se ve es bastante complicado generar e implementar SOD, por lo que tiene que existir justificaciones para realizarlo y buscar nuevas soluciones tanto tecnolgicas como de cambios en la teora de los SOD. SOD Ventajas: Costo & rendimiento: esto tal vez sea el motivo ms importante. Mayor rendimiento y potencia de clculo: es un objetivo muy interesante. Tolerante a fallas: si falla algo se tolera es decir siempre se esta en procesamiento. Flexibilidad y reconfiguracin en cuanto a equipamiento nuevo, software nuevo, hardware nuevo, etc. (es muy adaptable). Crecimiento modular en cuanto a equipamiento: se puede ir comprando de a poco. A esto se lo llama ESCALABILIDAD. Especializacin Funcional: soluciona los problemas especficos en cuanto a las reas de la organizacin. Datos compartidos: Permite el acceso por varios usuarios a una base de datos en comn. Facilita la coherencia y consistencia de la informacin. Dispositivos compartidos: Permiten que varios usuarios compartan perifricos caros como ser Plotters, impresoras lser, etc. Inclusive remotamente. Comunicacin: Facilita la comunicacin de persona a persona. Por ejemplo correo electrnico. Flexibilidad: Distribuye la carga de trabajo entre las mquinas disponibles en forma ms eficaz en cuanto a los costos.

Ve r

si

Pr e

lim

in a

Por que sistemas operativos distribuidos? (Parte II) V/D


SOD Desventajas: Software: se tiene una experiencia limitada en el diseo, implantacin y uso del software distribuido o que tipo de sistemas operativos, lenguajes de programacin y aplicaciones son adecuadas para estos sistemas. Redes: La red se puede saturar o causar otros problemas como ser prdida de mensajes, ruido en la lnea, etc. Seguridad: Si bien el poder compartir los datos es una ventaja se torna tambin en un problema la privacidad de los mismos.

Ve r

si

Pr e

lim

in a

Por que sistemas operativos distribuidos? (Parte III) Razones para construir
Economa: Estos sistemas tienen en potencia una proporcin precio/desempeo mucho mejor que la de un nico sistema centralizado. Se puede afirmar que un conjunto de microprocesadores proporciona un mejor ndice de precio/rendimiento que un mainframe puede brindar Distribucin Inherente: Existen muchas aplicaciones que son distribuidas en s mismas, para lo cual necesitan de una plataforma que soporte este tipo de procesamiento. Por ejemplo, cuando se conectan todas las sucursales de un banco se tiene un sistema distribuido. Confiabilidad: Si en un sistema distribuido hay un error en una instalacin, las restantes pueden potencialmente continuar trabajando. Crecimiento por Incrementos modulares: Con un sistema distribuido, podran aadirse simplemente ms procesadores o nodos al sistema, lo que permite un desarrollo gradual conforme a las necesidades. Compartir recursos: (Procesadores, Datos y Perifricos): Compartir recursos proporciona mecanismos para utilizar archivos en instalaciones remotas, procesar informacin en una base de datos distribuida, imprimir archivos en instalaciones remotas y otras operaciones.

Ve r

si

Pr e

lim

in a

Por que sistemas operativos distribuidos? (Parte IV) Razones para construir
Flexibilidad: Los sistemas distribuidos permiten distribuir la carga de trabajo entre las computadoras de una manera ms eficaz. Proveen mas potencia de calculo o una especializacin en su procesamiento (ejemplo comunicaciones), con este tipo de equipamiento es relativamente mas fcil ampliar o especializar para que las aplicaciones se ejecuten mas eficientemente. Aceleracin de clculos: Si un clculo puede dividirse en varios subclculos que pueden ejecutarse concurrentemente en un sistema distribuido distribuir estos clculos entre varias instalaciones y ejecutarlos en forma concurrente. Comunicacin: Si varias instalaciones estn conectadas por medio de una red, los usuarios pueden intercambiar informacin, transferir de archivos, intercambiar mensajes y compartir recursos caros como ser impresoras, almacenamientos de distintos tipos, etc..

Ve r

si

Pr e

lim

in a

Por que sistemas operativos distribuidos? (Parte V) - Tipos


Dentro de los que hoy en da se considera SOD podemos encontrar tres grandes grupos, donde cada uno de ellos tiene sus caractersticas y su uso particular (con mayor o menor difusin y teniendo la posibilidad de vincular diferentes tipos. SO de Red SO Distribuido (Real) SO Multiprocesador Las caractersticas generales de cada uno de ellos se puede ver en el siguiente cuadro:

Se ve como un uniprocesador virtual? Todos ejecutan el mismo SO? Cuntas copias del SO existen?

Pr e
No No N

Elemento

SO Red

lim
Si No

in a
SO Distribuido
Si Si N Mensajes Si Si (No) Si

SO Multiprocesador
Si Si 1 Mem. Compartida

Cmo se logra la comunicacin?

Existe una nica cola de ejecucin? Existe una semntica bien definida para los archivos compartidos?

Ve r

Se requiere un acuerdo en los protocolos de Red?

si

Archivos compartidos / Mensajes

No Si Si

Por lo general no

Procesamiento distribuido (Parte I)


Se denomina procesamiento distribuido a la capacidad de procesar un mismo proceso en varios procesadores, que se pueden encontrar en un mismo equipamiento hardware o en equipos independientes que se encuentran interconectados. El procesamiento distribuido puede ser a su vez clasificado de la siguiente manera:

Ve r

si

Pr e

Modelo Cliente Servidor Modelo de estacin de trabajo. Modelo de la pila de procesadores Cluster de procesadores. Grids

lim

in a

Procesamiento distribuido (Parte II) Modelo cliente servidor


Una capa fsica, la cual cumplira el mismo rol que en los protocolos OSI; Una capa de enlace de datos encargada de hacer llegar los paquetes y de recibirlos; Una capa de pedido/respuesta que sera la encargada de monitorear qu pedidos y qu respuestas son consideradas vlidas. Las capas de red, sesin, presentacin y aplicacin se vuelven prcticamente innecesarias. Servicio de Presentacin Aplicacin Lgica (Parte del Cliente) Software de Comunicacin Sistema Operativo del Cliente

Pr e
Pedido Respuesta Protocolo

Arquitectura Genrica Cliente/Servidor

Ve r

Plataforma deHW

si

lim

Aplicacin Lgica (Parte de Servidor) Software de Comunicacin Sistema Operativo del Servidor Plataforma deHW

in a

Se caracteriza por tener:

Procesamiento distribuido (Parte III) Modelo cliente servidor

REQ REP ACK AYA IAA TA AU

Request Reply Acknowledge Are you Alive? I am alive Try Again Address Unknown

Cliente Servidor Ambos Cliente Servidor Servidor Servidor

Servidor Cliente Ambos Servidor Cliente Cliente Cliente

El cliente solicita un servicio.

lim

Respuesta del servidor para un cliente. El paquete enviado ha sido recibido. Prueba si el funcionamiento. Indica que el funcionamiento. servidor servidor sigue sigue en en

si

Ve r

Cliente

Pr e
REQ ACK AYA IAA REP ACK

El servidor no tiene ms espacio. No se encuentra ningn proceso usando esa direccin.

in a

El modelo de cliente servidor se caracteriza por la comunicaciones que existen entre ambas partes. Los mensajes tpicos existentes (y considerados mnimos) son:

Servidor

Procesamiento distribuido (Parte IV) Modelo cliente servidor Tipos existentes


La arquitectura two-tier fue desarrollada en los 80 basado en el diseo de servidores de archivos. Esta arquitectura cliente/servidor es una buena solucin de computacin distribuida cuando el grupo de trabajo no excede los 100 usuarios intercalando a travs de una red LAN. Las arquitecturas three-tier se usan cuando se necesita un diseo cliente/servidor efectivo, incrementando performance, flexibilidad, mantenimiento, reusabilidad y escalabilidad, ocultando la complejidad del procesamiento.

Ve r

si

Pr e

lim

in a

Two-Tier

Three-Tier

Procesamiento distribuido (Parte V) Modelo cliente servidor Tipos existentes


La arquitectura two-tier consta de tres La implementacin del nexo medio componentes principales distribuido en dos pueden ser Monitores de capas donde el cliente requiere servicios y el Procesamiento de Transacciones (TP), servidor los provee, los componente son: Servidores de Mensajes o Servidores de Una Interfase de Usuario del Sistema: Tal Aplicaciones. como servicios de administracin de sesin, El nexo medio puede ejecutar: encolado entrada de texto o dialogo. (queuing), ejecucin de aplicacin Administracin de Procesamiento: Tal (application execution), y uso de base como desarrollo, puesta en marcha y monitoreo de datos (database staging). de procesos. Administracin de Datos: Tales como La capa media ofrece la programacin servicios de archivos y base de datos (scheduling) y priorizacin de las tareas

Ve r

si

Pr e

en progreso. La flexibilidad en el particionado puede ser tan fcil como un drag and drop de mdulos de aplicaciones en diferentes computadoras. Generalmente se implementan mediante Middleware.

lim

in a

Two-Tier

Three-Tier

Procesamiento distribuido (Parte VI) Modelo cliente servidor Three-Tier (detalles)


Implementacin a travs de servicios de middleware:
La capa media consiste en un Monitor de Procesamiento de Transacciones (TP) escritos en un lenguaje de bajo nivel o a travs de la utilizacin de algn producto de middleware, que provea: Encolado de mensajes (message queuing) Programacin de transacciones (transaction scheduling), Servicios priorizados (prioritization service) donde el cliente se conecta a este monitor en lugar de el servidor de datos. La habilidad para actualizar diferentes y mltiples DBMS en una sola transaccin. Seguridad y confiabilidad. Conectividad a una variedad de fuente de datos incluyendo archivo planos, DBMS no relacionales.

Ve r

si

Pr e

lim

in a

Procesamiento distribuido (Parte VII) Modelo cliente servidor Three-Tier (detalles)


Implementacin a travs de mensajera:
La capa media consiste en un juego de mensajes predefinidos (protocolo) que se intercambian entre las partes. Estos mensajes tiene las siguientes caractersticas: Los mensajes son priorizados y procesados asincrnicamente. Los mensajes constan de un encabezado que contiene informacin de prioridad y la direccin y numero identificador. El servidor de mensajes se conecta a una base de datos relacional o cualquier otra fuete de datos. La diferencia entre la tecnologa de un Monitor TP y un servidor de mensajes es que ste ultimo se enfoca en la inteligencia de los mensajes mientras que el Monitor TP tiene la inteligencia en el Monitor y trata a las transacciones como paquetes de datos bobos.

Ve r

si

Pr e

lim

in a

Procesamiento distribuido (Parte VIII) Modelo cliente servidor Three-Tier (detalles)


Implementacin a travs de Servidores de aplicaciones:
La capa media se implementa a travs de diferentes servidores de aplicaciones Los servidores de aplicaciones three-tier asignan de forma repartida el cuerpo de la aplicacin lgica de manera que corra parte en el cliente y parte en el servidor. El servidor de aplicaciones no es el encargado de proveer una interfase grfica (GUI) pero tiene a su cargo la lgica de negocios, un motor para recuperar datos. Disear servidores de aplicaciones es bueno cuando la seguridad, escalabilidad y los costos son las mayores consideraciones.

Ve r

si

Pr e

lim

in a

Procesamiento distribuido (Parte IX) Modelo cliente servidor Three-Tier (detalles)


Implementacin a travs de ORB (Object Request Broker):
La capa media se implementa a travs de el envo y recepcin de objetos distribuidos El desarrollo de sistemas cliente/servidor usando tecnologas que soporten objetos distribuidos promete grandes mejoras si se logra soportar intereoperablidad entre distintos lenguajes y plataformas con total transparencia estas tecnologas (lo que hoy no est ocurriendo). Alguna de las tecnologas existentes hoy en da que se asocian a esta tecnologas son: CORBA - Common Object Request Broker Architecture COM/DCOM

Ve r

si

Pr e

lim

in a

Procesamiento distribuido (Parte X) Modelo cliente servidor Direccionamiento


1 C 2 Ncleo 1 S 3 C 4 2 S

in a
3 1 S 4

r
C 2 SN

lim
(c)

Red

1: Solicitud a 243.0 2: Respuesta a 199.0 C: Cliente S: Servidor

Pr e
(b)

(a)

(a) Direccionamiento mquina.proceso (b) Direccionamiento de procesos con transmisin (c) Bsqueda de direccionamiento de un servidor de nombres

Ve r

si

1:Transmisin 2: Aqu estoy 3: Solicitud 4: Respuesta C: Cliente S: Servidor

1: Bsqueda 2: Respuesta a SN 3: Solicitud 4: Respuesta SN: Servidor de nombres C: Cliente S: Servidor

Procesamiento distribuido (Parte XI) Modelo cliente servidor Direccionamiento


Mquina.Proceso: En este sistema se enva mensajes a los procesos en vez de a las mquinas. Elimina la ambigedad acerca de quin es el verdadero receptor. Presenta el problema de cmo identificar los procesos. Una manera consiste en utilizar nombres de dos partes para especificar tanto la mquina como el proceso. Ejemplo 240.1 identifica el proceso 1 de la mquina 240.

Ve r

si

Pr e

lim

in a

Procesamiento distribuido (Parte XII) Modelo cliente servidor Direccionamiento


Procesos con Transmisin: Cada proceso elige su propio identificador de un espacio de direcciones grande y disperso. La probabilidad de que dos procesos elijan el mismo nmero es muy pequea y el mtodo puede utilizarse en sistemas grandes. El Kernel generalmente no sabe a que mquina enviar el mensaje. En una LAN que soporte transmisiones, el emisor puede transmitir un a paquete especial de localizacin con la direccin del proceso destino. Puesto que es un paquete de transmisin, ser recibido por todas las mquinas de la red. Todos los Kernels verifican si la direccin es la suya y, en caso que lo sea, regresa un mensaje con su direccin en la red (nmero de mquina). El Kernel emisor utiliza esa direccin y la captura, para evitar el envo de otra transmisin la prxima vez que necesite el servidor. Aunque este mtodo es eficiente, la transmisin provoca una carga adicional en el sistema.

Ve r

si

Pr e

lim

in a

Procesamiento distribuido (Parte XIII) Modelo cliente servidor Direccionamiento


Servidor de Nombres: Se usa un servidor DNS para la asociacin a alto nivel de los nombres de servicios con las direcciones de la mquina. Cada vez que se ejecute un cliente, en su primer intento por utilizar el servidor, el cliente enva una solicitud a un servidor nombres, para pedirle el nmero de la mquina donde se localiza en ese momento el servidor. Una vez obtenida la direccin, se puede enviar la solicitud de manera directa. Cada uno de estos mtodos tiene problemas. El primero no es transparente; el segundo genera una carga adicional al sistema y el tercero necesita un componente centralizado, el servidor de nombres.

Ve r

si

Pr e

lim

in a

Procesamiento distribuido (Parte XIV) Modelo de estacin de trabajo


ESTACIN DE TRABAJO ESTACIN DE TRABAJO ESTACIN DE TRABAJO

Ve r

Las estaciones de trabajo pueden ser con o sin disco. Sin disco: El FS debe ser implantado mediante uno o varios servidores de archivos en la red. Las solicitudes de lectura o escritura, se envan a un servidor de archivos, el cual realiza el trabajo y enva de regreso los resultados como respuestas. Las estaciones de trabajo sin discos, proporcionan simetra y flexibilidad. Un usuario puede utilizar cualquier estacin de trabajo y entrar al sistema.

si

Pr e

RED LAN de ALTA VELOCIDAD

lim

in a

r
ESTACIN DE TRABAJO

INACTIVA

Procesamiento distribuido (Parte XV) Modelo de estacin de trabajo


Con disco: El FS Local puede estar implementado de distintas maneras: Paginacin y archivos temporales: En este modelo, los discos locales se utilizan exclusivamente para la paginacin y los archivos temporales no compartidos que se pueden eliminar al final de la sesin. Paginacin, archivos temporales y binarios del sistema: Los discos locales tambin contienen los programas en binario (ejecutables). Cuando se llama a alguno de estos programas, se le busca en el disco local y no en el servidor de archivos, lo cual reduce la carga en la red. Paginacin, archivos temporales, binarios del sistema y ocultamiento de archivos: utilizan de forma explcita los discos locales como Cachs, adems de utilizarlos para la paginacin. En este modo de operacin, los usuarios pueden cargar archivos desde los servidores de archivos hasta sus propios discos, y leerlos y escriben en ellos de manera local y despus regresar los archivos modificados al final de la sesin. Un sistema local de archivos completo: cada mquina puede tener su propio sistema de archivos auto-contenidos, con la posibilidad de montar o tener acceso a los sistemas de archivos de otras mquinas. Esta organizacin proporciona un tiempo de respuesta uniforme, y garantizado para el usuario y pone poca carga en la red

Ve r

si

Pr e

lim

in a

Procesamiento distribuido (Parte XVI) Modelo de estacin de trabajo


(Sin disco) Bajo costo, fcil mantenimiento del hardware y el software, simetra y flexibilidad

Sistema local de archivos completo

Ve r

si

Paginacin, archivos de tipo borrador, binarios, ocultamiento de archivos

Una carga aun menor en la red; tambin reduce la carga en los servidores de archivos

Paginacin, archivos de tipo borrador, binarios

Reduce todava ms la carga sobre la red

Pr e

Paginacin, archivos de tipo borrador

Reduce la carga de la red Un costo alto debido al gran comparado con el caso sin discos nmero de discos necesarios Alto costo; problemas de consistencia del cach Alto costo; problemas de consistencia del cach

Escasa carga en la red; elimina la Prdida de transparencia necesidad de los servidores de archivos

lim

in a

Uso del disco

Ventajas

Gran uso de la red; los servidores de archivos se pueden convertir en cuellos de botella

Desventajas

Procesamiento distribuido (Parte XVII) Modelo Pila de procesadores


CPU

in a

P IL A D E PROCESADORES

T E R M IN A L X

T E R M IN A L X

T E R M IN A L X

Una solucin consiste en dar a cada Usuario un multiprocesador. Este es un diseo ineficiente y muy costos. Otra consiste en construir una pila de procesadores, repleta de CPUs, en una sala de servidores o mquinas, las cuales se pueden asignar de manera dinmica a los usuarios segn la demanda (este es el modelo de los mainframes actuales).

Ve r

si

Pr e

lim

r
S E R V ID O R DE A R C H IV O S

Procesamiento distribuido (Parte XVIII) Modelo de Clusters


Un cluster es un grupo de maquinas interconectadas juntas trabajando como un nico recurso de computadora unificado que puede crear la ilusin de estar en una sola mquina. Este grupo de mquinas es un sistema que puede ejecutarse por si solo, aparte del cluster. Cada computadora en un cluster es referida como un nodo.

Pr e
Red Privada LAN Administrador

Ve r

si

Usuarios

lim

in a

Procesamiento distribuido (Parte XIX) Modelo de Clusters


Mltiples servidores independientes funcionando como un sistema servidor nico. Los servidores tienen un nombre comn. Se maneja como un sistema nico Los servidores estn disponibles a todas las mquinas conectadas a la red Pueden tolerar fallas de componentes. Todo cluster requiere de la capacidad de balancear efectivamente la carga a lo largo de las computadoras disponibles. Se pueden agregar componentes sin interrumpir a los usuarios. Cuando se agrega una nueva computadora al cluster, la facilidad de balance de carga incluye automticamente dicha computadora en las aplicaciones de planeamiento.

Existen varios beneficios para el clustering:

Escalabilidad absoluta: Se pueden crear grandes clusters que sobrepasan por mucho el poder de la mquina solitaria ms potente. Un cluster puede estar formado por docenas de mquinas, cada una de las cuales puede ser un multiprocesador. Escalabilidad incremental: Cada cluster se configura de manera tal que sea posible el agregado de sistemas nuevos al cluster. Alta disponibilidad: Ya que cada nodo en un cluster es una mquina solitaria, la falla de uno de los nodos no resulta en la cada del sistema. Relacin precio/ rendimiento ms conveniente: Se puede armar un cluster con igual o mayor poder de cmputo que el de una mquina solitaria a un costo mucho ms bajo. Implementar clustering junto a niveles RAID que respalden los datos aseguran la disponibilidad de los sistemas.

Ve r

si

Pr e

lim

in a

Las caractersticas ms sobresalientes son:

Requisitos de un SO p/el Proc. distribuido (Parte I)


Un sistema operativo que permita el procesamiento distribuido (en cualquiera de sus formas) debe proveer los siguientes servicios:
Gestin de Procesos distribuidos. Comunicacin entre procesos distribuidos. Tiempo, sincronizacin y coordinacin. Relojes fsicos y lgicos. Memoria compartida distribuida. Sistemas de archivos distribuidos. Planificacin en sistemas distribuidos. Procesamiento de transacciones. Consistencia. Tolerancia a fallos (incluyendo la recuperabilidad en caso de existir fallos) Control de accesos Servidores de nombres

Ve r

si

Pr e

lim

in a

Requisitos de un SO p/el Proc. distribuido (Parte II)


Distribucin: La distribucin es la separacin de las funciones y los procesos que realiza un SOD. Este proceso de separacin obliga a los diseadores de SOD a generar algunos procesos adicionales como ser: Transparencia: se define a la transparencia a la tcnica de ocultamiento de la separacin de funciones que debe proveer un SOD. Tcnicas de Comunicacin: Para poder vincular los distintos componentes que se encuentran separados. Integracin y manejo explcito del sistema: Para tener un control real de todo el sistema. Beneficios de la Distribucin : Ejecucin verdaderamente paralela de los programas Contencin de fallos y recuperacin sin disrupcin Poltica de seguridad basadas en el aislamiento Crecimiento o contraccin incremental

Ve r

si

Pr e

lim

in a

Requisitos de un SO p/el Proc. distribuido (Parte III)


Tipos de transparencias necesarias en un SOD Tipo
De Acceso De Ubicacin De Concurrencia De Replicacin De Fallo De Migracin De Comportamiento De Escala

Objetivo Buscado

Mismas operaciones en objetos locales y remotos No es necesario conocer dnde se encuentran los recursos Accesos en paralelo sin causar inconsistencia Mltiples ejemplares de un objeto que se presentan como un solo ejemplar Posibilidad de completar tareas ante cadas de equipos o redes a travs de otros nodos del SOD

Reconfiguracin dinmica sin disrupcin

Ve r

si

Crecimiento incremental (o contraccin) sin afectar a las aplicaciones (puede afectar los tiempos de procesamiento)

Desplazamiento de los objetos indiscernible

Pr e

lim

in a

Requisitos de un SO p/el Proc. distribuido (Parte IV)


Servicios de archivos que debe proveer un SOD
Servicio de Bloques Objetivo Buscado

Directorios

Traduce los {nombre textuales} a {identificadores de archivos}

Ve r

si

Transacciones Sincroniza el acceso a archivos compartidos. Asegura que los cambios se hacen en una secuencia estricta

Pr e

Archivos

El servidor mantiene: la relacin entre {identificadores} <--> {bloques} Provee facilidades para crear y destruir archivos , y para leer y escribir en ellos. Puede haber varios File System compartiendo el disco sobre un nico servidor de bloques

lim

Provee facilidades para asignar y liberar bloques de disco y para leer y escribir en ellos. La correspondencia con los identificadores de archivos la mantiene el cliente.

in a

El Kernel de un SO distribuido
Al igual que el kernel de un SO tradicional, el kernel de un SOD es una parte ms importante de todo el SO. Podemos resumir como sus principales caractersticas a las siguientes:
Suelen basarse en Procesos Ligeros (LWP o threads). El ncleo se encarga de la planificacin de las threads. Son los que comparten todo su espacio de direccionamiento. Los ncleos son livianos (en cuanto a tamao y velocidad). Minimizan el software del sistema. Permiten el uso del mismo ncleo en las estaciones y los servidores. Utilidad en los servidores: Cuando el servidor se bloquea, no atiende ms peticiones. Esto se soluciona: programarlo como una coleccin de LWP's, ya que cuando uno se bloquea, los dems siguen sirviendo solicitudes. Utilidad en las estaciones: Con LWP's, las aplicaciones pueden compartir la pantalla la conmutacin entre ellas es rpida el ncleo no necesita dar soporte al sistema de ventanas dan soporte a las threads y a la IPC Amoeba: Su modelo de arquitectura es hbrido se basa en clusters de threads. Los threads son independientes y se comunican por memoria compartida. Un thread corre hasta que se bloquea en espera de un evento externo. Ncleo mnimo: servicios fuera del ncleo Sistema de proteccin basado en capabilities (credenciales) V-System: Modelo puro de Estaciones y Servidores (Sun). Sobre Ethernet Backplane Software: base para construir sistemas da soporte a los LWP's y gestiona la IPC los procesos se "enchufan" al backplane se comunican con los otros usando la IPC el diseo interno de un proceso es invisible al sistema. Teams: Clusters de threads, creados dinmicamente.

Ejemplos de ncleos existentes:

Ve r

si

Pr e

lim

in a

También podría gustarte