Cómputo paralelo en el clúster PicoCray RP2040
[ExtremeElectronics] demuestra hábilmente que si un Raspberry Pi Pico es bueno, nueve deben ser increíbles. O PicoCray El proyecto conecta varios módulos de microcontrolador Raspberry Pi Pico en una arquitectura paralela, aprovechando una autobús I2C para comunicarse entre nodos.
El mismo código PicoCray se ejecuta en todos los nodos, pero un pin conectado a tierra en uno de los módulos Pico indica que debe funcionar como el nodo controlador. Todos los nodos restantes funcionan como nodos de procesador. Cada nodo del procesador implementa una técnica de selección aleatoria para solicitar una dirección del controlador en el bus compartido. Después de esperar una cantidad aleatoria de tiempo, un procesador verificará si se está utilizando el bus. Si el bus está en uso, el procesador volverá a esperar. Si el bus no está en uso, el procesador puede solicitar una dirección del controlador.
Una vez que un nodo procesador tiene una dirección, puede recibir tareas del nodo controlador. En la aplicación de ejemplo, estas tareas involucran elementos de cómputo del Conjunto de Mandelbrot. Los elementos particulares que se calcularán en una tarea dada son asignados por el nodo controlador, que posteriormente recopila los resultados de cada nodo procesador y agrega los resultados para su visualización.
El nombre de este proyecto está inspirado en Seymore Cray. La biografía de Our Father of the Supercomputer cuenta su historia, incluido por qué se ha hecho referencia a la supercomputadora Cray-1 como «el sofá de dos plazas más caro del mundo». Para obtener aún más inspiración de Cray-1, echa un vistazo a este Raspberry Pi Zero Cluster.