Cuando uno habla de clústeres se imagina gigantescas instalaciones con grandes y pesadas máquinas que además de ocupar un enorme espacio también tiene una capacidad de computación asombrosa. Todo evoluciona, y hace tiempo que el concepto de clúster se puede aplicar a proyectos mucho más modestos pero igualmente sorprendentes.
Es precisamente lo que la empresa japonesa Idein ha logrado con su PiZero Cluster, una placa base que sirve como pilar fundamental de la creación de un clúster en el cual es posible conectar 16 Raspberry Pi Zero, esos diminutos PCs con los que los creadores de la Raspberry Pi nos sorprendieron hace pocas semanas.
Un cluster de bajo coste a tu disposición
La placa PiZero Cluster tiene 32 puertos microUSB para ofrecer tanto la conexión de corriente como la de datos, además de dos puertos USB para cada tarjeta RPi Zero y 16 conectores RJ45 para poder ofrecer conectividad Ethernet 10/100. Aunque no se ha desvelado aún el coste de la placa, esas 16 Raspberry Pi Zero tienen un coste de tan solo 80 dólares (cinco dólares cada una), algo casi ridículo para un concepto como un clúster.
El responsable de la idea, Koichi Nakamura, mencionaba que el objetivo de este experimento es poder aprovechar la capacidad combinada de las CPUs y GPUs de todas las Raspberry Pi Zero para una solución con diversos sensores en la que están trabajando, además de para poder grabar información en las memorias eMMC de sus dispositivos a través de los puertos USB de esta placa.
Aunque la placa ya está funcionando no han podido probarla como ellos querrían, y el problema es el que tenemos todos: no hay suficientes Raspberry Pi Zero en el mercado. La demanda es tan elevada que la Raspberry Pi Foundation, a pesar de estar fabricándolas en masa, no da abasto.
¿Qué podemos hacer con un clúster basado en Raspberry Pi Zero?
Por definición un clúster de ordenadores es un conjunto de máquinas que trabajan juntas y que en muchos aspectos podrían contemplarse como un único sistema. Este tipo de sistemas es distinto de la computación grid ya que en los clústeres todos los nodos ejecutan la misma tarea que es controlada y planificada por software.
Aunque tradicionalmente este tipo de sistemas han estado dirigidos a las grandes empresas y a grandes supercomputadores -el IBM Sequoia, el tercer supercomputador más potente del mundo según la lista TOP500 es uno de ellos- hace tiempo que es posible crear clústeres "domésticos". En Linux son muy conocidos los clústeres Beowulf que permiten entre otras cosas reaprovechar viejos equipos para desarrollar soluciones como las de este singular clúster integrado en una cajonera de IKEA de 30 dólares.
Hay dos grandes ventajas en estos sistemas. La primera, la potencia combinada que permite trabajar en problemas con mucha más capacidad de proceso a nuestra disposición. La segunda, la tolerancia a fallos: aunque uno de los nodos (en nuestro caso, de las Raspberry Pi Zero) deje de funcionar, el sistema mantendrá su funcionamiento, pero además son sistemas fáciles de escalar y de gestionar.
Hay muchas aplicaciones para este tipo de clústeres, y entre ellas está cualquier tarea especialmente exigente en recursos de computación que se pueda paralelizar. Aquí hay numerosos ejemplos que dejan claro que cuantos más "trabajadores" pongamos manos a la obra, más rápido se obtendrán resultados.
Estos clústeres son precisamente ideales para experimentar con computación paralela, una disciplina altamente especializada que tiene aplicaciones en todo tipo de ámbitos. Uno de ellos es especialmente notorio en los últimos tiempos: la minería bitcoin es perfectamente factible en clústeres como el que estamos plateando, y de hecho ya hay tutoriales que precisamente ofrecen este tipo de alternativa con clústeres menos ambiciosos también basados en las Raspberry Pi.
También es posible aprovechar estos clústeres para tareas servidoras que ganarán en capacidad y eficiencia gracias a esa escalabilidad y tolerancia a fallos, pero hay otro ámbito especialmente interesante. Ahora que la investigación en inteligencia artificial está a la orden del día, podremos plantear nuestras propias soluciones en este ámbito combinando plataformas como TensorFlow con este tipo de clústeres. Aunque TensorFlow no está especificamente preparado para las Raspberry Pi, es posible utilizarlo allí siguiendo estas instrucciones. Y este es como decimos uno de los posibles usos de estos sistemas tan curiosos.
De un proyecto paralelo a un producto comercial
Aunque la idea original no era esa, Nakamura ha recibido tal cantidad de comentarios y sugerencias que han convertido este proyecto en uno de sus futuros productos a comercializar, y de hecho están preparando una campaña de financiación colectiva en la que teóricamente ofrecerán el primer lote de estas placas esta misma primavera.
We've decided to start a crowd funding of PiZero Cluster Board (improved one) very soon. We will try hard to deliver 1st lot in this spring.
— Koichi Nakamura (@9_ties) January 25, 2016
La idea de Nakamura no es nueva: desde que aparecieron estos miniPCs han ido apareciendo diversas iniciativas que han demostrado que las Raspberry Pi pueden hacer cosas sorprendentes no solo de forma individual, sino también combinándolos en este formato. Ya hace unos meses aparecían por ejemplo tutoriales como este para combinar cuatro Raspberry Pi de forma relativamente sencilla y aprovechar sus prestaciones de forma conjunta.
Esa idea fue a mucho más con creaciones como las de la empresa Resin.io que hace tiempo que trabaja en este tipo de soluciones con la Raspberry Pi. Su "Beast 2" está en pleno desarrollo tras el éxito de su primer clúster, un verdadero "minimonstruo" en el que lograron combinar 120 Raspbery Pi. Está claro: ya no solo podéis disfrutar de vuestros miniPCs: también de vuestros miniclústeres.
Vía | CNXSoft
En Xataka | Raspberry Pi, presente y futuro del mini ordenador que está revolucionando el sector