unidad 1: sistemas operativos en ambientes distribuidos

17
MATERIA: SISTEMAS OPERATIVOS 2 TITULAR: TOLEDO TORRES JACINTO TRABAJO: UNIDAD 1 SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS PRESENTA: ALEJANDRO JIMENEZ ANTONIO GRUPO: 5 SESPECIALIDAD: ING. EN INFORMATICA

Upload: honeyjimenez

Post on 19-Feb-2017

555 views

Category:

Education


3 download

TRANSCRIPT

Page 1: UNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS

MATERIA:

SISTEMAS OPERATIVOS 2

TITULAR:

TOLEDO TORRES JACINTO

TRABAJO:

UNIDAD 1

SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS

PRESENTA:

ALEJANDRO JIMENEZ ANTONIO

GRUPO: “5 S” ESPECIALIDAD:

ING. EN INFORMATICA

Page 2: UNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS

1.1.- CONCEPTO Y CARACTERISTICAS DE LOS

S.O. DE REDES Y SISTEMAS OPERATIVOS

CENTRALIZADOS

DEFINICION DE SISTEMA OPERATIVO DE RED

Un sistema operativo de red (Network Operating System) es un componente software de una computadora que tiene como objetivo coordinar y manejar las actividades de los recursos del ordenador en una red de equipos. Consiste en un software que posibili ta la comunicación de un sistema informático con otros equipos en el ámbito de una red. Dependiendo del fabricante del sistema operativo de red, tenemos que el software de red para un equipo personal se puede añadir al propio sistema operativo del equipo o integrarse con él. Netware de Novell es el ejemplo más familiar y famoso de sistema operativo de red donde el software de red del equipo cliente se incorpora en el sistema operativo del equipo. El equipo personal necesita ambos sistema operativos para gestionar conjuntamente las funciones de red y las funciones individuales. Características de los Sistemas Operativos de Red ™ Gestión centralizada de recursos y equipos de la red se realiza, por un servidor con S.O. en red. ™ Aparece la figura del administrador de red, que gestiona la infraestructura de la red (no presente en grupos de trabajo). ™ Conecta todos los equipos y recursos de la red. ™ Coordina las funciones de los periféricos y recursos. ™ Proporciona seguridad controlando el acceso a los datos y recursos. ™ Optimiza la utilización de los recursos. DEFINICIÓN DE SISTEMA OPERATIVO CENTALIZADO

se trata de de aquel que utiliza los recursos de una sola computadora, es decir, su memoria, CPU,disco y periféricos.Respecto al hardware podemos decir que se suele tratar de un computador caro y de gran potencia,con terminales alfanuméricos directamente conectados. Suele tratarse de una computadora de tipo desktop, en las cuales es común encontrar un monitor grande con un teclado y un mouse, además de un case para albergar la unidad de procesamiento y los demás componentes Características de los Sistemas Operativos de Centralizado Gestión de procesos

Respecto al manejo de procesos podemos cubrir 3 cosas: la comunicación entre procesos, la sincronización y la planificación.Para ejecutar un proceso, se le asigna memoria y se ejecuta sobre el (normalmente) único procesador del sistema. Es más simple que en un sistema distribuido pues siempre se va a elegir el procesador local, así que el tema pasa más por buscar el funcionamiento óptimo del procesador que se posea y en buscar en qué procesador ejecutar un proceso para aprovechar las posibilidades de cómputo.

Page 3: UNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS

Gestión de memoria El manejo de memoria tiene que ver con la asignación de memoria, el mapeo lógico y físico, la memoria virtual y los mecanismos de protección. En el sistema centralizado se maneja sólo la memoria con la que cuenta la computadora en la que está instalado el sistema Gestión de dispositivos

Sobre el manejo de dispositivos podemos tratar los driver de los dispositivos, el buffering y el spooling. Para que sea un sistema centralizado la gestión de dispositivos debe encargarse sólo de los dispositivos que le pertenecen a una sola computadora. Gestión de archivos Para el manejo de archivos hay que tener en cuenta el acceso a archivos, la compartición de archivos, el control de concurrencia y la replicación de datos. Es la parte del sistema operativo centralizado que se encarga de proporcionar a los usuarios y aplicaciones servicios de para el uso,acceso y control de accesos, tanto de archivos como a directorios

