Tu superordenador con Super Cool Tech


Hay áreas en las que necesitamos pequeñas máquinas informáticas que puedan funcionar colectivamente como una supercomputadora. Aquí vemos cómo se puede hacer.

La mayoría de las supercomputadoras tienen CPU interconectadas con una CPU de nodo maestro que divide una gran tarea de procesamiento en tareas más pequeñas. Estas tareas más pequeñas se asignan a CPU interconectadas, que trabajan juntas para completar la tarea en mucho menos tiempo.

Luego diseñamos nuestra propia supercomputadora, que sería un sistema básico donde puede conectar tantos nodos como desee para satisfacer sus necesidades informáticas y de procesamiento. Usaremos computadoras de placa única y las vincularemos entre sí y haremos que una de ellas sea el nodo maestro. El nodo principal distribuirá las tareas y controlará todas las demás computadoras.

Los componentes necesarios para este proyecto se enumeran en la tabla Lista de materiales. El prototipo del autor se muestra en la Fig. 1.

Cada nodo de clúster para nuestra supercomputadora necesitaría los componentes mencionados en la lista de materiales. Para crear una supercomputadora de clúster de 100 RPI, se requerirían los 100 conjuntos anteriores.

Puede diseñar un sistema simple basado en rack o diseñar un bloque de cada nodo y conectar los bloques para crear un clúster grande para su propio uso. Veamos cómo puede crear un clúster de supercomputadoras basado en bloques, donde cada bloque tiene dos CPU con sus propios sistemas de administración de energía y enfriamiento preconfigurados. Este diseño le brinda la flexibilidad de agregar tantos bloques de clúster individuales como sea necesario. Puede alcanzar hasta un terabyte de potencia informática agregando suficientes de estos bloques de un solo nodo.

Diseñamos el gabinete de una sola pieza que puede contener dos computadoras de placa única RPi y el tanque cilíndrico para enfriamiento de agua. En el diseño de la carcasa, mantenga dos recortes en la parte frontal para exponer los puertos USB y Ethernet del RPi. Reservar en la parte inferior dos orificios para el paso de cables y conectores de alimentación (ver Fig. 2). También haga orificios de ventilación para la circulación de aire para mantener el sistema fresco.

Después de diseñar el gabinete de hardware como se describe arriba, imprímalo en 3D. Puede crear su propio diseño personalizado si lo desea, o incluso optar por un sistema basado en bastidor y configurar el sistema de refrigeración y las CPU en la configuración del bastidor.

Se necesita un buen sistema de enfriamiento para la supercomputadora, ya que las CPU realizarían tareas complejas y podrían calentarse rápidamente. Se recomienda un sistema de refrigeración dual que utilice primero termoeléctrico y luego refrigeración por agua. Para obtener mejores resultados, puede usar refrigerante líquido en lugar de agua.

Para el depósito de agua/líquido refrigerante se puede utilizar un recipiente hermético cilíndrico transparente de vidrio o plástico, que cabe dentro de la caja previamente diseñada. El tanque debe ser hermético para evitar daños a los componentes electrónicos cercanos o provocar un cortocircuito.

Como se muestra en la Fig. 3, perfore los orificios para las tuberías de entrada y salida de agua en el tanque y otro orificio para el cableado de la bomba sumergible. Conecte las tuberías de agua y los cables y selle los orificios con pegamento a base de goma para asegurarse de que no haya fugas de agua del tanque. Consulte la Fig. 4, la Fig. 5 y la Fig. 6 para obtener más detalles.

Cubra los componentes electrónicos del tanque con una lámina de plástico o cinta para evitar que las gotas de agua que se forman debido a la humedad del interior causen problemas. Inserte los tubos de entrada y salida dentro del bloque de enfriamiento de agua de aluminio (ver Fig. 7 y Fig. 8) y conecte la bomba de agua y los cables termoeléctricos a una fuente de alimentación de 5V CC.

Fig. 7: Configuración del módulo termoeléctrico en el chip del procesador del RPi
Fig. 7: Configuración del módulo termoeléctrico en el chip del procesador del RPi

Fig. 8: Bloque de aluminio para refrigeración por agua
Fig. 8: Bloque de aluminio para refrigeración por agua

Asamblea

