Anda di halaman 1dari 4

1

Cluster
Arteaga Juan - Garcia Jose - Sabando Kenia - Solorzano Edison
Sistemas Distribuidos - Sexto B
2015 - 05 - 28

ResumenEste articulo explora uno de los tantos terminos encontrados en la computacion distribuida y es que a
finales de la decada de los 50 e inicios de los 60, aparecio
1977 empezaron a

el termino cluster,
que para el ano
asomar en el mundo de la informatica, sin embargo no
de 1984 alcanzaron e xitos significativos
obstante en el ano
que llego a producir un Sistema Operativo funcional con
esa arquitectura. El campo de interes radica en conocer la
definicion de un cluster, su funcionamiento, clasificacion y
la importancia que tiene en el desarrollo de los sistemas
distribuidos. Con base al analisis, investigacion y reflexion
se presenta un artculo con las definiciones necesarias para
entender los terminos que abarcan este tema de forma
ntegra y amigable, donde varios autores dan su punto

de vista y senalan
distintas perspectivas sobre la ventaja

y aplicacion de los cluster.

I.

I NTRODUCCI ON

ctualmente todas las instituciones y empresas, sea


cual sea su finalidad, desean optimizar y mejorar
sus beneficios y servicios para tener mayor aceptacion.
Un punto fundamental para realizar esto es su sistema
electronico, es necesario que el trabajo que realiza esta
parte de la empresa este trabajan al cien por ciento.

Una forma de mejorar el trabajo del sistema


electronico es juntando varias computadoras para que
trabajen como una, teniendo en cuenta el espacio fsico
con el que se cuenta. Con estos sistemas trabando
en conjunto se vera mejorado el sistema electronico
eventualmente. A este grupo de computadoras se lo
denomina cluster.
Un cluster es un conjunto de elementos de computos
relacionados entre s que se encuentran realizando una o
mas tareas asignadas de forma cooperada. La conexion
entre estos elementos es mediante una red local por la
cual se enlazan los nodos esclavos con el nodo central
que es el encargado de distribuir las tareas y servicios
a los distintos nodos. No es adecuado que se comparta
el canal de transmision con otras computadoras ya que
puede causar congestion en la comunicacion interna del
cluster.
Hoy en da los clusteres desempenan un papel importante en la solucion de problemas de las ciencias, las
ingenieras y del comercio moderno. La tecnologa de
cluster ha evolucionado en apoyos de actividades que
van desde aplicaciones de supercomputo y software, en

servidores web y comercio electronico, hasta bases de


datos de alto rendimiento entre otros usos.

II.
II-A.

M ARCO T E ORICO

Historia de Cluster

El comienzo del termino y del uso de este tipo de


tecnologa es desconocido pero se puede considerar que
comenzo a finales de los anos 50 y principios de los
anos 60.
La historia de los primeros grupos de computadoras
es mas o menos directamente ligado a la historia de
principios de las redes, como una de las principales
motivaciones para el desarrollo de una red para enlazar
los recursos de computacion, de hecho la creacion de
una computadora. Las redes de conmutacion de paquetes
corporacion RAND en 1962.[1]
Utilizando el concepto de una red de conmutacion de
paquetes, el proyecto logro crear en 1969 lo que fue
posiblemente la primera red de computadoras basicas
basadas en el cluster de computadoras informatico por
cuatro tipos de centros informaticos.
El primer producto comercial de tipo cluster fue
ARCnet, desarrollada en 1977 por Datapoint pero no
obtuvo un e xito comercial y los clusteres no consiguieron
tener e xito hasta que en 1984 VAXcluster produjeran el
sistema operativo VAX/VMS.[2]

II-B.

Definicion de Cluster

Es un grupo de computador que estan interconectadas


y funcionan como una sola unidad de proceso de informacion.[3]

II-C.

Funcionamiento