1.2.- CONCEPTOS Y CARACTERISTICAS DE LOS

SISTEMAS OPERATIVOS DISTRIBUIDO

SISTEMA OPERATIVO DISTRIBUIDO

Es un conjunto de computadores independientes que se presenta a los usuarios

como un sistema único. Un sistema distribuido fuertemente acoplado es a es aquel

que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares

para todos los procesadores. En un sistema débilmente acoplado los

procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su

memoria local.

Características de Sistemas Distribuidos

Trasparencia

Se dice que un sistema distribuido es trasparente cuando es visto tanto por el

usuario como por el programador como un sistema convencional de tiempo

compartido. La trasparencia total es difícil de lograr. Parcialmente, el concepto de

transparencia puede ser aplicado a varios aspectos de un sistema distribuido.

Page 4: UNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS

Flexibilidad

Este aspecto se refiere a la forma en que debe ser construido el sistema operativo.

Conviven dos escuelas de pensamiento que son las del kernel monolítico y las del

sistema operativo basado en microkernel. La primera sostiene que los servicios

del sistema deben residir en el sistema operativo y la segunda que es preciso

extraer todos los servicios posibles fuera del núcleo del sistema operativo y

disponerlos en procesos de usuario, logrando un mayor estructura e

independencia en los servicios, que pueden residir en máquinas diferentes. Hoy

en día el kernel monolítico domina el mundo de los sistemas operativos, pero

parece que el futuro se impondrá la filosofía microkernel, debido a su mayor

flexibilidad. Para obtener un servicio, un proceso de usuario envía un mensaje al

servidor adecuado.

Fiabilidad

Una de las motivaciones originales para tratar de construir sistemas distribuidos

fue el aumento de la fiabilidad del sistema. En un sistema con cien UCP's el fallo

de uno de ellas no tendrá consecuencias graves, por que su trabajo será realizado

por las otras. En un sistema en el que el sistema de ficheros se reparte en cuatro

servidores, cada uno de ellos con una probabilidad de que en un instante dado

sea inoperativo de 0.05, la probabilidad de que el sistema de ficheros completo no

sea operativo es de 0.054 = 0.000006.

Prestaciones

Por muy brillantemente que hayan sido resueltos los objetivos de transparencia y

fiabilidad de un sistema operativo distribuido, este no tendrá éxito si es lento. La

velocidad de los sistemas distribuidos viene comprometida por el tráfico de

mensajes en las líneas de comunicación. En una red local, el envío de un mensaje

puede llevar alrededor de un milisegundo.

Escalabilidad

A pesar de los progresos de los últimos años, con sistemas concretos y

desarrollados, el diseño de sistemas operativos distribuidos es un campo aún poco

conocido e investigado. Los actuales sistemas abarcan como máximo unos

cientos de máquinas.

Page 5: UNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS

1.3 SISTEMAS OPERATIVOS DISTRIBUIDOS: VENTAJAS

Y DESVENTAJAS CONTRA S.O CENTRALIZADOS, S.O

PARA RED, MODELO CLIENTE-SERVIDOR, MODELO DE N

CAPAS, CARACTERÍSTICAS DEL HARDWARE Y

CARACTERÍSTICAS DEL SOFTWARE (HOMOGÉNEOS Y

HETEROGÉNEOS), DIRECCIONAMIENTO LÓGICO Y

FÍSICO

Ventajas de los Sistemas Distribuidos con Respecto a los Centralizados

Una razón para la tendencia hacia la descentralización es la economía.

Herb Grosch formuló la que se llamaría “Ley de Grosch”

El poder de cómputo de una cpu es proporcional al cuadrado de su precio:

Si se paga el doble se obtiene el cuádruple del desempeño.

Fue aplicable en los años setentas y ochentas a la tecnología mainframe.

No es aplicable a la tecnología del microprocesador:

La solución más eficaz en cuanto a costo es limitarse a un gran número de cpu

baratos reunidos en un mismo sistema.

Los sistemas distribuidos generalmente tienen en potencia una proporción precio /

desempeño mucho mejor que la de un único sistema centralizado.

1.3.2.- Ventajas de los Sistemas Distribuidos con Respecto a los de Red

La diferencia entre estos dos tipos de sistemas operativos es que el de red opera

