Beruflich Dokumente
Kultur Dokumente
Abstract
Today, high performance and scientific computing needed in Latin-American universities are increased with the spreading on scientific activities. Regarding diversity of these activities, heterogeneous acquisition of technology and budget limitations, high performance and scientific computing services are not integrated completely in specific centers like in the cases of Europe or United States of America. This work presents GridUIS-2, a platform developed to integrate lightweight clusters, Beowulf clusters and other architectures to high performance computing services at Industrial University of Santander at Bucaramanga, Colombia. Palabras Claves : Computacin en Cluster de Computadores, Computacin en Grid, Arquitecturas ligeras, Computacin cientfica. Keywords: Cluster Computing, Grid Computing, Lightweight architectures, scientific computing
1. Introduccin
Las universidades generalmente cuentan con recursos de cmputo heterogneos destinados a diferentes usos. Algunos de ellos se encuentran desaprovechados en un alto porcentaje de su tiempo, debido a que son utilizados slo en horas activas laborales. Recursos que incluyen desde salas de
cmputo para actividades acadmicas hasta clusters dedicados que quizs, s i se encuentran activos las veinticuatro horas del da. Gracias a los avances tecnolgicos, es posible realizar una integracin de estos recursos tanto de manera oportunista como de manera dedicada para suplir las necesidades de los cientficos e investigadores. Estos esfuerzos por implementar centros de clculo cientfico en espacios acadmicos se han ido multiplicando con el paso de los aos en Colombia y Latinoamrica. Una de estas iniciativas es el Centro Nacional de Clculo Cientfico ULA CeCalCULA [1] en la ciudad de Mrida, Venezuela dnde se cuenta con una infraestructura muy fuerte y respetada a nivel latinoamericano. La plataforma de clculo cientfico que se presenta en este trabajo cuenta con cuatro clusters (dos dedicados y dos oportunistas) distribuidos en el campus de la Universidad Industrial de Santander ubicada en la ciudad de Bucaramanga en Colombia. El sistema base implementado para todas las mquinas ha sido Debian GNU/Linux [2]. Para la administracin de los recursos distribuidos s e cuenta con el planificador OAR [3]. El sistema operativo usado en los cluster ligeros (oportunistas) ha sido Computemode [4], una infraestructura software diseada para la implementacin de este tipo de arquitecturas. En la siguiente seccin se describe la infraestructura de la plataforma GridUIS-2, posteriormente se presenta informacin de la arquitectura que compone cada uno de los clusters involucrados, as como el manejo de cuentas de
usuario, continuando con una serie de estrategias y mejoras implementadas. Finalmente se presentan resultados de pruebas realizadas en la plataforma, informacin acerca de las investigaciones cientficas soportadas y las expectativas para la evolucin futura de Grid-UIS-2.
2. Infraestructura
GridUIS-2 es la segunda fase del proyecto GridUIS, el cual consiste en una plataforma que integra clusters y salas de cmputo en un Grid. Cada una de cuatro clusters distribuidos en el campus principal de la Universidad Industrial de Santander. Las caractersticas los equipos integrados son diversas, pero principalmente el sistema operativo de base es el mismo, Debian GNU/Linux 2.6.26-2-686. Los cuatro clusters son denominados como sigue, Leac, GIIB, Cmcentic y Cmjavs y cuentan con 4, 2, 81 y 24 nodos respectivamente. Los clusters Leac y GIIB fueron implementados como dedicados y el CMcentic y CMjavs como clusters oportunistas o ligeros (carga en memoria principal) utilizando Computemode . Los clusters Leac y CMcentic se encuentran ubicados en el edificio CENTIC (Centro de tecnologas de Informacin y Comunicacin). El cluster CMjavs se encuentra en el laboratorio de redes y el cluster GIIB en el Grupo de Investigacin en Ingeniera Biomdica ambos ubicados en la Escuela de Ingeniera de Sistemas en la Universidad Industrial de Santander. Bsicamente, debido a las necesidades de los usuarios cientficos, las tecnologas soportadas en la plataforma son: MPI (Interfaz de paso de mensajes): Utilizando la librera OpenMPI [5] OpenMP [6] Nvidia/CUDA (Compute Unified Device Architecture) [7] Algunas aplicaciones de usuario que se encuentran implementadas son: GNU/Octave [8]: Software y libreras matemticas con soporte para cdigo Matlab R statistics [9]: Ambiente software para computacin estadstica y grfica.
3. Arquitectura
La arquitectura general empleada en todos los clusters se presenta a continuacin.
La plataforma est pensada para soportar principalmente aplicaciones desarrolladas utilizando MPI (Interfaz de Paso de Mensajes). Como se puede observar en la figura, el bloque Middleware hace referencia a MPI. Con respecto al nivel de usuario se ofrece soporte para aplicaciones desarrolladas para ejecutarse en paralelo as como aplicaciones seriales.
OAR y Computemode . Previo a la reserva de recursos computacionales se verifica la existencia de usuarios y directorios de trabajo compartidos en cada nodo que se utiliza en la plataforma de clculo.
permita crear puntos de restauracin y la segunda para no limitar los equipos de cmputo (nodos) a la subred del servidor. La creacin de puntos de chequeo se desarrolla como mecanismo de control sobre los procesos que se ejecutan sobre la plataforma permitiendo restablecer aquellos que no llegan a trmino por diferentes tipos de inconvenientes como fallas de red, de respuesta, por omisin, fsicas y de interaccin o por terminacin del tiempo de reserva del recurso. Con respecto a la interaccin de nodos de cmputo distribuidos en diferentes subredes se realizaron adaptaciones de algunas libreras y archivos de configuracin de las herramientas antes nombradas , permitiendo as, la integracin de recursos computaciones generando una mayor robustez en la plataforma.
Para la centralizacin de las cuentas de usuario se utiliza un servidor LDAP (Lightweight Directory Access Protocol) [10], muy utilizado en ambientes distribuidos, que posee una base de datos muy estructurada en forma de rbol e incluye informacin en la que es posible especificar perfiles , que describen el nivel de interaccin y manejo de permisos de los usuarios de la plataforma. Se utiliz el protocolo NFS (Network File System) [11] para replicar los espacios de trabajo en toda la infraestructura. Las cuentas de usuario permiten el uso autorizado de los servicios de clculo cientfico, as como el uso de otros servicios como el Wiki de la plataforma [12].
5.1.1. BLCR. Es una herramienta que permite la realizacin de puntos de chequeo en sistemas Linux mediante una implementacin a nivel de sistema (kernel). El carcter preventivo de los puntos de chequeo a nivel de sistema permite una mayor libertad en la programacin de procesos por lotes , lo cual, aumenta su usabilidad y reduce el tiempo de espera promedio de colas. Para la implementacin del mecanismo de puntos de chequeo (BLCR) , fue necesario realizar una compilacin de un kernel Linux basado en GNU/Debian, con el fin de activar ciertas caractersticas necesarias para BLCR. A continuacin, se realiz la compilacin de BLCR y se procedi a integrarlo con OpenMPI. La eleccin de utilizar OpenMPI consider aspectos como las continuas mejoras, soporte y actualizaciones que recibe sta implementacin de MPI. Posteriormente se procedi a la creacin de tareas programadas que incluyen realizar el montaje de mdulos de BLCR en el momento de inicio del sistema, as como la correspondiente creacin de puntos de chequeo de manera peridico (n minutos).
2.25x 3
0.5 x 4 1.3 x 5
2.2 x 6
Para el envo del trabajo se ejecuta: /opt/openmpi/bin/mpirun -np 2 maquinas am ft-enable-cr area.exe machinefile
Como se observa en la figura 5, se ha creado automticamente la carpeta enmarcada en el recuadro, la cual contiene los puntos de chequeo de los diferentes procesos en cada una de las mquinas descritas por el archivo maquinas (argumento de la bandera machinefile ). 5.2.2. Monitoreo de puntos de chequeo. La generacin de puntos de chequeo se estableci cada tres (3) minutos en la configuracin de BLCR.
Como se puede observar en la figura 6 se han creado tres (3) subcarpetas identificados como 0, 1, 2 dentro de la carpeta ompi_global_snapshot_1999.ckp . Cada subcarpeta ha sido creada cada tres (3) minutos.
Figura 4. Esquema de funcionamiento de BLCR en los clusters oportunistas
A continuacin se presenta el proceso necesario para realizar la generacin de puntos de chequeo y la posterior reanudacin del correspondiente trabajo. La prueba que se describe a continuacin demuestra las capacidades que ofrece BLCR como mecanismo de puntos de chequeo, una caracterstica altamente deseada en infraestructuras HPC.
5.2.3. Generacin controlada de falla. A continuacin se provoc una falla de tipo interrupcin causada por la seal POSIX SIGINT Ctrl-C.
5.2.4. Reenvo del trabajo. Para el reenvo del trabajo se utiliza el siguiente comando: ompi-restart ompi_global_snapshot_1999.ckpt/
La solucin de esta limitante se obtuvo mediante la configuracin y edicin de algunas libreras y archivos de la infraestructura Computemode. A continuacin se presentan dichas modificaciones. 5.3.1. Iptables. Es una herramienta UNIX utilizada como firewall, que basada en una serie de reglas configurables de enrutamiento permite direccionar paquetes de red generando un comportamiento tipo enrutador. Mediante la creacin de dos tipos de reglas NAT (postrouting, prerouting) se configur el servidor de Computemode para permitir el paso de paquetes entre la subred del mismo y otras subredes a travs de un puerto predefinido por el administrador. 5.3.2. Mltiples interfaces de red. Computemode contiene mecanismos que permiten el reinicio de los nodos una vez que estos se encuentren en horario de cmputo. Dichos mecanismos fueron diseados para soportar nodos con un solo dispositivo de red. Se realizaron modificaciones que permiten que Computemode tenga en cuenta nodos de clculo con dos o ms dispositivos de red. 5.3.3. Monitoreo centralizado. Monika es la interfaz web para el monitoreo de recursos en las plataformas creadas con el manejador de colas y administrador de recursos OAR. Esta interfaz presenta informacin grfica acerca de la cantidad de recursos disponibles, el estado de los mismos, los trabajos o tareas que se encuentran en ejecucin dentro del cluster y la identificacin de stos. Con el fin de facilitar la interaccin de los usuarios finales con la plataforma, se realizaron una serie de pasos para centralizar las bases de datos de cada uno de los clusters y mostrar informacin de todos los recursos de la plataforma de manera integrada, diferencindolos unos de otros de acuerdo al cluster al que pertenecen. 5.3.4. OAR. En la herramienta OAR las comunicaciones entre el servidor y sus nodos se realizan mediante el protocolo SSH, el cual hace uso de un puerto predefinido para establecer dichas conexiones. Una vez realizada la configuracin de los servidores y los nodos con las reglas iptable, la centralizacin de usuarios y sus espacios de trabajo se continu con la modificacin de algunos archivos de OAR para lograr que las comunicaciones va SSH se realicen a travs de un puerto predefinido para cada nodo, esto con el fin
de establecer comunicaciones entre nodos de subredes diferentes. Libreras de OAR como oar_iolib , bipbip , oarsub , finaud son las encargadas de establecer las comunicaciones antes nombradas . Una vez realizadas las modificaciones anteriores se obtuvo como resultado la comunicacin entre recursos que se encuentran en subredes diferentes , logrando la integracin de cluster creados con herramientas como Computemode y OAR con otros clusters resolviendo las limitaciones aqu mencionadas.
6. Pruebas de rendimiento
A continuacin se presentan pruebas de rendimiento realizadas en el cluster CMcentic, el cul posee el mayor nmero de nodos. Para la realizacin de las pruebas se consideraron dos algoritmos estandarizados para medidas de rendimiento en infraestructuras HPC.
Figura 10. Rendimiento cluster CMCentic (Megaflops) Tabla 1. Explicacin trazados lineal de rendimientos
2 3n3
2n 2 ,
operaciones de punto flotante, donde n * n es la dimensin de la matriz. Se utilizan valores de n = 100 y n = 1000. El lanzamiento de la prueba se realiz mediante el comando: mpirun --hostfile machinefile -np 4 xhpl , dnde machinefile describe los nodos dnde se lanza el ejecutable xhpl . A continuacin se presentan los resultados obtenidos.
El nmero de procesos lanzados es 4 (np ). La matriz de procesos hace referencia a la distribucin que realiza el algoritmo del nmero de procesos (4) en cuestin. Debido a que el algoritmo supone un gran volumen de informacin que debe transportarse mediante paso de mensajes (MPI) a travs de la red, puede observarse que el rendimiento expresado en megaflops disminuye al incrementarse la cantidad de nodos descritos en el archivo machinefile . La razn de este decremento reside en la mayor cantidad de informacin que debe compartirse al incrementarse el nmero de nodos .
de inicio y de final para un nmero de tuplas de bordes (medges: miles de tuplas de bordes), el cual describe el rendimiento de la plataforma. Para lanzar la prueba se ejecuta el comando: mpirun --hostfile machinefile generator_test_mpi, dnde machinefile describe los nodos dnde se lanza el ejecutable generator_test_mpi. A continuacin se presentan los resultados obtenidos.
El supercomputador Endeavor pertenece a la familia Intel Cluster, posee un procesador Intel EM64T Xeon E54xx (Harpertown) 2800 MHz (11.2 GFlops ) e interconexin Infiniband [17]. Como se puede observar en la grfica, el rendimiento medido en medges se incrementa al aumentar el nmero de nodos dnde se lanza Graph 500. Esta prueba no supone un paso de informacin va red muy elevado entre los nodos, por lo cual factores como la latencia de la red no afectan de manera tan marcada el rendimiento como sucedi en la prueba hpl.
prueba HPL ofrece estimadores de rendimiento obtenidos a partir de la resolucin de ecuaciones mediante el procesamiento paralelo de operaciones matriciales. Este proceso y los resultados de la prueba sugieren que las capacidades de procesamiento de una plataforma bajo el modelo de memoria distribuida son claramente influenciadas por el tipo de infraestructura de red que se utilice para la correspondiente integracin de las mquinas. Claramente, el proceso de comunicacin existente entre este tipo de plataformas, puede convertirse en una limitante real de las capacidades de procesamiento. Por otro lado, la prueba Graph 500 ofrece otra perspectiva en el anlisis de rendimiento de la plataforma en cuestin. Esta perspectiva consiste en un procesamiento intensivo de datos en un tiempo determinado, el cual, permite determinar el nmero de operaciones realizadas durante dicho periodo y generar as un estimado del rendimiento de la plataforma. En este caso, el intercambio de informacin entre nodos no es tan intensivo como en la prueba HPL. Ambas pruebas permiten realizar estimaciones que refuerzan importantes conceptos de HPC. Hablar de un paralelismo real resulta muy ambicioso. Si se considera un sistema como indivisible podra llamrsele realmente paralelo, de otra manera el paralelismo tiende a ser solo simulado. Arquitecturas de memoria compartida parecen solucionar de manera tentativa la limitante de comunicacin presente en infraestructuras HPC pero recaen en capacidades de almacenamiento inferiores. Es por estos motivos que una plataforma de supercomputacin y clculo cientfico debe ofrecer alternativas que presenten soluciones eficaces a problemas que requieren grandes capacidades de procesamiento as como de intercambio de informacin.
Anlisis E Implementacin de un Mecanis mo de Tolerancia a Fallas y Restauracin para una Infraestructura de Clculo Distribuido en Redes Universitarias Visualizacin y Renderizacin Usando el Mtodo de Profundidad de Campo Extendida (EDF) en Arquitecturas Paralelas Modelamiento y Simulacin de Fluidos No Comprensibles usando Arquitecturas Paralelas Solucin de Sistemas de Ecuaciones en Clusters Usando PSO CeVale2: Centro Virtual de Altos Estudios en Altas Energas Simulacin de un plasma RCE en la trampa magntica cero-B Aplicacin de Software para la Clasificacin de Seales Electrocardiogrficas de Infarto Agudo de Miocardio Implementando CDM Desarrollo de Web Service para despliegue de trabajos sobre la plataforma GridUIS-2 - SC3OnLine Informacin acerca de cada uno de los proyectos mencionados puede encontrarse en el wiki de la plataforma en la pestaa experimentos.
fueron obtenidos usando la plataforma GridUIS-2, desarrollada por el Servicio de Cmputo de Alto Rendimiento y Calculo Cientfico de la Universidad Industrial de Santander (UIS). Esta accin es soportada por la Vicerrectoria de Investigacin y Extensin de la UIS (VIE-UIS) y diferentes grupos de investigacin de la universidad. (http://sc3.uis.edu.co)
10. Referencias
[1] Centro Nacional de Clculo Cientfico ULA CeCalCULA http://www.cecalc.ula.ve/ [2] Sitio web GNU/Debian: http://www.debian.org/index.es.html [3] OAR, Resource M anagement System for High Performance Computing: http://oar.imag.fr/ [4] Computemode Project: http://computemode.imag.fr [5] Sitio web OpenM PI www.open-mpi.org [6] Sitio web OpenM P www.openmp.org [7] Nvidia CUDA http://www.nvidia.com/object/cuda_home_new.html [8] GNU/Octave http://www.gnu.org/software/octave/ [9] R statistics http://www.r-project.org/ [10] Lightweight Directory Access Protocol www.openldap.org [11] Network File System NFS http://nfs.sourceforge.net/ [12] Servicio de Supercomputacin y Clculo Cientfico SC3 wiki http://sc3.uis.edu.co/index.php/P%C3%A1gina_Principal [13] Bruno Richard and Philippe Augerat, Effective Aggregation of Idle Computing Resources for Cluster Computing, ERICM News No. 59, October 2004. [14] Berkeley Lab Checkpoint/Restart (BLCR) https://ftg.lbl.gov/projects/CheckpointRestart/ [15] High Performance Linpack HPL http://www.netlib.org/benchmark/hpl/ [16] The Graph 500 List, http://www.graph500.org/Specifications.html [17] TOP 500 Supercomputer Sites, Endeavor http://www.top500.org/system/details/9295 [18] Proyecto Kadeploy http://www.grid5000.fr/mediawiki/index.php/Kadeploy [19] Grid Colombia http://www.gridcolombia.org/ [20] IGALC Iniciativa de Grid de Amrica Latina - Caribe http://www.igalc.org/
8. Trabajo futuro
Se han establecido ciertas directivas en lo concerniente a la evolucin del centro de clculo que se describen a continuacin. Con el propsito de ofrecer una mayor transparencia a los usuarios de la plataforma se est implementando la herramienta Kadeploy [18]. Esta herramienta permite el despliegue de ambientes de ejecucin (sistema operativo mas aplicaciones de usuario) para clusters de computadores personalizados y bajo demanda. Buscando expandir el alcance de la plataforma se planea el desarrollo o implementacin de una interfaz para establecer comunicaciones entre los proyectos Grid Colombia [19], la Iniciativa de Grid de Amrica Latina Caribe IGALC [20] y la plataforma del centro de clculo.
9. Agradecimientos
Los autores expresan sus agradecimientos especiales al Dr. Oscar Gualdron Gonzalez, vicerrector de investigacin y extensin de la UIS Los resultados de los experimentos presentados en esta publicacin