Instalación y Configuración de un
Clúster Beowulf Virtual con Ubuntu
Server para Computación Paralela de
Alto Rendimiento
1 RESUMEN DEL PROYECTO:
Este proyecto tiene como objetivo principal la instalación, configuración y puesta en marcha de
un clúster Beowulf virtual utilizando VirtualBox y Ubuntu Server. Los estudiantes crearán dos
máquinas virtuales (VMs) que simularán los nodos de un clúster Beowulf real. Este entorno
virtual permitirá a los estudiantes aplicar los conceptos aprendidos en el curso de Programación
Paralela en un entorno práctico y seguro, desarrollando habilidades en virtualización,
administración de sistemas Linux, redes virtuales y programación paralela.
2 OBJETIVOS:
2.1 OBJETIVO GENERAL:
Diseñar e implementar un clúster Beowulf virtual funcional para la ejecución de
aplicaciones de computación paralela.
2.2 OBJETIVOS ESPECÍFICOS:
Configurar VirtualBox para crear y gestionar tres máquinas virtuales con Ubuntu Server.
Configurar la red virtual para la comunicación de alta velocidad entre los nodos.
Instalar y configurar el software de gestión de clúster (MPI, OpenMP).
Desarrollar y ejecutar aplicaciones de prueba para validar el rendimiento del clúster
virtual.
Documentar detalladamente el proceso de instalación y configuración.
3 PARTICIPANTES:
[Nombre del Estudiante 1]
[Nombre del Estudiante 2]
[Nombre del Estudiante 3]
[Nombre del Estudiante 4]
4 CRONOGRAMA DEL PROYECTO (4 SEMANAS):
4.1 SEMANA 1: CONFIGURACIÓN DE VIRTUALBOX Y CREACIÓN DE VMS:
Instalación y configuración de VirtualBox.
Descarga de la imagen ISO de Ubuntu Server 22.04 (o superior).
Creación de tres máquinas virtuales con recursos adecuados (RAM, CPU,
almacenamiento).
Configuración de la red virtual para permitir la comunicación entre las VMs.
4.2 SEMANA 2: INSTALACIÓN DEL SISTEMA OPERATIVO Y CONFIGURACIÓN DE RED VIRTUAL:
Instalación de Ubuntu Server en las tres VMs.
Configuración de direcciones IP estáticas para cada VM.
Configuración de SSH para acceso remoto entre las VMs.
Pruebas de conectividad entre las VMs.
4.3 SEMANA 3: INSTALACIÓN Y CONFIGURACIÓN DEL SOFTWARE DE CLÚSTER:
Instalación de MPI (Message Passing Interface) y OpenMP en las tres VMs.
Configuración del entorno de programación paralela.
Pruebas de comunicación y sincronización entre los nodos virtuales.
4.4 SEMANA 4: DESARROLLO DE APLICACIONES DE PRUEBA Y DOCUMENTACIÓN:
Desarrollo de aplicaciones de prueba para evaluar el rendimiento del clúster virtual.
Ejecución de pruebas de rendimiento y análisis de resultados.
Elaboración del informe final del proyecto, incluyendo la documentación de todo el
proceso.
5 RECURSOS:
VirtualBox.
Imagen ISO de Ubuntu Server 22.04 (o superior).
Software: MPI, OpenMP, compiladores (GCC).
Documentación: Manuales de VirtualBox, tutoriales de programación paralela.
6 EVALUACIÓN:
Funcionamiento del clúster virtual.
Rendimiento del clúster virtual en las pruebas de aplicación.
Calidad de la documentación del proyecto.
Presentación del proyecto.
7 CONSIDERACIONES ADICIONALES:
Es importante asignar recursos adecuados a las VMs para garantizar un rendimiento
óptimo.
Se debe prestar especial atención a la configuración de la red virtual para permitir la
comunicación de baja latencia entre los nodos.
Se recomienda el uso del modo de red tipo "red interna", de virtual box, para aislar la
red del clúster de las redes externas.
Se deben realizar pruebas exhaustivas para garantizar la estabilidad y el rendimiento del
clúster virtual.
Esta versión del proyecto ofrece un enfoque práctico y accesible para que los estudiantes
experimenten con la computación paralela utilizando tecnologías de virtualización.
8 CONSEJOS ADICIONALES PARA EL PROYECTO DE CLÚSTER BEOWULF
VIRTUAL:
8.1 REQUISITOS MÍNIMOS DE LAS MÁQUINAS VIRTUALES:
8.1.1 Memoria RAM:
Se recomienda un mínimo de 2 GB de RAM por máquina virtual. Esto permitirá que Ubuntu
Server y las aplicaciones de computación paralela se ejecuten de manera fluida. Si planean
ejecutar aplicaciones que requieran mucha memoria, consideren aumentar la RAM a 4 GB o
más.
8.1.2 CPU:
Asignar al menos 2 núcleos de CPU virtuales por máquina virtual. Esto proporcionará un
rendimiento adecuado para las tareas de computación paralela. Si el procesador de la maquina
host lo permite, asignar 4 núcleos mejorara el rendimiento.
8.1.3 Almacenamiento:
Se recomienda un mínimo de 20 GB de espacio en disco para cada máquina virtual. Esto
proporcionará suficiente espacio para el sistema operativo, las herramientas de programación
y las aplicaciones de prueba.
8.1.4 Red:
Es crucial configurar la red virtual de manera adecuada. Se recomienda utilizar el modo de red
"Red Interna" en VirtualBox. Esto aislará la red del clúster de las redes externas y garantizará
una comunicación de baja latencia entre los nodos.
Asignar direcciones IP estáticas a cada máquina virtual para facilitar la comunicación entre los
nodos.
8.2 CONFIGURACIÓN DE LA RED VIRTUAL:
Asegúrense de que las tres máquinas virtuales estén en la misma subred.
Verifiquen la conectividad entre las máquinas virtuales utilizando el comando ping.
Configuren SSH para permitir el acceso remoto entre las máquinas virtuales. Esto
facilitará la administración del clúster.
Deshabilitar el firewall de Ubuntu, o configurar las reglas necesarias para permitir las
comunicaciones entre los nodos.
8.3 INSTALACIÓN Y CONFIGURACIÓN DE MPI Y OPENMP:
Sigan cuidadosamente las instrucciones de instalación de MPI y OpenMP.
Verifiquen que MPI y OpenMP estén instalados correctamente ejecutando programas
de prueba simples.
Presten atención a la configuración del archivo hosts de MPI, que especifica los nodos
del clúster.
9 DESARROLLO DE APLICACIONES DE PRUEBA:
Comiencen con aplicaciones de prueba simples para verificar el funcionamiento básico
del clúster.
Luego, desarrollen aplicaciones de prueba más complejas para evaluar el rendimiento
del clúster en diferentes escenarios.
Utilicen herramientas de creación de perfiles para analizar el rendimiento de las
aplicaciones y identificar posibles cuellos de botella.
10 DOCUMENTACIÓN:
Documenten cada paso del proceso de instalación y configuración.
Incluyan capturas de pantalla y diagramas para ilustrar la configuración del clúster.
Expliquen cómo desarrollar y ejecutar aplicaciones en el clúster.
Analicen los resultados de las pruebas de rendimiento y saquen conclusiones sobre el
rendimiento del clúster.
11 CONSIDERACIONES ADICIONALES:
Consideren utilizar una distribución de Linux ligera y optimizada para computación de
alto rendimiento, como Ubuntu Server.
Asegúrense de que todas las máquinas virtuales tengan la misma versión del sistema
operativo y las mismas bibliotecas.
Ejecutar las máquinas virtuales con una interfaz de línea de comandos, para no consumir
recursos innecesarios.
Realizar pruebas de estrés para verificar la estabilidad del clúster.