sus computadoras independientemente, cada maquina usa sus propios recursos,

Page 6: UNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS

disco duro, memoria ram, procesador, los archivos tienen su propio directorio en

cada una. En cambio los SISTEMAS OPERATIVOS DISTRIBUIDOS usan todos

los recursos de todas las computadoras como si fueran una sola, tienen un solo

disco duro formado con el de todas, no importa donde este un archivo es la misma

dirección para todas.

1.3.3.- modelo cliente - servidor

La existencia de los encabezados genera un “costo” adicional de transmisión.

Cada envío de un mensaje genera:

Proceso en media docena de capas.

Preparación y agregado de encabezados en el camino hacia “abajo”.

Eliminación y examen de encabezados en el camino hacia “arriba”.

Con enlaces del orden de decenas (o centenas) de miles de bits / segundo y cpu

poderosas:

La carga de procesamiento de los protocolos no es significativa.

El factor limitante es la capacidad de las líneas.

Ej.: redes de área extendida (WAN).

Con enlaces del orden de millones de bits / segundo y computadoras personales:

La carga de procesamiento de los protocolos sí es frecuentemente significativa.

El factor limitante no es la capacidad de las líneas.

Ej.: redes de área local (LAN).

La mayoría de los sistemas distribuidos basados en LAN no utilizan los protocolos

de capas completos, sí utilizan un subconjunto de toda una pila de protocolos.

El “modelo OSI” no dice nada acerca de la forma de estructurar al sistema

distribuido.

Page 7: UNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS

El “modelo cliente - servidor” tiene como idea fundamental la estructuración del S.

O. como:

Un grupo de procesos en cooperación, llamados servidores, que ofrecen servicios

a los usuarios.

Un grupo de procesos usuarios llamados clientes.

El “modelo cliente - servidor” se basa en un “protocolo solicitud / respuesta”:

Es sencillo y sin conexión.

No es complejo y orientado a la conexión como OSI o TCP / IP.

El cliente envía un mensaje de solicitud al servidor pidiendo cierto servicio.

El servidor:

Ejecuta el requerimiento.

Regresa los datos solicitados o un código de error si no pudo ejecutarlo

correctamente.

No se tiene que establecer una conexión sino hasta que ésta se utilice.

La pila del protocolo es más corta y por lo tanto más eficiente.

1.3.4.- Modelo n-capas

Modelo de desarrollo N-Capas.

Las capas dentro de una arquitectura son un conjunto de servicios especializados

que pueden ser accesibles por múltiples clientes y que deben ser fácilmente

reutilizables.

Lo que se conoce como arquitectura en capas es en realidad un estilo de

programación donde el objetivo principal es separar los diferentes aspectos del

Page 8: UNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS

desarrollo, tales como las cuestiones de presentación, lógica de negocio,

mecanismos de almacenamiento, etc.

Una razón importante por la que surge este concepto, es debido a que en la

evolución del desarrollo de software, se ha identificado la necesidad de crear

nuevas capas, especializadas en funciones específicas, diferentes a las 3

identificadas previamente. Tal es el caso de la seguridad, el control de

excepciones, el transporte de datos entre capas, la generación de trazas de

errores, entre otros.

Ventajas

Desarrollos paralelos (en cada capa)

Aplicaciones más robustas debido al encapsulamiento

Mantenimiento y soporte más sencillo (es más sencillo cambiar un componente

que modificar una aplicación monolítica)

Mayor flexibilidad (se pueden añadir nuevos módulos para dotar al sistema de

nueva funcionalidad)

Alta escalabilidad. La principal ventaja de una aplicación distribuida bien diseñada

es su buen escalado, es decir, que puede manejar muchas peticiones con el

mismo rendimiento simplemente añadiendo más hardware. El crecimiento es casi

lineal y no es necesario añadir más código para conseguir esta escalabilidad.

Desventajas

Pone más carga en la red, debido a una mayor cantidad de tráfico de la red.

Es mucho más difícil programar y probar el software que en arquitectura de dos

niveles porque tienen que comunicarse más dispositivos para terminar la

transacción de un usuario.

Page 9: UNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS

1.3.5.- Características Hardware Sistemas Distribuidos

Conceptos de Hardware

