Thomas Sterling y Don Becker (1994) del Center of Excellence in Space Data and Information Sciences (CESDIS), bajo el patrocinio del Proyecto Earth and Space Sciences (ESS), construyeron un cluster de 16 procesadores DX4, conectados por un canal Ethernet a 10 Mbps (10 millones de bits por segundo), al que llamaron Beowulf. Parece que esto fue sencillo, pero no es así, porque se enfrentaron a diferentes problemas. Por ejemplo, los procesadores eran demasiado rápidos para las tarjetas de red y los equipos de comunicación. En busca de una solución a este problema, Becker modificó los controladores de las tarjetas Ethernet para el sistema operativo Linux, con el fin de crear uno que permitiera distribuir el tráfico de la red en dos o más tarjetas, con la finalidad de balancear el sistema. En aquella época fue necesario realizar este proceso porque se contaba con una red de 10 Mbps y un protocolo de comunicación Ethernet. Migrar a otros protocolos de red más eficientes, implicaba costos muy elevados. Afortunadamente contamos en la actualidad con equipos de comunicación rápidos y económicos, con una aceptación de protocolos más eficaces, tales como el Fast Ethernet.

Proporcionar a los usuarios sistemas consistentes, básicamente, en componentes que se tienen a disposición o que pueden conseguirse fácilmente en el mercado cibernético (COTS, por sus siglas en inglés commodity off the shelf), abriendo la posibilidad de satisfacer las necesidades de cómputo paralelo, tuvo un gran éxito, que la idea se propagó rápidamente a través de la NASA (National Aeronautics and Space Administration) y los grupos académico y científico. La aceptación inmediata dio origen al proyecto Beowulf.

Gracias a estas configuraciones, las universidades con recursos limitados y sin acceso a una supercomputadora, encontraron una excelente opción de acceso al cómputo de alto rendimiento, para trabajar problemas científicos complejos que utilizan programas o códigos paralelos. Esto se debe a que hoy en día se puede contar con diferentes componentes computacionales (procesadores, discos duros, memoria RAM, tarjetas madre y de red, etcétera) a precios accesibles, que pueden ser ensamblados perfectamente para dar origen a un cluster. Además, el desarrollo del software libre nos permite contar con sistemas operativos, tales como LINUX, compiladores GNU, herramientas de programación y bibliotecas tipo MPI (Message Passing Interfase) y PVM (Parallel Virtual Machine), capaces de funcionar en diversas plataformas de computadoras, eliminando así la dependencia con el hardware, en caso de existir.


 
[Volver arriba]

 



Actualmente los clusters están presentes en varias áreas de la ciencia y en la iniciativa privada. Su demanda está asociada básicamente a programas o aplicaciones que requieren enormes recursos computacionales (altas velocidades de procesamiento, gran capacidad de memoria RAM y disco duro, rapidez en la transmisión de información, etcétera) Debido a su gran popularidad en los últimos años, son excelentes herramientas de apoyo para grupos de investigación que requieren cómputo paralelo de alto rendimiento. Dentro de las aplicaciones más comunes se encuentran: las simulaciones numéricas, el cómputo y la visualización científica, la animación por computadora y como herramienta para optimizar el tiempo de render en el desarrollo de películas, los servidores Web, las bases de datos, el análisis numérico y la enseñanza. A continuación se muestran algunos ejemplos en que se han utilizado este tipo de arquitecturas. Dentro de las simulaciones más impresionantes, realizadas hasta el momento con este tipo de configuraciones, están las presentadas por el grupo de investigadores del Departamento de Astronomía y Astrofísica de la Universidad de Toronto (Dubinski et al., 2003) http://www.cita.utoronto.ca/~dubinski/sc2003. Utilizan un cluster-Beowulf con 512 procesadores para investigar la evolución dinámica de diferentes problemas astrofísicos. Por ejemplo, emplean códigos numéricos de N-cuerpos, con cientos de millones de partículas, y estudian la formación de estructuras a gran escala en el universo, así como la interacción de las galaxias. También hacen una descripción detallada de la dinámica de flujos de acreción en agujeros negros, así como la formación de planetas en discos gaseosos con polvo, por medio de códigos numéricos magnetohidrodinámicos (MHD), con mallas computacionales de muy alta resolución, que llegan a tener del orden de 1400³ zonas (para ver las animaciones de estas simulaciones recomendamos: Dubinski, et al., 2003). Finalmente, los clusters-Beowulf juegan un papel importante en la optimización del tiempo de búsqueda en bases de datos de servidores tipo Yahoo o en compañías bancarias, donde se manejan grandes volúmenes de datos. En este trabajo se utilizan diferentes problemas astronómicos para estudiar el rendimiento de uno de los clusters del Centro de Cómputo de la UNAM.

 
[Volver arriba]
[Cerrar esta ventana]