Académique Documents
Professionnel Documents
Culture Documents
1.1 INTRODUCCIN
El objetivo de la presente investigacin la cual realizamos en el Instituto
Tecnolgico de Huatabampo con apoyo del M.C. Eleazar Ros Valdez, docente del
departamento de sistemas y computacin, es verificar si realmente un mtodo de
ordenamiento es ms veloz que otro en la solucin de un problema de ordenacin
dado.
1.2 UBICACIN
5
1.3 SOFTWARE NECESARIO
Las razones por las cuales empleamos este sistema son las siguientes:
Fcil mantenimiento.
Idneo para el uso a largo plazo.
Entorno favorable para los usuarios.
Desarrollo activo.
Soporta todo el hardware y software que soporta Red Hat.
Es gratuito, muy estable, porque contiene paquetes que estn muy
probados de bugs.
Especial para servidores.
Como software para cluster escogimos rockscluster por ser una distribucin para
clusters de alto rendimiento, el cual facilita la configuracin de las computadoras
que fungirn el papel de nodos del cluster, debido a que la adicin de un nuevo
nodo se hace de manera automtica por medio de la red del cluster.
La instalacin de rockscluster puede ser modificada lo que hace que el cluster sea
ms personalizado en cuanto a la tarea que este vaya a desempear, esto por
medio de Rolls (paquetes de instalacin) como por ejemplo el roll de Ganglia el
cual nos ayudar a ver y a monitorear de manera grfica el rendimiento del cluster.
Adems de ser una de las distribuciones ms empleadas en el mbito de clusters,
por lo cual existe mucha documentacin que puede ser de ayuda en el desarrollo
de los mismos.
PC1
Procesador intel Pentium IV a 2.8 Ghz
Memoria ram 256 mb
Disco duro 40 Gb
Tarjeta de red integrada Fast Ethernet 10/100 mb/s
PC2
Procesador intel Pentium IV a 2.8 Ghz
Memoria ram 256 mb
6
Disco duro 40 Gb
Tarjeta de red integrada Fast Ethernet 10/100 mb/s
PC3
Procesador intel Pentium IV a 2.8 Ghz
Memoria ram 512 mb
Disco duro 40 Gb
Tarjeta de red integrada Fast Ethernet 10/100 mb/s
PC4
Procesador intel core2duo a 2.83 Ghz
Memoria ram 2 Gb
Disco duro 200 Gb
Tarjeta de red integrada Fast Ethernet 10/100 mb/s
Switch Baseline 2824 de 24 puertos
7
CAPITULO ll ESTADO DEL ARTE
Rocks es una distribucin para clusters Linux de cdigo abierto, que permite a los
usuarios finales crear fcilmente grupos computacionales, puntos finales de la red
y visualizacin de paredes de azulejos de visualizacin. Cientos de investigadores
de todo el mundo han utilizado Rocks cluster para implementar su propio cluster.
[1]
Rocks 1.0
Rocks 2.0
Rocks 2.0.1
Rocks 2.1
8
Rocks 2.1.1
Rocks 2.1.2
Rocks 2.2
Rocks 2.2.1
9
Based on RedHat Enterprise Linux 3.0 rebuilt by the Rocks team from
freely-available source RPMS
kernel 2.4.x
SGE 5.3p6
10
Rocks 5.1 (V.I)
11
rocks create distro speed improved by removing redundant checksum
calculation
Infiniband (Mellanox) configured in the HPC roll with subnet manager
running on frontend
SGE roll updates to GE-2011p1
Condor roll updated to 7.8.5 [2]
openMosix puede migrar cualquier proceso mientras que no haga uso de los
segmentos de memoria compartida. Segn la calibracin, migrarn procesos ms
ligeros, o ms pesados.
Sin embargo, por su estabilidad y robustez an hay gente que lo emplea, y sigue
instalndolo. El nico problema real es con las computadoras que tienen hardware
no soportado por el kernel 2.4. [3]
12
Caractersticas:
2.1.3 PELICANHPC
PelicanHPC es una distribucin de GNU / Linux que se ejecuta como una imagen
de arranque USB " live CD " o (tambin se puede arrancar desde una particin del
disco duro, o puede ser utilizado como un sistema operativo virtualizado). Si el
archivo de imagen ISO se pone en un CD o USB, a continuacin, se puede utilizar
para arrancar el ordenador. El equipo en el que se inicia PelicanHPC se conoce
como el "nodo FRONTEND. Es el equipo con el que interacta el usuario. Una
vez PelicanHPC est en marcha, un guin - " pelican_setup " - se puede ejecutar.
Este script configura el nodo FRONTEND como servidor netboot . Despus de
esto se ha hecho, otros equipos pueden arrancar copias de PelicanHPC travs de
la red. Estos otros ordenadores se denominan " nodos de cmputo". PelicanHPC
configura el grupo formado por el nodo FRONTEND y los nodos de cmputo para
que la computacin paralela basada en MPI se pueda hacer.
PelicanHPC se hace usando Debian GNU / Linux como base, a travs del sistema
Debian Live. Est hecho mediante la ejecucin de una nica secuencia de
comandos con el comando "sh make_pelican - v *". Versiones personalizadas de
PelicanHPC, por ejemplo, que contiene paquetes adicionales, pueden fcilmente
hacerse modificando el guin make_pelican. El guin make_pelican y los paquetes
necesarios se proporcionan en PelicanHPC, para que pueda construir una imagen
personalizada con las imgenes proporcionadas. Tambin puede ejecutar
make_pelican de cualquier distro GNU / Linux si instala live-build y algunos otros
paquetes.
Caractersticas
13
tiempo que el entorno de trabajo normal, que puede ser cualquiera de los sistemas
operativos comunes.
Los nodos de cmputo son normalmente los equipos reales, para obtener el
mximo rendimiento, pero tambin pueden ser virtuales.
El cluster puede ser redimensionado a agregar o quitar nodos con el comando "
pelican_restarthpc.
Limitaciones y exigencias
Los nodos de cmputo que se deben iniciar por la red. Esta es una opcin que
ofrece todos los dispositivos de red modernos suministrados con las placas base,
pero a menudo se debe habilitar en la configuracin del BIOS. Permitirle que, y
darle ms prioridad que el arranque desde el disco duro u otras fuentes. Si usted
tiene una tarjeta de red que no va a hacer el arranque en red, es posible evitar
esto usando rom -o- matic. Otra cosa a tener en cuenta es que el FRONTEND
PelicanHPC funciona como un servidor DHCP. No debe utilizarlo en una red
abierta, o te vas a causar conflictos dhcp. Esto te llevar a un mundo de
problemas con los administradores de red. Adems, sus nodos de cmputo no se
iniciarn correctamente.
Un cluster PelicanHPC est diseado para ser utilizado por una sola persona -
slo hay un usuario, con el "usuario" nombre de usuario.
Versiones publicadas son para CPUs de 64 bits solamente (Opteron, Turion, Core
2, etc.) make_pelican puede ser fcilmente utilizado para hacer una versin de 32
bits, si es necesario.
14
La pgina web PelicanHPC enumera algunas otras distribuciones similares que
pueden ser ms apropiados para determinados usos.
2.1.4 ATIPA
Caractersticas:
15
2.1.5 SCYLD CLUSTERWARE
Caractersticas:
El nodo principal provee respuestas a los pedidos de servicio y asigna las tareas
apropiadas a cada nodo cliente. Los nodos clientes se dedican a realizar tareas de
cmputo, poseen hardware homogneo y disponen de una copia completa
del sistema operativo y de otros programas. Los nodos se comunican a travs de
una red Ethernet que no est expuesta al mundo exterior; el nodo servidor posee
dos interfaces de red: una interfaz de red conectada al mundo externo y una
interfaz conectada a la red interna.
16
OSCAR se instala sobre un computador con una distribucin Linux previamente,
realiza la instalacin y/o configuracin de los paquetes necesarios para el cluster
de forma automtica. [7]
2.2.1 MPI
MPI es, como su nombre indica, un interfaz, lo que quiere decir que el estndar no
exige una determinada implementacin del mismo. Lo importante es dar al
programador una coleccin de funciones para que ste disee su aplicacin, sin
que tenga necesariamente que conocer el hardware concreto sobre el que se va a
ejecutar, ni la forma en la que se han implementado las funciones que emplea.
17
Figura 2.1 Ubicacin de MPI en el proceso de programacin de aplicaciones paralelas
MPI ha sido desarrollado por el MPI Forum, un grupo formado por investigadores
de universidades, laboratorios y empresas involucrados en la computacin de
altas prestaciones. Los objetivos fundamentales del MPI Forum son los siguientes:
2.2.2 OPENMP
18
de aplicaciones paralelas para las plataformas que van desde las computadoras
de escritorio hasta las supercomputadoras. Una aplicacin construida con un
modelo de programacin paralela hbrido se puede ejecutar en un cluster de
computadoras utilizando ambos OpenMP y MPI, o ms transparentemente a
travs de las extensiones de OpenMP para los sistemas de memoria distribuida.
OpenMP se basa en el modelo fork-join, paradigma que proviene de los
sistemas Unix, donde una tarea muy pesada se divide en K hilos (fork) con menor
peso, para luego "recolectar" sus resultados al final y unirlos en un solo resultado
(join).
2.3.1 HP-UX
2.3.2 AIX
19
Es el nombre del sistema operativo para servidores de Microsoft. Es el sucesor de
Windows Server 2003 puesto en libertad casi cinco aos antes. Al igual que
Windows Vista, Windows Server 2008 se basa en el ncleo Windows NT 6.0.
Desarrollo
2.3.4 MAC OS X
2.3.5 SOLARIS
20
2.3.6 FREEBSD
2.3.7 CENTOS
CentOS es una distribucin de Linux la cual fue compilada por voluntarios a partir
del cdigo liberado por Red Hat, en resumen, CentOS es un sistema basado en
Red Hat. A diferencia de las distribuciones de Linux ms conocidas como Debian,
Fedora o Ubuntu, este sistema es robusto, es decir, es un sistema por dems
estable y confiable lo que lo hace ideal para crear servidores especializados.
Este sistema es por mucho una de las mejores opciones debido a que su
desarrollo no fue enfocado a innovacin, sino a estabilidad eso aunado a sus
races de Red Hat dan seguridad y confianza, adems de contar con
documentacin y soporte masivos en la red.
Dicho lo anterior, CentOS es la distribucin ideal para la creacin de un cluster ya
que es uno de los sistemas Linux ms estables y robustos que se pueden
encontrar con una gran capacidad y confiabilidad para la gestin de redes y/o
servidores. [16]
21
CAPTULO III IMPLEMENTACIN
3.1 PRUEBAS
Como se puede observar en las imgenes cada una de los nodos reciben un
nombre el cual los identifica en el cluster recibiendo los nombres de compute-0-0,
compute-0-1, y compute-0-2 respectivamente.
22
Figura 3.5 Nodos registrados en Rocks Cluster
Otra manera muy til para monitorear la conexin y correcto funcionamiento del
cluster es mediante el Roll llamado Ganglia, el cual muestra de manera grafica el
uso que se le da al cluster y el rendimiento de este, ahora bien este Roll nos
muestra que todos los nodos se encuentran conectados al cluster y en
funcionamiento solo a la espera de recibir la carga que les sea asignada y de esa
forma empezar a trabajar.
Cantidad de trabajo
realizado
Hora en la que se
realizo el trabajo
23
Figura 3.7 Grfica del Frontend en Ganglia
24
Figura 3.10 Grfica del nodo 0 en Ganglia
25
Figura 3.12 Fotografa del cluster encendido y operando
Para que comenzar a realizar las pruebas pertinentes del cluster, se necesita crear
un usuario nuevo en el sistema, el cual se agrega de la forma acostumbrada en
todo sistema linux.
Esto se realiza dentro de una ventana de comandos, como es habitual en este tipo
de sistemas, como se muestra en la siguiente figura.
Despus de crear el usuario se utiliza el comando rocks sync confing, esto para
que los equipos se sincronicen con el equipo principal o frontend.
26
3.1.3 FUNCIONABILIDAD DE LA PROGRAMACIN PARALELA (MPI)
Este script tan sencillo, es muy til para la ejecucin de programas de carcter
paralelo en rocks cluster, en esta ocasin lo nombraremos como nodos.txt para
su uso posterior en la ejecucin de nuestra prueba.
27
Luego de editar y el cdigo y el archivo de configuracin para los nodos a utilizar,
se procede a compilar el proyecto, para ello utilizaremos el comando mpicc como
se muestra en la siguiente figura.
28
Figura 3.18 resultado de la ejecucin del cdigo
CONCLUSIN
29
Esto da por entendido que cualquier institucin puede llegar a contar con un
sistema informtico complejo, es decir, que cualquier centro que cuente con el
recurso necesario puede ensamblar uno de estos sistemas, ya sea para
investigacin y aplicacin en diferentes reas para ensear a alumnos el
funcionamiento, aplicacin y ensamble de una sper-computadora.
RECOMENDACIONES
30
Referencias Virtuales
[1] http://es.wikipedia.org/wiki/Rocks_Clusters
[2] https://wiki.rocksclusters.org/wiki/index.php/History
[3]http://es.cyclopaedia.net/wiki/OpenMosix
[4] http://es.scribd.com/doc/56426541/54531563-PelicanHPC-Tutorial-en-Espanol
[5] http://www.atipa.com/general-purpose-computing.html
[6] http://www.penguincomputing.com/products/cluster-management
[7] http://www.ecured.cu/index.php/Cluster_Oscar
[8] http://es.wikipedia.org/wiki/Computaci%C3%B3n_paralela
[9] http://electro.fisica.unlp.edu.ar/arq/laboratorios/cluster/tutorial.MPI.basico.pdf
[10] http://es.wikipedia.org/wiki/OpenMP
[11] http://www.udb.edu.sv/udb/archivo/guia/informatica-ingenieria/programacion-
iv/2013/ii/guia-2.pdf
[12] http://blog.zerial.org/ficheros/Informe_Ordenamiento.pdf
[13] http://www.slideshare.net/123jou/ordenamiento-shel
[14] http://es.wikipedia.org/wiki/Quicksort
[15] http://cluster-so.blogspot.mx/
[16] http://es.wikipedia.org/wiki/CentOS
[17] revista espacio ITH # 8 volumen 4. no. 2, julio - diciembre 2014
31