Todos los sistemas distribuidos constan de varias cpu, organizadas de diversas

formas, especialmente respecto de:

o La forma de interconectarlas entre sí.

o Los esquemas de comunicación utilizados.

Existen diversos esquemas de clasificación para los sistemas de cómputos con

varias cpu:

o Uno de los mas conocidos es la “Taxonomía de Flynn”:

o Considera como características esenciales el número de flujo de instrucciones y

el número de flujos de datos.

o La clasificación incluye equipos SISD, SIMD, MISD y MIMD.

SISD (Single Instruction Single Data: un flujo de instrucciones y un flujo de datos):

o Poseen un único procesador.

SIMD (Single Instruction Multiple Data: un flujo de instrucciones y varios flujos de

datos):

o Se refiere a ordenar procesadores con una unidad de instrucción que:

o Busca una instrucción.

o Instruye a varias unidades de datos para que la lleven a cabo en paralelo, cada

una con sus propios datos.

• Son útiles para los cómputos que repiten los mismos cálculos en varios conjuntos

de datos.

MISD (Multiple Instruction Single Data: un flujo de varias instrucciones y un solo

flujo de datos):

• No se presenta en la práctica.

MIMD (Multiple Instruction Multiple Data: un grupo de computadoras

independientes, cada una con su propio contador del programa, programa y

datos):

Page 10: UNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS

• Todos los sistemas distribuidos son de este tipo.

Un avance sobre la clasificación de Flynn incluye la división de las computadoras

MIMD en dos grupos:

• Multiprocesadores: poseen memoria compartida:

o Los distintos procesadores comparten el mismo espacio de direcciones virtuales.

• Multicomputadoras: no poseen memoria compartida:

o Ej.: grupo de PC conectadas mediante una red.

Cada una de las categorías indicadas se puede clasificar según la arquitectura de

la red de interconexión en:

• Esquema de bus:

o Existe una sola red, bus, cable u otro medio que conecta todas las máquinas:

Ej.: la televisión por cable.

• Esquema con conmutador:

o No existe una sola columna vertebral de conexión:

Hay múltiples conexiones y varios patrones de conexionado.

Los mensajes de mueven a través de los medios de conexión.

Se decide explícitamente la conmutación en cada etapa para dirigir el mensaje a

lo largo de uno de los cables de salida.

Ej.: el sistema mundial telefónico público.

• Otro aspecto de la clasificación considera el acoplamiento entre los equipos:

• Sistemas fuertemente acoplados:

o El retraso al enviar un mensaje de una computadora a otra es corto y la tasa de

transmisión es alta.

o Generalmente se los utiliza como sistemas paralelos.

• Sistemas débilmente acoplados:

o El retraso de los mensajes entre las máquinas es grande y la tasa de

transmisión es baja.

Page 11: UNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS

o Generalmente se los utiliza como sistemas distribuidos.

Generalmente los multiprocesadores están más fuertemente acoplados que las

multi-computadoras.

1.3.6.- Características Software Sistemas Distribuidos

Aunque el hardware es importante, el software lo es más. La imagen que presenta

y la forma de pensar de los usuarios de un sistema, queda determinada en gran

medida por el software del sistema operativo, no por el hardware.

Se puede distinguir dos tipos de sistemas operativos para los de varios CPU:

Los débilmente acoplados: El software débilmente acoplado permite que las

máquinas y los usuarios de un sistema distribuido sean independientes entre sí en

lo fundamental, pero que interactúen en cierto grado cuando sea necesario.

Los fuertemente acoplados: En el software fuertemente acoplado el programa de

aplicación y el sistema operativo necesario para soportarlo, están muy acoplados.

Direccionamiento Lógico- Físico Sistemas Distribuidos

Una dirección generada por la CPU se denomina dirección lógica en cambio a la

que es percibida por unidad de memoria se denomina dirección física.

Los esquemas de vinculación de direcciones durante la compilación y durante la

carga dan pie a un entorno en el que las direcciones lógicas y físicas son las

mismas. En cambio, la ejecución del esquema de vinculación de direcciones

durante la ejecución produce un entorno en el que las direcciones lógicas y físicas

difieren. En este caso la dirección lógica suele llamarse dirección virtual.

Direccionamiento lógico y físico El proceso desde que los datos son incorporados

