Cúmulo de Beowulf
Un clúster Beowulf es un clúster de computadoras de lo que normalmente son computadoras de calidad comercial idénticas conectadas en red en una pequeña red de área local con bibliotecas y programas instalados que permiten que el procesamiento se comparta entre ellos. El resultado es un clúster de cómputo paralelo de alto rendimiento a partir de hardware de computadora personal de bajo costo.
El nombre Beowulf originalmente se refería a una computadora específica construida en 1994 por Thomas Sterling y Donald Becker en la NASA. El nombre "Beowulf" proviene del poema épico en inglés antiguo del mismo nombre.
Ninguna pieza de software en particular define un clúster como un Beowulf. Por lo general, solo se utiliza software gratuito y de código abierto, tanto para ahorrar costos como para permitir la personalización. La mayoría de los clústeres de Beowulf ejecutan un sistema operativo similar a Unix, como BSD, Linux o Solaris. Las bibliotecas de procesamiento paralelo comúnmente utilizadas incluyen la interfaz de paso de mensajes (MPI) y la máquina virtual paralela (PVM). Ambos permiten al programador dividir una tarea entre un grupo de computadoras en red y recopilar los resultados del procesamiento. Los ejemplos de software MPI incluyen Open MPI o MPICH. Hay implementaciones MPI adicionales disponibles.
Los sistemas Beowulf operan en todo el mundo, principalmente como apoyo a la computación científica. Desde 2017, todos los sistemas de la lista Top500 de las supercomputadoras más rápidas del mundo han utilizado métodos de software Beowulf y un sistema operativo Linux. En este nivel, sin embargo, la mayoría no son de ninguna manera simples ensamblajes de hardware básico; A menudo se requiere un trabajo de diseño personalizado para los nodos (a menudo servidores blade), las redes y los sistemas de refrigeración.
Desarrollo
Una descripción del clúster Beowulf, del manual de instrucciones original, que fue publicado por Jacek Radajewski y Douglas Eadline bajo el Proyecto de Documentación de Linux en 1998:
Beowulf es una arquitectura multicomputer que se puede utilizar para computaciones paralelas. Es un sistema que consiste generalmente en un nodo de servidor, y uno o más nodos de cliente conectados a través de Ethernet o alguna otra red. Es un sistema construido con componentes de hardware de productos básicos, como cualquier PC capaz de ejecutar un sistema operativo tipo Unix, con adaptadores Ethernet estándar y conmutadores. No contiene componentes de hardware personalizados y es trivialmente reproducible. Beowulf también utiliza software de productos básicos como el sistema operativo FreeBSD, Linux o Solaris, Parallel Virtual Machine (PVM) y Message Passing Interface (MPI). El nodo del servidor controla todo el cluster y sirve archivos a los nodos del cliente. También es la consola del clúster y la puerta de entrada al mundo exterior. Las grandes máquinas Beowulf pueden tener más de un nodo servidor, y posiblemente otros nodos dedicados a tareas particulares, por ejemplo consolas o estaciones de monitoreo. En la mayoría de los casos los nodos clientes en un sistema Beowulf son tontos, el más tonto mejor. Los nodos están configurados y controlados por el nodo del servidor, y sólo hacen lo que se les dice que hagan. En una configuración de cliente sin disco, un nodo de cliente ni siquiera conoce su dirección IP o nombre hasta que el servidor lo diga.
Una de las principales diferencias entre Beowulf y un grupo de estaciones de trabajo (COW) es que Beowulf se comporta más como una sola máquina en lugar de muchas estaciones de trabajo. En la mayoría de los casos los nodos del cliente no tienen teclados o monitores, y sólo se accede a través de acceso remoto o posiblemente terminal serial. Los nodos de Beowulf se pueden considerar como un paquete de memoria CPU + que se puede conectar en el clúster, al igual que un módulo de CPU o memoria se puede conectar en una placa base.
Beowulf no es un paquete de software especial, nueva topología de red, o el último hack del kernel. Beowulf es una tecnología de agrupar computadoras para formar un supercomputador virtual paralelo. Aunque hay muchos paquetes de software tales como modificaciones del núcleo, bibliotecas PVM y MPI, y herramientas de configuración que hacen que la arquitectura Beowulf sea más rápida, más fácil de configurar y mucho más utilizable, se puede construir una máquina de clase Beowulf utilizando una distribución estándar de Linux sin ningún software adicional. Si tiene dos computadoras en red que comparten al menos
/home
sistema de archivos a través de NFS, y confiar el uno al otro para ejecutar conchas remotas (rsh), entonces se podría argumentar que usted tiene una máquina Beowulf simple, dos nodos.
Sistemas operativos
A partir de 2014, varias distribuciones de Linux y al menos una BSD están diseñadas para crear clústeres de Beowulf. Éstas incluyen:
- MOSIX, orientada hacia aplicaciones informáticamente intensivas, IO-low
- ClusterKnoppix, basado en Knoppix
- Kerrighed
- Rocks Cluster Distribution
- DragonFly BSD
- Quantian, un DVD en vivo con aplicaciones científicas, basado en Knoppix y ClusterKnoppix
- Kentucky Linux Athlon Testbed
- PelicanHPC, basado en Debian Live
Se puede configurar un clúster usando los CD de arranque de Knoppix en combinación con OpenMosix. Las computadoras se vincularán automáticamente, sin necesidad de configuraciones complejas, para formar un clúster Beowulf utilizando todas las CPU y RAM del clúster. Un clúster de Beowulf es escalable a un número casi ilimitado de computadoras, limitado solo por la sobrecarga de la red.
El aprovisionamiento de sistemas operativos y otro software para un Beowulf Cluster se puede automatizar mediante software, como Open Source Cluster Application Resources. OSCAR se instala sobre una instalación estándar de una distribución de Linux compatible en el nodo principal de un clúster.
Contenido relacionado
Cobertura de código
Operador bastardo del infierno
Navegador