Me enorgullece profesionalmente informar a DIMAR, Centros de
Investigaciones, Capitanías de Puerto y a la comunidad marítima e
interesados que el Centro de Investigaciones Oceanográficas e
Hidrográficas cuenta desde ya con el 1er supercomputador de calculo
escalable basado en tecnología cluster perteneciente a la familia de
"High Performance Computing (HPC)" basado en el proyecto Beowulf [1] y
que nace a partir de la necesidad de mejorar las capacidades de
computo y de almacenamiento de información a mayor escala que las
existentes, que fuera flexible y dinámico. Esta implementación sera
básicamente el soporte tecnológico del proyecto SPOA (Sistema de
Predicción Oceanográfica y Atmosférica)
Antecedentes:
Durante la gestión del entonces Sr. Capitán de Fragata Ricardo Molares
Bavra., y con mi reciente ingreso al Área de Oceanografía Operacional,
el Sr. CF Molares me encomienda la gestión tecnológica para un
proyecto a darse a corto plazo de nombre SPOA., el cual principalmente
se concebía para entre otras cosas mejorar la calidad de los modelos
numéricos existentes, la implementación de nuevos modelos que ante
todo generaran sus resultados en el menor tiempo posible. Para ese
entonces, la idea era adquirir una superestación de trabajo con
multiprocesadores y tecnología de punta para esa tarea. Estuve en
contacto con una empresa en Bogotá que nos cotiza una estación de
trabajo SGI "Tezro" [2] con aprox. 8GB de memoria RAM y 4 procesadores
de buena capacidad de computo, mas sistema operativo GNU/Linux [3] a
instalar. En total la adquisición de ese equipo por parte de la
empresa Procalculo salía en aprox. 160 millones de pesos. Mi persona
había comentado o tentativamente sugerido la opción de la
implementación de un cluster para ese anteproyecto, pero
desafortunadamente hubo mucha incertidumbre y se sugirió de que no, ya
que no se podía experimentar con una tecnología que era para nosotros
desconocida y no se podía incursionar en ella. El anteproyecto SPOA se
pasó entonces con la estación de trabajo como recurso computacional.
Recuerdo que un día cualquiera en DIMAR preguntaron por esa estación y
se quedaron todos preguntando porque era lo que tenía esa máquina que
costaba tanto :-S.
Finalmente para ese año el proyecto no fue aprobado, y se archivó. El
señor Capitán Molares sale del CIOH a curso en Bogotá. En el año 2006
ya con la presencia de nuestro jefe actual, el señor Capitán de
Corbeta Rafael Ricardo Torres, se retoma nuevamente el proyecto, una
tarea que se tenía que retomar pero que había que hacerle algunos
ajustes. Nuevamente retomo el tema del cluster, pero ya esta vez con
mas fundamentos le explico al capitán Torres sobre las bondades de esa
tecnología, que era y para que se utilizaba, y que podríamos ganar con
ello. Fue fabuloso, le gustó la idea pero el sugiere que se tenía que
compartir y debatir con el personal de Informática para concluir entre
todos la decisión y el camino a seguir. Todos estuvimos de acuerdo
para entonces, y el anteproyecto SPOA se envió con la implementación
del cluster, se gestionaron costos en los equipos a implementar y cuya
solución seria con HP. Posteriormente fue aprobado unánimemente por
DIMAR y se iniciaba entonces toda la gestión para este 2007, el costo
de toda la parte de adquisición de equipos (cluster + 3 estaciones de
trabajo) sale por 103 millones de pesos. Los equipos en su totalidad
llegaron en el transcurrir del pasado mes de mayo, y se procedió con
la colaboración del área técnica e informática en su montaje físico.
Reseña Histórica [4]:
Una red basada en tecnología cluster de la familia HPC "Beowulf" nace
en 1994 presentado el año anterior como un proyecto en la NASA
(CESDIS) por Donald Becker y Thomas Sterling, con el objetivo de poder
armar un supercomputador a partir de componentes hardware accesibles y
a bajo costo, que permitiera escalabilidad y flexibilidad, y así poder
generar altos niveles computacionales ofrecidos hasta ese entonces
únicamente por equipos especializados y altamente costosos, los que
los hacía difíciles de adquirir e implementar.
Que es un cluster "Beowulf" ? :
Es una tecnología de red de computadores dispuestos entre si para dar
soluciones masivas de calculo a bajo costo en Computación de Alto
Rendimiento (HPC) la cual permite crear un "supercomputador virtual"
para procesar grandes volúmenes de información en mucho menor tiempo
que con soluciones tradicionales. Es un sistema escalable y confiable
que permite distribuir e intercambiar información del estado de la
memoria entre cada proceso que se ejecuta al mismo tiempo en cada uno
de los nodos. Podemos concluir que un cluster utiliza memoria
distribuida a partir del uso de intercambio de paso de mensajes (MPI).
Características Técnicas:
Topología:
El cluster esta organizado de la siguiente manera:
1 nodo "master" desde el cual se invocarán los procesos, este tiene
una interfaz de red hacia la LAN y dos mas hacia la red del cluster
(una para comunicación/trafico de red y la otra para red de calculo).
4 nodos de calculo, que se encargaran de ejecutar las tareas enviadas
desde el "master", a su vez se comunicarán en tiempo de ejecución
entre ellos mismos y el "master". Estos tienen interfaz de
comunicación y otra para calculo.
Hardware:
Brevemente nuestro cluster beowulf de nombre "area51", consta en
estos momentos con las siguientes especificaciones:
5 Servidores rack HP DL360 G5 [5] con 4 GB de memoria RAM,
procesadores Intel Xeon quadcore 5310 a 1.6 Ghz (el nodo master posee
2 procesadores y los demas uno). Estos cuentan con capacidad máxima de
6 discos con capacidad RAID. Cada servidor se adquirió con un disco
duro SAS (Serial Attached SCSI) SFF (Small Form Factor).
1 Manejador de Arreglo de discos HP MSA60 [6] con capacidad máxima de
12 discos SAS/SATA, de los cuales se instalaron 2 discos de 300 GB
cada uno.
1 Controladora de Arreglo para MSA60 instalada en el servidor
principal del sistema.
1 Monitor y teclado HP empotrados para rack.
2 Switches 3Com Gigabit Ethernet de 24 puertos cada uno.
1 Switch 3Com 10/100 de 24 puertos.
1 Rackmount HP, para ensamblar y colocar los equipos.
25 Cables certificados UTP categoría 6
Software:
El nodo principal "master" consta de:
Sistema Operativo GNU/Linux, distribución CentOS 5 [7] con núcleo
(kernel) Linux "vanilla" 2.6.21.6 con parches Lustre incluido y
paquete e2fsprogs preparado por Cluster File System.
Compiladores GCC 3.3.4 y 4.1.x [8], G77 (GNU Fortran 77), gfortran95
[9] (GNU Fortran 90/95)
OpenSSH [10] configurado para ejecutar directamente procesos sin
intevención del usuario (ya que no solicita password).
Librería OpenMPI [11] para C/C++/Fortran77/90/95 el cual servirá de
API para el intercambio de paso de mensajes (memoria distribuida) y
que sincronizara todos los procesos ejecutándose en paralelo y
distribuidamente.
C3 [12], el cual es un conjunto de comandos que ofrecen administración
de archivos, procesos, recursos físicos y de administración en los
nodos participantes.
rsync [13]: es un protocolo que permite sincronizar los archivos de
los clientes con la información de actividad de cambios en archivos de
una carpeta xxxx en el master.
TORQUE y Maui Scheduler [14]: Aplicaciones que se encargan de
gestionar dinamicamente la asignación de procesos y recursos de
acuerdo a las cargas en cada nodo, se distribuyen de una mejor manera
entre los nodos participantes a través de un pool.
Ganglia [15]: Monitor de estado que sumariza en un todo, las
características esenciales de un
Herramientas de monitoreo para linux de HP
Sistema de archivo local ext3 en uso aproximadamente de 40GB
TORQUE: Programador y distribuidor de tareas. Se comunican con el
servicio de manejo de recursos Maui Scheduler.
Los nodos de calculo restantes poseen:
Sistema Operativo GNU/Linux, distribución CentOS 5 con núcleo (kernel)
Linux "vanilla" * 2.6.21.6 con parches Lustre incluido y paquete
e2fsprogs preparado por Cluster File System.
Compilador GCC 4.1.x, G77 (GNU Fortran 77), gfortran95 (GNU Fortran 90/95)
Librería OpenMPI para C/C++/Fortran el cual servirá de API para el
intercambio de paso de mensajes (memoria distribuida) y que
sincronizara todos los procesos ejecutándose en paralelo y
distribuidamente.
TORQUE: Programador y distribuidor de tareas. Se comunican con Maui
Scheduler en el nodo master.
Ganglia (gmetad daemon): Entrega información del sistema al gmond
daemon en "master".
Sistema de archivo local ext3 en uso aproximadamente de 10GB.
Sistema de archivos a nivel de cluster:
Con la finalidad de poder juntar virtualmente todo el espacio libre de
los dispositivos de almacenamiento disponibles y los discos en el
arreglo MSA60 a través de la red, llega "Lustre" [16] al cluster. Su
implementación fue la tarea mas larga de realizar en el montaje del
sistema ya que había que afinar su código fuente con versiones
indicadas o "recomendadas" del kernel linux "vanilla" por su grupo de
desarrollo y soporte denominado Cluster File System (CFS). Lustre es
un verdadero y reconocido sistema de archivos distribuido y paralelo
con altas capacidades eficientes, de alta escalabilidad en
almacenamiento y optimizado para MPI I/O (sistema de acceso a disco de
MPI). Es utilizado desde años por reconocidos supercomputadores
ubicados en lugares de privilegio del Top500.org [17], sitio web
dedicado a la información y ranking de los mas poderosos
supercomputadores a nivel mundial. "area51" cuenta en este momento
con una capacidad total de 1.2 Terabytes de capacidad basado en esta
poderosa herramienta robusta y compleja que asemeja un gran sistema de
archivos para almacenamiento masivo de información.
He aqui un chequeo al filesystem en el nodo principal, diferenciando del punto de montaje final en red (Lustre FileSystem)
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/cciss/c0d0p2 38G 12G 25G 34% /
/dev/cciss/c0d0p1 99M 19M 76M 20% /boot
tmpfs 2.0G 0 2.0G 0% /dev/shm
/dev/cciss/c0d0p5 1.5G 35M 1.4G 3% /tmp
/dev/cciss/c0d0p6 3.7G 177M 3.3G 5% /mnt/test/mdt
/dev/cciss/c0d0p7 89G 457M 84G 1% /mnt/test/ost0
/dev/cciss/c1d0 550G 471M 522G 1% /mnt/test/ost1
172.25.19.4@tcp:/spoafs
1.2T 2.8G 1.1T 1% /mnt/testfs
¿ Que falta ?
Lo que resta para poner ya en operación el sistema es la compilación e
implementación de los modelos iniciales que se van a correr, realizar
ejercicios prácticos y pruebas de rendimiento, estabilidad y
optimización. A su vez corroborar y sintetizar diversas pruebas de
"benchmarking" para conocer en valores FLOPS [18] (Operaciones de
Punto Flotante por Segundo), siendo las capacidades reales de cálculo
utilizando algunos de ellos que nos genere esos patrones de medidas.
Proyección a corto y mediano plazo
Un cluster al ser escalable, es dinámico y puede continuar creciendo.
El sistema dependerá de las capacidades de velocidad teórica e
interconexión entre los nodos de la red. Todo el software instalado y
configurado estará preparado para ello. La tecnología de interconexión
basada en ethernet es limitada en efectividad de su rendimiento, así
que dentro de unos años es recomendable que este sistema migre a
tecnologías más efectivas para esas instancias, que ofrecen una red de
latencia ** mucho mas baja que cualquier Ethernet: Infiniband [19] o
Myrinet [20] las mas reconocidas y utilizadas tecnologías de
interconexión de los mejores supercomputadores del mundo y que ya
estan utilizando velocidades por encima de los 10 y 20 Gbps con mucho
menos latencia.
Referencias:
* Se refiere al linux kernel oficial descargado de http://www.kernel.org
** cuanto tiempo tarda un paquete de datos en salir de un punto de la
red y llegar a otro.
[1] http://www.beowulf.org/
[2] http://www.sgi.com/products/remarketed/tezro/
[3] http://www.linux.org/
[4] http://www.beowulf.org/overview/history.html
[5] http://h18000.www1.hp.com/products/servers/proliantdl360/
[6] http://h18006.www1.hp.com/storage/disk_storage/msa_diskarrays/drive_enclosures/msa60/index.html
[7] http://www.centos.org
[8] http://gcc.gnu.org/gcc-4.1
[9] http://gcc.gnu.org/wiki/GFortran
[10] http://www.openssh.com
[11] http://www.open-mpi.org
[12] http://www.csm.ornl.gov/torc/C3/
[13] http://samba.anu.edu.au/rsync/
[14] http://www.clusterresources.com/pages/products/torque-resource-manager.php
http://www.clusterresources.com/pages/products/maui-cluster-scheduler.php
[15] http://ganglia.sourceforge.net/
[16] http://www.clusterfs.com/
http://wiki.lustre.org/index.php?title=Main_Page
[17] http://www.top500.org
[18] http://en.wikipedia.org/wiki/FLOPS
[19] http://es.wikipedia.org/wiki/InfiniBand
http://www.infinibandta.org/home
[20] http://es.wikipedia.org/wiki/Myrinet
http://www.myri.com/
| Adjunto | Tamaño |
|---|---|
| imagen_0016.JPG | 139.35 KB |
Comentarios recientes
hace 16 semanas 5 días
hace 21 semanas 5 días
hace 21 semanas 6 días
hace 22 semanas 6 días
hace 28 semanas 17 horas
hace 37 semanas 1 día
hace 40 semanas 1 día
hace 40 semanas 1 día
hace 41 semanas 5 días
hace 45 semanas 16 horas