Con el depósito de la bomba de agua de enfriamiento y todo el sistema de enfriamiento listos para ensamblar, ahora puede ensamblar los componentes y comenzar a construir un bloque de supercomputadora. Primero, fije la computadora de placa única RPi dentro de la carcasa que diseñó, como se muestra en la Fig. 9, y monte el primer bloque de enfriamiento en ella. Luego, monte el segundo RPi dentro de la caja, asegurándose de que los puertos estén expuestos y accesibles a través de los cortes en la caja que se hicieron para ese propósito.

Raspberry Pi insertado en el caso
Fig. 9: RPI insertado en el maletín

Asegure el segundo RPi con un tornillo y luego asegure también el bloque termoeléctrico y de enfriamiento. Luego cubra el lado superior de la caja. Para hacerlo hermoso y ver el agua que fluye, use una lámina acrílica transparente para cerrar la caja. Los detalles se pueden ver de la Fig. 10 a la Fig. 12.

Fig. 10: El depósito fijado con RPI en el maletín
Fig. 10: El depósito fijado con RPI en el maletín

Figura 11: Vista superior
Figura 11: Vista superior

Consulte el diagrama de conexión que se muestra en la Fig. 13 y, en consecuencia, conecte la bomba de agua y el enfriador termoeléctrico a una fuente de alimentación de 5-12 V, 2 A CC y encienda el RPi con una fuente de alimentación de 2 A, 5 V CC.

Raspberry Pi con sistema de refrigeración
Fig. 12: Fijación del módulo enfriador de agua

Software

Instale el último sistema operativo Raspbeian en el RPi. Cree una unidad maestra que dividirá la actividad compleja en todos sus nodos constituyentes y los controlará para el procesamiento y los cálculos, como una supercomputadora. Para hacer esto, abra la terminal de Linux y configure MPI. Instale MiPIH y prepare el nodo maestro que divide y monitorea la actividad entre el grupo de computadoras.

sudo apt-obtener actualización

Cambie la contraseña del usuario ‘pi’.

En «Redes», cambie el nombre de host a nodoX, reemplazando X con un número único (nodo1, nodo2, etc.). Node1 será nuestra unidad principal.

Configurar Ethernet:

sudo nano /etc/dhcpcd.conf

Vaya al final del archivo y agregue lo siguiente:

interfaz eth0
dirección IP estática = 10.0.0.1/24

Luego crea una identidad única:

ssh-keygen -t rsa
Configurar el nodo raíz
ssh-copia-id 10.0.0.1

Ahora el nodo raíz está listo. Abra la terminal del segundo nodo y conecte ethernet a ambos RPis con conector ethernet y repita los pasos anteriores también. Para agregar más nodos (que pueden ser miles), cree la imagen de arranque de la configuración RPi anterior y prepare la tarjeta SD de todos esos nodos con la misma imagen.

Fig. 13: Esquema de conexión del proyecto
Fig. 13: Esquema de conexión del proyecto

Conéctelos todos con un conector ethernet e inícielos y configúrelos como nodos del maestro usando los siguientes comandos y configuraciones. Abra la terminal y ejecute lo siguiente en cada nodo de la supercomputadora:

sudo apt install mpich
python3-mpi4py

Una vez completada, la prueba MPI se ejecuta en cada nodo:

mpiexec -n 1 nombre de host

Desde el nodo1 (10.0.0.1), ejecute el siguiente comando:

mpiexec -n 4 –host 10.0.0.1,10.0.0.2,
10.0.0.2, 10.0.0.4 nombre de host

Después de que cada instalación haya ido bien, puede probar el sistema. Conecte cada nodo y enciéndalos a todos.

Para probar la supercomputadora, descargue el código de Github.

Abra la terminal del nodo principal y ejecute lo siguiente en la terminal de Linux:

mpiexec -n 1 python3 prime.py 1000

Cuando ejecuta el código anterior, la compleja tarea de encontrar el número primo hasta 1000, 4000 o incluso 100 000 se divide entre todos los nodos del sistema, y ​​los nodos se procesan juntos y calculan para darle el resultado. La Fig. 14 muestra cómo funciona el programa.

Fig. 14: Ejecución del código
Fig. 14: Ejecución del código

Descarga el código fuente


Ashwini Kumar Sinha es un periodista técnico apasionado por IoT e IA en EFY