Meteorología Colombiana N3 pp. 35–37 Marzo, 2001 Bogotá D.C. ISSN-0124-6984 IMPLEMENTACIÓN DE UN CLUSTER BEOWULF (*) JORGE ENRIQUE VICTORINO GUZMÁN Grupo de Investigación en Meteorología-U.N., Coinvestigador Proyecto “Proyecciones Climáticas Regionales e Impactos Socioeconómicos del Cambio Climático en Colombia”. COLCIENCIAS-U.N. e IDEAM RAÚL OCTAVIO HERNÁNDEZ MARTÍNEZ Grupo de Investigación en Meteorología-U.N., Coinvestigador Proyecto “Proyecciones Climáticas Regionales e Impactos Socioeconómicos del Cambio Climático en Colombia”. COLCIENCIAS-U.N. e IDEAM Victorino, J., & R. Hernández. 2001: Implementación de un cluster Beowulf. Meteorol. Colomb. 3:35-37. ISSN 0124-6984. Bogotá, D.C. – Colombia. RESUMEN Uno de los sistemas de simulación que exige gran cantidad de recursos computacionales y alto desempeño son los modelos climáticos, lo cual implica un elevado costo a la hora de la implementación, dificultando su adquisición. Una alternativa que ofrece buen desempeño a un bajo costo económico es la construcción de un “Cluster Beowulf” que permite emular el comportamiento de un computador con varios procesadores. En el presente artículo se muestran los requerimientos de hardware para la construcción del Cluster Beowulf, los recursos software para la implementación del modelo CCM3.6 y se muestran los resultados de rendimiento para el Cluster Beowulf del Grupo de Investigación en Meteorología de la Universidad Nacional de Colombia con diferente número de procesadores. ABSTRACT One of the simulation systems that put a great stress on computational resources and performance are the climatic models, with a high cost of implementation, making difficult its acquisition. An alternative that offers good performance at a reasonable cost is the construction of “Cluster Beowulf” that allows to emulate the behavior of a computer with several processors. In the present article we discuss the requirements of hardware for the construction of the Cluster Beowulf, the software resources for the implementation of the model CCM3.6 and the performance of the Cluster Beowulf, of the Group of Investigation in Meteorology at the National University of Colombia, with different number of processors. 1 INTRODUCCIÓN En la actualidad el Clúster Beowulf surge como una de las herramientas de mayor auge en el campo de la computación, conocida como una alternativa que busca la mejor relación costo beneficio y que se ajusta a las necesidades de un problema complejo que requiere de un poder de computación alto. (*) El Clúster Beowulf es una tecnología que agrupa computadores basados en el sistema Linux con el fin de formar una máquina poderosa que emula el comportamiento de un supercomputador de multiprocesamiento. En 1994 Thomas Sterling y Don Becker construyeron el primer Clúster en un proyecto de investigación patrocinado por el Centro de la excelencia en ciencias de los datos y de la información del espacio. Ponencia presentada en el II Seminario “Cambio Climatico e Impactos Socioeconomicos”, realizado en Bogotá 11-13 de diciembre de 2000; dentro del marco del Grupo de Investigaciones en Meteorología - U.N. que cuenta con el apoyo financiero de COLCIENCIAS y el BID, contrato COLCIENCIAS-U.N. No.391/99, como parte del Proyecto de Investigación apoyado por COLCIENCIAS y el BID “Proyecciones climáticas e impactos socioeconómicos del cambio climático en Colombia", contrato COLCIENCIAS-U.N. No.321-98, y el IDEAM. 36 METEOROLOGÍA COLOMBIANA N3, MARZO 2001 2 CARACTERÍSTICAS El hardware de un Clúster tiene una arquitectura basada en multicomputadores, de los cuales uno se usa como el nodo principal denominado “Maestro” y los demás llamados “Esclavos”, conectados a través de una red. Cada computador posee componentes de hardware que son comunes en el mercado de los PC’s, por lo que no hay problemas a la hora de conseguirlos. El Clúster se comporta como una sola máquina por lo que el nodo principal sirve como consola y los esclavos generalmente no tienen teclado, mouse, ni monitor, siendo accedidos vía remota o por terminal serial. El nodo maestro controla el Clúster prestando el sistema de archivos a los nodos esclavos. El hardware en los nodos esclavos es simple, inclusive pueden ser configurados sin disco duro, lo mínimo es el procesador, la memoria, la tarjeta principal y algún dispositivo de comunicación (tarjeta de red). Para el almacenamiento se puede emplear un arreglo de discos lo que facilita la administración, o que cada nodo cuente con su propio disco duro lo que facilita la configuración. Para la comunicación se deben adquirir componentes que proporcionen la velocidad que la aplicación requiere, por lo que se recomienda tarjetas de red de 100 Mbps o superior y un componente activo que disminuya la colisión en la comunicación. Beowulf utiliza como sistema operativo alguna de las distribuciones de Linux, adicionalmente se necesita software para distribuir los procesos por medio de la red a los demás computadores, para lo cual existen varias librerías de funciones como PVM (Parallel Virtual Machine) y MPI (Message Pasing Interface). Estas librerías deben ser usadas por los compiladores de C o Fortran para crear programas o bien para poder correr uno que se ha adquirido. El nodo maestro posee además unidad de CD Writer, unidad de floppy disk, Pantalla, mouse y teclado. 3 Para medir y probar el rendimiento de los Clúster Beowulf se usan programas desarrollados para tal fin denominados “Benchmarks”. El objetivo es encontrar valores que demuestran la superioridad de una arquitectura o para estudiar el desempeño de computadoras paralelas. Los “Benchmark” pueden ser aplicaciones reales comerciales o específicas, programas kernel o programas con propiedades estadísticas. El problema es determinar que es está midiendo en realidad. Los “Benchmarks” utilizados para medir el rendimiento del Clúster del Grupo de Investigación en Meteorología fueron: Cálculo de integrales en paralelo por el método de los trapecios (usando un total de mil millones de trapecios). El programa CCM3 versión 3.6 fue desarrollado por el Instituto NCAR (National Center for Atmospheric Research). El objetivo de estas pruebas es medir el rendimiento del Clúster agregando nodos para el proceso en paralelo. El rendimiento del procesador Pentium II ya ha sido probado, mas información en: http://www.intel.com/procs/perf/limits.html. Integral por el método de los trapecios # Procesadores Tiempo (segundos) 1 92 2 46 3 31 4 23 5 18 6 15 7 13 8 12 En el diseño de un Clúster para una determinada aplicación se debe tener en cuenta lo siguiente: La cantidad de procesamiento en Flops (operaciones de punto flotante por segundo), La cantidad de comunicación de los procesos, que es alta cuando los resultados que obtiene uno de los nodos son usados en gran cantidad por los demás. Procesador Memoria Disco Duro Comunicación Ocho Intel Pentium II de 450 Mhz 2 GB de RAM 104 GB en Ocho discos (uno por máquina) Ocho Tarjetas de Red Fast Ethernet y un Switch 8 puertos Dispositivos de almacenamiento No tiene masivo 100 Tiempo (Seg) En el Grupo de Investigación en Meteorologia de la Universidad Nacional de Colombia se construyó un Clúster Beowulf de ocho computadores que se usa para correr el Modelo CCM3 (Community Climate Model), (Pabón et al., 2001). El Clúster cuenta con los siguientes componentes: RESULTADOS 80 60 40 20 0 1 2 3 4 5 6 7 8 Procesadores Debido a que los requerimientos de comunicación son bajos al calcular la integral, ya que se divide el cálculo en partes iguales para cada procesador, el aumento de estos disminuye el tiempo, siendo aproximadamente igual VICTORINO & HERNÁNDEZ: IMPLEMENTACIÓN MODELO CCM3 CLUSTER COMPUTADORES 37 al tiempo total que gasta un procesador sobre el número de procesadores. Este es un funcionamiento óptimo para una aplicación en paralelo. componente. Adicionalmente gran parte del software utilizado es de dominio publico y el código fuente esta disponible. Programa CCM3.6 Tiempo de simulación 1 mes 1 mes 1 mes 1 mes 1 día 1 día 1 día 1 día Se puede ajustar fácilmente a las necesidades del usuario como a los requerimientos de la aplicación en cuanto a procesamiento, memoria, almacenamiento, comunicación y al no menos importante presupuesto. Número de Procesadores 2 4 6 8 2 4 6 8 Tiempo de proceso 10:35’ 5:53’ 4:05’ 3:15’ 21´10’’ 11’58’’ 8’10’’ 6’31’’ En el caso del programa CCM3 el funcionamiento no es tan bueno, ya que se gasta un tiempo adicional en la comunicación de los procesos. Al aumentar el número de procesadores estos deben compartir más información, por eso se invierte un tiempo en la comunicación de los mismos, esto se debe al funcionamiento de la aplicación. 4 CONCLUSIONES Las ventajas de usar un Clúster Beowulf son las siguientes: Al utilizar componentes de hardware comunes en el mercado su precio es económico y se tiene la oportunidad de elegir y la facilidad de remplazar cualquier Es una tecnología flexible ya que agregar o quitar algún componente para mejorar el desempeño se hace de manera inmediata. BIBLIOGRAFÍA Anderson, E., & D. Patterson. 1997: Extensible, scalable monitoring for clusters of computers. Pabón, J., J. Eslava, G. Montoya, A. Calderón, F. Higuera, J. Victorino & R. Hernández. 2001: Cluster de PCs para computación de alta velocidad para modelamiento del clima. Meteorol. Colomb. 3:33-34. ISSN 0124-6984. Bogotá, D.C. – Colombia. Fox, A., S. Gribble, Y. Chawathe, E. Brewer & P. Gauthier. 1997: Cluster-based scalable network services. Radajewski, J., & D. Eadline. 1998: Beowulf howto.1.1.1. http://www.beowulf.org http://www.extremelinux.org http://www.ucar.edu