al ordenados hasta que se transmiten al medio se llama encapsulación. Estos

datos son formateados, segmentados, identificados con el direccionamiento lógico

y físico para finalmente ser enviados al medio. A cada capa del modelo OSI le

corresponde una PDU (Unidad de Datos) siguiendo por lo tanto el siguiente orden

de encapsulamiento:

Page 12: UNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS

o DATOS

o SEGMENTOS

o PAQUETES

o TRAMAS-BITS

o CAPA TRANSMITE

o APLICACIÓN DATOS

o PRESENTACIÓN

o SESIÓN

o TRANSPORTE SEGMENTOS

o RED PAQUETES

o ENLACE DE DATOS TRAMAS

o FÍSICA BITS

Debido a que posiblemente la cantidad de los datos sean demasiados, la capa de

transporte desde de origen, se encarga de segmentarlos para así ser

empaquetados debidamente, esta misma capa en el destino se encargara de re

ensamblar los datos y colocarlos en forma secuencial, ya que no siempre llegan a

su destino en el orden en que han sido segmentados, así mismo acorde al

protocolo que se este utilizando habrá corrección de errores. Estos segmentos son

empaquetados (paquetes o datagramas) e identificados en la capa de red con la

dirección lógica o IP correspondiente al origen y destino. Ocurre lo mismo con la

dirección MAC en la capa de enlace de datos formándose las tramas o frames

para ser transmitidos a través de alguna interfaz.

Page 13: UNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS

1.4 SISTEMAS DISTRIBUIDOS DE ALTO RENDIMIENTO

El cómputo con Clusters surge como resultado de la convergencia de varias

tendencias actuales que incluyen la disponibilidad de microprocesadores

económicos de alto rendimiento y redes de alta velocidad, el desarrollo de

herramientas de software para cómputo distribuido de alto rendimiento, así como

la creciente necesidad de potencia computacional para aplicaciones que la

requieran.

El Cluster es un grupo de computadoras unidas mediante una red de alta

velocidad, de tal forma que trabajan como una única computadora, más potente.

En la actualidad, es factible disponer de alta capacidad computacional, incluso

equivalente a la encontrada en las poderosas y costosas supercomputadoras

clásicas, mediante clusters de computadoras PC independientes, de bajo costo,

interconectadas con tecnologías de red de alta velocidad, y empleando software

de libre distribución. El cluster puede trabajar de forma coordinada para dar la

ilusión de un único sistema. Más adelante revisaremos las ideas básicas sobre

diseño, construcción y operación de clusters, presentando aspectos relacionados

al software y al hardware.

MOSIX

Es un paquete de software que mejora el kernel de Linux con capacidades de

computación de clusters. El kernel mejorado permite a cualquier cluster de

estaciones de trabajo y servidores X86/Pentium/AMD trabajar coordinadamente

como parte de un sólo sistema.

MOSIX es una extensión del kernel de Linux que permite ejecutar aplicaciones

“normales” (no paralelizadas) en un Cluster. Una de las posibilidades de MOSIX

es la “migración de procesos”, que permite migrar procesos de nodo en nodo. Si

por ejemplo, cierto proceso está dominando la carga de un nodo, este será movido

a otro que tiene más recursos. Una de las características de MOSIX es que, a

diferencia de otros clusters, no es necesario modificar las aplicaciones ni tampoco

utilizar librerías especiales. De hecho, tampoco es necesario asignar “a mano” los

procesos a los diferentes nodos que componen el cluster. La idea es que después

de la creación de un nuevo proceso (fork), MOSIX intenta asignarlo al mejor nodo

disponible en ese entonces. MOSIX monitorea constantemente los procesos, y si

fuera necesario, migrará un proceso entre los nodos para maximizar el

rendimiento promedio. MOSIX realiza todo esto automáticamente, bajo el

Page 14: UNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS

concepto de “fork and forget” al igual que en un sistema SMP

(Multiprocesamiento Simétrico). Esto significa que sólo algunas aplicaciones se

beneficiarán de un cluster MOSIX, básicamente:

• Procesos que requieren de mucho CPU, aplicaciones científicas, de ingeniería,

etc.

• Procesos paralelos, especialmente los que tienen tiempos de ejecución

impredecibles.

