¿Para Qué Sirve un Clúster de Raspberry Pi?
Clusters en Raspberry Pi es un tema de moda en Internet (puedes encontrar pruebas, tutoriales y fotos increíbles en todas partes).
También te hice un tutorial hace unos meses sobre cómo crear un clúster básico con dos Raspberry Pi, pero recibí muchas preguntas sobre por qué podríamos necesitar uno.
Sigue leyendo si quieres la respuesta 🙂
¿Cuál es el objetivo de un clúster de Raspberry Pi?
El objetivo de un clúster de Raspberry Pi es combinar el rendimiento de varios dispositivos en una pila.
Construir un clúster es un proyecto divertido, y también puede ser útil para aplicaciones que requieren muchos núcleos de CPU, pero no tanta velocidad de ejecución.
Para profundizar más, empezaré explicando la lógica detrás de un clúster de Raspberry Pi, y luego te daré algo de inspiración con varios ejemplos interesantes.
Si estás empezando con Raspberry Pi o Linux, tengo algo que puede ayudarte de inmediato.
Descarga mi hoja de trucos de comandos Linux gratis – es una guía de referencia rápida con todos los comandos esenciales que necesitas para avanzar con tu Raspberry Pi. Haz clic aquí para obtenerla gratis!
¿Cuándo puede ser útil un clúster de Raspberry Pi?
Sí, el Raspberry Pi es barato pero el rendimiento no es óptimo.
Entonces, ¿por qué podríamos necesitar un clúster de Raspberry Pi?
¿Más RAM?
La primera idea puede ser construir un clúster para obtener más RAM.
Esto puede ser una buena idea si tu aplicación necesita mucha RAM, pero el costo total no será la mejor opción.
Comprar 4x Raspberry Pi 4 de 8 GB será caro para un clúster (8 GB en Amazon).
Si quieres ahorrar dinero, una memoria total de 32 GB con el módulo de cómputo será mucho más barata que eso (ver el precio en Amazon).
Sí, la solución del módulo de memoria necesita una computadora para alojarlo, pero puedes usar cualquier computadora vieja, probablemente será mejor que cuatro Raspberry Pi 4.
¿Más CPU?
La segunda idea puede ser obtener una CPU potente con varios Raspberry Pi baratos en lugar de comprar una PC o servidor tradicional.
Aún así, no es la mejor razón para construir un clúster de Raspberry Pi.
Como puedes ver en este benchmark (fuente: Reddit), las CPU de Raspberry Pi tienen un rendimiento realmente bajo. Entonces, cualquier computadora barata será claramente mejor en términos de velocidad de CPU:
Necesitarás más de 10 Raspberry Pi 4 para igualar el rendimiento del Intel i3.
El procesador Intel i3 del benchmark cuesta casi lo mismo que un Raspberry Pi 4 (verifica el precio actual en Amazon).
Sí, eso es solo para el procesador, pero también puedes usar una computadora vieja (¡el primer i3 se lanzó hace más de 10 años!)
Incluso puedes usar un Intel NUC en su lugar. Este NUC tiene 8 GB de RAM, un SSD de 256 GB y Windows 10 incluido, así que es una mejor oferta en general (todos los detalles aquí en Amazon).
¿Acceso más rápido al disco?
Seré breve en esto, ya sabes que una tarjeta SD no es la forma más rápida de almacenar o acceder a datos.
En general, consideramos que los modelos recientes de SSD son más de 10 veces más rápidos que cualquier tarjeta SD.
Incluso si Datalight ha encontrado una manera de aumentar la velocidad de las tarjetas SD (consulta el resumen en ZDNet), esa no es la forma en que usamos las tarjetas SD en nuestro Raspberry Pi. Y cuatro tarjetas SD, nunca serán más rápidas que un SSD.
Así que si quieres un disco más rápido, conecta una unidad SSD (ahora es barato), usa un NUC o cualquier computadora, pero un clúster creeme que no es una buena idea.
¿Más núcleos de CPU?
La última idea que quiero explorar es tener una gran cantidad de núcleos de CPU con un clúster.
Y de hecho, esa es casi la única razón por la que podrías querer construir un clúster de Raspberry Pi.
Sobre todos los modelos de Raspberry Pi (en inglés) tienen una CPU de cuatro núcleos (la única excepción son Raspberry Pi 1 y Zero).
Así que si usas 4x Raspberry Pi 4 1GB, tendrás 16 núcleos disponibles por menos de 150€ (el doble del precio en Amazon).
Si cuentas en hilos, el equivalente es un Intel i7 de gama alta (algo como esto). Si no, el único procesador de Intel con 16 núcleos es actualmente el último Intel i9 Extreme Edition (diez veces más caro en Amazon).
Y es aún más difícil encontrar una alternativa si apilas más Raspberry Pi (8x Raspberry Pi son 32 núcleos!).
Nota: AMD podría ser más barato solo por los núcleos, pero realmente no conozco esta marca.
Raspberry Pi 4 vs Compute Module
Entonces sí, las únicas razones para construir un clúster de Raspberry Pi son:
- Buscar muchos núcleos de CPU (pero no se requiere rendimiento)
- Aprender cómo funciona
- Por diversión 🙂
Para completar esta parte, quiero presentar el Raspberry Pi Compute Module.
Raramente escribo sobre él porque casi no hay interés para un usuario en casa.
La idea detrás de este producto es permitir a cualquiera usar la tecnología del Raspberry Pi en otra placa base. Así que parece un Raspberry Pi zero, sin puertos externos, similar a un módulo de memoria (más detalles en Pi-Supply).
Excepto los otros usos, ¡puede ser una idea increíble construir un clúster de Raspberry Pi solo con módulos de cálculo!
Cada módulo tiene un CPU de cuatro núcleos y es más barato que la mayoría de los Raspberry Pi (revisa el enlace anterior para el precio actual).
Pero, ¿cómo construirlo si no tiene puerto Ethernet?
Necesitas una placa específica, y la Clusterboard es la perfecta para construir un clúster (disponible en Pine64).
¡Puedes enchufar 7 módulos de cálculo en ella por un precio total inferior a 300$!
¿Conoces una computadora con 28 núcleos más barata que 300$?
Yo no 🙂
Espera, ¡tengo algunas recomendaciones para ti!
Antes de continuar, te invito a descubrir algunos productos que he seleccionado cuidadosamente para ti. Creo que son esenciales para tu Raspberry Pi. Échales un vistazo y pídelos directamente en Amazon.
Una caja silenciosa y práctica | Un SSD de alto rendimiento para potenciar tu Pi | Una pantalla genial para liberar el televisor | Un teclado dedicado con touchpad |
5 Ejemplos de clústeres de Raspberry Pi
Obtiene su archivo PDF gratuito con todos los comandos que necesitas saber sobre Raspberry Pi.
Descargar
Ahora te daré cinco ejemplos de clústeres con Raspberry Pi, para que puedas tener una mejor idea de cómo usarlos y por qué.
Clúster Básico
El primero es solo para construir tu primer clúster. No hay un objetivo final específico con él, excepto aprender cómo funciona.
Por ejemplo, si tienes dos Raspberry Pi en casa (de cualquier modelo), puedes seguir mi tutorial para probar esto (en inglés).
Tendrás un nodo maestro y un segundo nodo.
En este ejemplo básico, estoy usando la biblioteca de Python: MPI4PY
De esta manera puedes ejecutar cualquier comando en ambos nodos.
Ejecutar un comando dos veces no es realmente útil, pero en caso tengas algún script que pueda ejecutarse en varios núcleos, ya es una buena demostración.
Docker
Las dos siguientes son más tecnologías que ejemplos, pero es importante saber cómo funcionan en la parte del software.
Docker es una tecnología que te permite ejecutar una aplicación en un entorno aislado en cualquier sistema operativo.
Este entorno se llama un contenedor, es un poco como una máquina virtual si quieres.
Puedes tener varios contenedores en el mismo ordenador.
Docker ha sido creado para facilitar la vida de los desarrolladores. Es más fácil programar, desplegar y ejecutar aplicaciones con él que adaptarse a cada sistema.
Pero Docker también incluye características de clustering, que son fáciles de instalar en un clúster.
I’m writing a blog post on @docker and @Raspberry_Pi – it’s probably never been easier to create a cluster and deploy code pic.twitter.com/KD2MIIrAx9
— Alex Ellis (@alexellisuk) August 19, 2017
No tengo un tutorial sobre esto, pero tú puedes leer este que lo explica todo
Kubernetes
Kubernetes es el siguiente paso una vez que domines qué es Docker y cómo funciona.
En el tutorial anterior, tú habrás visto que usamos Docker para gestionar la aplicación, y Swarm para usarlo en varios nodos.
Kubernetes es como una actualización de Swarm, con más características para escalar, ejecutar y monitorear las aplicaciones.
Yo nunca lo he probado aún, así que no te daré más detalles sobre esto, pero tú puedes encontrar muchos tutoriales en la web sobre esto (para Raspberry Pi o Linux en general).
Por ejemplo, hay un tutorial paso a paso en el sitio web oficial.
Supercomputadora
Vamos a algo más concreto ahora.
Una vez que entiendas y experimentes los conceptos básicos del clúster, tú puedes empezar a pensar en grande. Es casi el mismo proceso, repetido muchas veces 🙂
En esta foto, puedes ver la Supercomputadora del laboratorio de Los Alamos (fuente: ExtremeTech). Está construida con nada menos que 750 Raspberry Pi.
Los científicos usan este asombroso clúster constantemente.
El costo total es menos de 20,000$, y sobre todo, la energía necesaria es 5,000 veces menor que otros supercomputadoras. Sí, no tiene el mismo rendimiento, pero ya son 3,000 núcleos de CPU disponibles, y están contentos de tenerlo para tareas “pequeñas”.
Así que para necesidades específicas y bajo presupuesto, es realmente un buen ejemplo de lo que se puede hacer con muchos Raspberry Pi.
Servidor web
No es un ejemplo muy diferente, pero como un ejemplo más concreto, también puedes usar un clúster para ejecutar un servidor web.
Por cierto, es exactamente lo que la Fundación Raspberry Pi hizo para el lanzamiento del Raspberry Pi 4
Usan un clúster con 18 Raspberry Pi 4 para demostrar que un clúster puede hacer el trabajo de alojar una buena parte de su tráfico web para un día de lanzamiento.
Nada sofisticado en términos de tecnología, solo Apache y PHP para la parte web.
Sí, Apache puede ejecutarse en varios servidores y hacer algo de balanceo de carga nativo (todos los detalles aquí).
Si te interesa este proyecto, hay una publicación en el blog en el Blog de Raspberry Pi.
Mythic beats es el anfitrión que usaron. Por cierto, se pueden probar sus servicios aquí.
Obtiene su archivo PDF gratuito con todos los comandos que necesitas saber sobre Raspberry Pi.
Descargar
Pregunta relacionada
Obtiene su archivo PDF gratuito con todos los comandos que necesitas saber sobre Raspberry Pi.
Descargar
¿Puedo usar un clúster de Raspberry Pi para jugar? Aunque la idea es correcta, ejecutar un juego en un clúster requiere que el juego esté escrito para ello. Actualmente, la mayoría de los productos no están optimizados para esto. Incluso los servidores de juegos, en su mayoría usan un CPU a la vez.
Además, no olvides que estás en Linux, con una CPU de gama baja, no tanta RAM y sin tarjeta gráfica para juegos.
Obtiene su archivo PDF gratuito con todos los comandos que necesitas saber sobre Raspberry Pi.
Descargar
Conclusión
Eso es todo, ahora tienes una mejor idea de qué es un clúster de Raspberry Pi y qué puedes hacer con él.
Si estás interesado, puedes seguir mi tutorial aquí (en inglés) para construir tu primer clúster!
Cuando estés preparado, aquí tienes un atajo para ti:
Domina tu Raspberry Pi en 30 días: Si buscas los mejores consejos para convertirte en un experto en Raspberry Pi, este libro es para ti. Aprende habilidades útiles de Linux y practica múltiples proyectos con guías paso a paso.