Un cluster funciona como un sistema u nico o monoltico, es decir, para un usuario o para un problema dado
todos los nodos (o sistemas miembro computadora. Esta
es la particularidad mas representativa de un cluster.[4]

Fig 1. Cluster de computadoras formado por hardware convencional.

II-D.

Arquitectura de cluster

Un cluster es un grupo de sistemas de computacion


independientes y acoplados con flexibilidad, que se
comporta como un sistema u nico. Algunos de estos
nodos pueden ser, y frecuentemente son, sistemas SMP.
Las aplicaciones de cliente interactuan con un cluster
como si fuera un solo servidor muy confiable y de alto
rendimiento. Los administradores de sistemas consideran
un cluster como un servidor u nico. La tecnologa de
cluster puede adaptarse facilmente a la tecnologa de
computacion y a interconexiones estandar en la industria
de bajo costo.
Clustering puede tener muchas formas. Un cluster solo
puede ser un grupo de computadoras personales estandar
interconectadas a traves de Ethernet. Al extremo final
del espectro, la estructura de hardware puede constar de
sistemas SMP de alto rendimiento conectados a traves
de un bus I/O y de comunicaciones de alto rendimiento.
En ambos casos, la potencia de procesamiento se puede
incrementar en pequenos pasos graduales al agregar otro
sistema de componentes. Para una aplicacion de cliente,
el cluster proporciona la ilusion de un servidor u nico
o una imagen de sistema u nico aun cuando se puede
componer de muchos sistemas.
Es posible agregar sistemas adicionales al cluster conforme se necesiten para procesar solicitudes mayores o
mas complejas de los clientes. Si un sistema falla en un
cluster, su carga de trabajo se puede distribuir automaticamente entre los sistemas restantes. Esta transferencia
es casi siempre transparente para el cliente.[5]

Fig 2. Arquitectura de un cluster montado en una central.

II-E.

Modelo de disco compartido

Dos principales modelos de software se utilizan en


clustering: el disco compartido y nada compartido.

En el modelo de disco compartido, el software


que se ejecuta en cualquier sistema en el cluster puede
tener acceso a cualquier recurso (por ejemplo, un disco)
conectado a algun sistema en el cluster. Si dos sistemas
necesitan ver los mismos datos, los datos se pueden
leer dos veces desde el disco o copiarse de un sistema
a otro. Como en un sistema SMP, la aplicacion debe
sincronizar y serializar su acceso a datos compartidos.
Generalmente, se utiliza un administrador de bloqueos
distribuidos (DLM) para ayudar con esta sincronizacion.
DLM es un servicio proporcionado y destinado a las
aplicaciones que rastrean referencias para recursos a
traves del cluster. Si mas de un sistema intenta hacer
referencia a un solo recurso, DLM reconocera y resolvera
el conflicto potencial. Sin embargo, la coordinacion
DLM puede provocar un trafico de mensaje adicional
y reducir el rendimiento debido al acceso serializado,
asociado con los sistemas adicionales. Un enfoque para
reducir estos problemas es el modelo de software de
nada compartido.[6]
En el modelo de software de nada compartido, cada
sistema dentro del cluster es propietario de un subgrupo
de recursos del cluster. Solo un sistema puede poseer y
acceder a la vez a un recurso en particular, aunque en
caso de falla, otro sistema determinado dinamicamente
puede apropiarse del recurso. Ademas, las solicitudes
de los clientes se en rutan automaticamente al sistema
de quien pertenece el recurso.
Si la solicitud del cliente requiere acceso a los recursos
que pertenecen a diversos sistemas, se selecciona un
sistema para alojar la solicitud. El sistema host analiza la
solicitud del cliente y enva la subsolicitud a los sistemas
adecuados. Cada sistema ejecuta una subsolicitud y
regresa solo la respuesta requerida al sistema host. El
sistema host conforma una respuesta final y la enva al
cliente.
Una solicitud de un sistema u nico en el sistema host
describe una funcion de alto nivel (como la recuperacion
de registros de datos multiples) que genera una gran
cantidad de actividad en el sistema (como lecturas de
discos multiples), y el trafico asociado no aparece en
la interconexion del cluster hasta que se encuentran los
datos finales deseados. Al utilizar una aplicacion que
se distribuye en diversos sistemas en cluster, como una
base de datos, el rendimiento general del sistema no se
ve limitado debido a las restricciones de hardware de
una computadora.
Los modelos de disco compartido y de nada compartido se pueden soportar dentro del mismo cluster. Algunos
tipos de software pueden explotar mas facilmente las

High Availability: Son clusteres cuyo objetivo de


diseno es el de proveer disponibilidad y confiabilidad. Estos clusteres tratan de brindar la maxima
disponibilidad de los servicios que ofrecen. La confiabilidad se provee mediante software que detecta
fallos y permite recuperarse frente a los mismos,
mientras que en hardware se evita tener un u nico
punto de fallos.[8]
High Throughput: Son clusteres cuyo objetivo de
diseno es el ejecutar la mayor cantidad de tareas en
el menor tiempo posible. Existe independencia de
datos entre las tareas individuales. El retardo entre
los nodos del cluster no es considerado un gran
problema.[8]

capacidades de cluster a traves del modelo de disco compartido. Este software incluye aplicaciones y servicios
que requieren solo un acceso moderado compartido (y
de lectura intensiva) a los datos, as como aplicaciones
o cargas de trabajo que son difciles de dividir. Las
aplicaciones que requieren escalacion maxima deben
utilizar el soporte de nada compartido del cluster.[6]

II-F.

Servidores de aplicacion Cluster

Mientras que los clusters pueden llevar disponibilidad


y capacidad de escalacion a la mayor parte del software
basado en servidor, las aplicaciones conscientes de
clusters pueden aprovechar los beneficios del ambiente.
El software de servidor de base de datos debe mejorarse
ya sea para coordinar el acceso a los datos compartidos
en un cluster de disco compartido o dividir una solicitud.
SQL entre un grupo de sub solicitudes en un cluster
de nada compartido. En un cluster de nada compartido,
el servidor de la base de datos tal vez desee aprovechar
mejor los datos divididos o duplicados al hacer consultas
paralelas inteligentes para su ejecucion, a traves del
cluster. Las aplicaciones de servidor pueden aprovechar
el equilibrio de la carga del cluster distribuyendo
dinamicamente la carga de aplicaciones entre todos
los miembros del cluster. El software de servidor de
aplicaciones tambien puede mejorarse para detectar
fallas de componentes e iniciar una recuperacion rapida
a traves de las APIs de cluster.[7]

II-H.

Componentes cluster
Multiples nodos de computacion
Los nodos pueden encontrarse encapsulados
en un solo contenedor (tpicamente interconectados por una SAN), o estar fsicamente
diferenciados (interconectados por una LAN).
Los nodos pueden ser PCs, estaciones de trabajo o SMPs.
Diferentes sistemas operativos
UNIX, Linux, W2000, WXP, . . .
Red de interconexion de altas prestaciones
Myrinet, Infiniband, Gigabit Ethernet, . . .
Diferentes tipos de interfaz de red
En el bus E/S, en el bus de sistema, en el
procesador.
Protocolos rapidos de comunicacion
Active messages, Fast messages, VIA, . . .

Fig 3. Servidores de aplicacion cluster.

II-G.

Clasificacion

Esta clasificacion se basa en relacion al uso que se les


da a los clusteres y los servicios que ofrecen, por lo que
existen las siguientes categoras:
High Performance: Son clusteres en los cuales
se ejecutan tareas que requieren de gran capacidad
computacional, grandes cantidades de memoria, o
ambos a la vez. El llevar a cabo estas tareas puede
comprometer los recursos.[8]

Middleware: SSI ( Single System Image)


SSI ofrece al usuario una vision unificada de
todos los recursos del sistema
SSI se define mediante hardware o software.[9]
Middleware: Disponibilidad
Infraestructura de alta disponibilidad, que incluye servicios de checkpointing, recuperacion
tras fallo, tolerancia a fallos, . . .
SSI puede implementarse a tres niveles
Nivel hardware: Se ve el cluster como un
sistema de memoria compartida distribuida (ej.
Digital Memory Channel, DSM, . . . ).
Nivel kernel SO: Ofrece alto rendimiento a
las aplicaciones secuenciales y paralelas. Por

ejemplo, gang-scheduling para programas paralelos, identificacion de recursos sin uso, acceso
global a recursos, migracion de procesos (balanceo de carga), . . . (ej. Solaris MC, GLUnix,
. . . ).
Nivel aplicacion o subsistema: Software de
planificacion y gestion de recursos (ej. LSF,
CODINE, CONDOR, . . . ), herramientas de
gestion del sistema, sistemas de ficheros paralelos, . . . [10]

III.

C ONCLUSIONES

En el presente trabajo podemos concluir lo siguiente:


Los equipos de un cluster trabajan de forma cooperada, brindando as mejoras que constituye una
estrategia de desarrollo que, llevada a cabo de
manera profesional, puede generar beneficios en la
region o zona de influencia.
La estructura de un cluster se forma por una conexion de red local a un nodo principal, que realiza las
distintas tareas para los nodos secundarios, permite
la interconexion de varias computadoras y funciona
como una sola.
La tecnologa de cluster puede adaptarse facilmente
a la tecnologa de computacion y a interconexiones
estandar en la industria de bajo costo.
La creacion de un cluster nos permite optimizar y
mejorar recursos de cualquier empresa, debido a
que es una solucion economica y funciona como
un sistema u nico o monoltico.

R EFERENCIAS
[1] Cluster. Suseos. CIF, Universidad de San Carlos de Guatemala.
Disponible en: http://suseos.weebly.com/uploads/1/8/7/
0/18707470/23-cluster.pdf
[2] Multicomputadores
tipo
cluster.
Jose
Bravo,
Espana.
Universidad
de
Huelva.
Disponible
en:
http://www.uhu.es/josem.bravo/AD/Tem
a3.pdf
[3] Clustering.
Cygog,
Argentina.
Disponible
en:
https://www.exploit-db.com/docs/298.pdf
[4] Cluster Computing. Bauke, Heiko; Mertens, Stephan. Disponible
en: http://gridbus.csse.unimelb.edu.au/paper
s/ic cluster.pdf
[5] Hadoop Cluster Deployment. Zburivsky, Danil. Disponible en:
http://www.accenture.com/sitecollection
documents/pdf/accenture-hadoop-deployment-comparisonstudy.pdf
[6] Parallel
Algorithms
and
Cluster
Computing.
Hoffmann, Karl Heinz; Meyer, Arnd. Disponible en:
http://utm.eblib.com/patron/FullRecord
.aspx?p=372454
[7] Microsoft Hyper-V Cluster Desing. Siron, Eric. Disponible en:
https://www.packtpub.com/sites/default
/files/9781782177685 Chapter 01.pdf
[8] Distributed and Parallel System : Cluster and Grid Computing.
Juhasz, Zoltan; Kacsuk, Peter; Kranzlmuller, Dieter. Disponible
en: http://utm.eblib.com/patron/FullRecord
.aspx?p=226022

[9] Data Clustering : Algorithms and Applications. Aggarwal,


Charu C. ; Reddy, Chandan K. Disponible en:
http://charuaggarwal.net/clusterbook.pdf
[10] Pro Linux High Availability Clustering. Vugt, Sander. Disponible
en: http://utm.eblib.com/patron/FullRecord
.aspx?p=1964931

Anda mungkin juga menyukai