• Clusters con nodos de diferentes velocidades y/o distintas cantidades de

memoria.

• Entornos multiusuario y de tiempo compartido.

• Servidores WEB escalables.

MOSIX funciona silenciosamente. Sus operaciones son transparentes para las

aplicaciones. Los usuarios no necesitan saber dónde se están ejecutando los

procesos, tampoco necesitan preocuparse de lo que están haciendo otros

usuarios. Como MOSIX está implementado en el kernel de Linux, sus operaciones

son totalmente transparentes para las aplicaciones. Esto permite definir distintos

tipos de clusters, incluso un cluster con diferentes CPU‟s o velocidades LAN.

KNOPPIX

Es una distribución de GNU/Linux . Está desarrollada por el consultor de

GNU/Linux Klaus Knopper.

Existen varias distribuciones derivadas de Knoppix, el producto básico es un Live

CD comprimido que se infla en un kernel de 1.6 GB, y un Live DVD de 4.7 GB;

tambien se puede cargar via USB o flash card. Basado en DEBIAN, KNOPPIX

puede ser usado como tutorial de LInux, pero tambien puede correr software

propietario con ciertas condiciones.

Entre otras características, puede usarse como plataforma de rescate de datos de

discos y particiones inaccesobles o dañadas.

Otros paquetes que incluye son: LXDE, un entorno de escritorio ligero tipo X11, o

bien el KDE 3, una versión mejorada del escritorio. reproductor MP, software de

acceso a Internet con KPPP y el ISDN, navegadorIceweasel Firefox, cliente e-

mail Icedove Firefox Thunderbird, procesador de imagenes GIMP, LibreOffice, y

herramientas para recuperación de datos y reparación de sistema, monitorea y

Page 15: UNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS

análisis de la red y una suite extensa de terminal de servidor.

Cluster Knoppix es una distribución basada en Knoppix y que utiliza Linux

Terminal Server Project y OpenMosix. Es una vía conveniente para probar

configuraciones en cluster.

Knoppix se puede usar para demostrar de manera sencilla el sistema GNU/Linux,

especialmente como sistema operativo; para verificar la compatibilidad de

hardware con Linux (especialmente para tarjeta de vídeo), o para restaurar un

sistema corrupto o datos perdidos.

Gracias a su rapidez, portabilidad, las herramientas que incluye y el amplio

soporte para la mayoría de dispositivos que ofrece; puede usarse en muchos

ámbitos. Knoppix funciona a la perfección como sistema de rescate y reparación

de errores, como CD educacional, sistema comercial o sistema de uso personal, y

debido a sus capacidades de descompresión „sobre la marcha‟ puede albergar

hasta 2 GB de software instalado en el CD, u 8 GB en el DVD.

Tradicionalmente la computación por clusters sólo se podia implementar

estableciendo llaves RSH (Remote Shell), creando NFS compartidos, (Sistemas

de Archivos en Red), editando archivos de configuración de hosts,estableciendo

direcciones IP estáticas, y aplicando manualmente los parches al Kernel.

ClusterKnoppix nos salva de hacer todo este trabajo. La distribución contiene un

sistema de autoconfiguración donde las nuevas máquinas que ingresan

al cluster acceden automáticamente por medio de la red.

HPCC (High-Performance Computing Cluster), también se le conoce

como DAS (Data Analytics Supercomputer), es una plataforma de procesamiento

de datos a gran escala, de libre distribución desarrollada por LexisNexis Risk

Solutions. La plataforma HPCC incorpora una arquitectura de software

implementada en commodity computingque es una forma de hacer clusters con

máquinas baratas, para obtener procesamiento paralelo de alto rendimiento para

aplicaciones que usan grandes volúmenes de datos. La pataforma HPCC incluye

configuraciones del sistema para soportar procesamiento por lotes y

procesamiento paralelo, y aplicaciones de consulta de alto desempeño que usan

archivos de datos indexados. La plataforma HPCC también incluye un lenguaje de

programación declarativo orientado a los datos para procesamiento paralelo

llamado ECL.

Page 16: UNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS

BEOWULF El nombre se refiere a una computadora específica llamada así y

construida en 1994 por Thomas Sterling y Donald Becker en la NASA. El nombre

Beowulf provienen de el poema épico clásico de la literatura Inglesa Beowulf. Es

