![]() |
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. |
![]() |
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. |