un cluster de computadoras de bajo costo, normalmente idénticas que están

conectadas en una pequeña LAN, con librerías y programas instalados que

permiten que el procesamiento se reparta entre ellos. El resultado es una

computadora de procesamiento paralelo con hardware barato.

El autor compara el trabajo del cluster con la frase del poema "thirty men's heft of

grasp in the gripe of his hand".

Beowulf es cluster normalmente basado en UNIX, como BSD, Linux o Solaris; se

construye con software gratuito y de libre distribución. Comúnmente utilizan

librerias de Procesamiento Paralelo como MPI (Message Passing Interface) y

PVMI (Parallel Virtual Machine). Ambas permiten al prgramador dividir una tarea

entre un grupo de computadoras en red, y colectar los resultados del

prosesamiento. Ejemplos de software MPI son OpenMPI y MPICH, así como

versiones adicionales del MPI.

Los sistemas Beowulf se usan en todo el mundo en todo el mundo sobre todo en

el área de la Computación Científica.

APACHE HADOOP

Es un producto de libre distribución de Apache Software Foundation, para

procesado y almacenamiento de conjuntos de datos a gran escala en Clusters de

hardware de bajo costo. Se supon que es uno delos proyectos líderes de Apache y

es usado por una comunidad importante de desarrolladores y usuarios.

Con licencia de Apache 2.0 Hadoop consta de los siguientes módulos:

1. Hadoop Common: Contiene librerías y utilerías para los módulos eternos.

2. Hadoop Distributed File System (HDFS):- Un sistema de

archivos distribuido que almacena datos en las máquinas PC,

porporcionando un muy alto ancho de banda para almacenamiento en el

clúster.

3. Hadoop YARN: Una plataforma de administración de recursos informáticos

en clusters, que támbien hace las funciones de planificador de aplicaciones

de usuario.

4. Hadoop MapReduce: Un modelo de programación para procesamiento de

datos a gran escala.

Page 17: UNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS

Todos los modulos de Hadoop están diseñados bajo la filosofía de de que las

fallas enel hardware (de maquinas individuales o racks de ellas) son comunes y

por ende deben ser tratados de forma automática en el software por el entorno

operativo. El MapReduce de Hadoops y sus componentes del (HDFS) Hadoops

File System, derivan originalmente de Google's MapReduce y se basan en

artículos sobre Google File System (GFS). Mas allá de HDFS, YARN y

MapReduce, la plataforma Hadoop en total es considerada como un conjunto de

pryectos relacionados, como Apache Pig, Apache Hive, Apache HBase y otros.

Para el usuario final, el código Java es una elección natural a través de

MapReduce, pero cualquier lenguaje de programación puede ser usado

con Hadoop Streaming para implementar el "mapa" y "reducir" piezas del

programa del usuario. El entorno Hadoop es por sí mismo código Java con un

poco de Lenguaje C nativo, utilerías dela línea de comandos y scripts del shell.

La especificaciones y la potencia de los Sistemas Oerativos distribuidos vistos

difieren en su implementación, pero son en esencia soluciones a gran escala para

resolver los problemas comunes que atiende el Sistema Operativo; el clúster es en

este sentido una especificación muy clara y podríamos estudiar más productos

para encontrar piezas grandes complejas pero con fines similares, ya que una

cualidad especial de estas plataformas es la búsqueda de la sencillez, la ejecución

ligera y el ahorro de recursos informáticos para los usuarios, no para el gestor del

cluster. Las tareas de administración son esencialmente las mismas, memoria,

procesos, tiempo de procesador, entrada-salida, seguridad y Sistema de Archivos;

ahora con la responsabilidad en un ambiente compartido.

Más allá del conocimiento tradicional sobre clusters,la carrera tecnológica sigue

avanzando. Descifrar el genoma humano y en general otros genomas es el

ejemplo clasico de tareas computacionales titánicas para las cuales se tienen

potentes sistemas trabajando 24 horas al día. Podemos por ejemplo conectarnos a

alguno de los clusters para usarlos. Esto nos da una idea de la nueva forma de

trabajar en entornos de alta disponibilidad de recursos informáticos y su aplicación

en la vida diaria, no sólo en el super-cómputo de las grandes matemáticas, la

astronomía y la genética.