En los últimos años, han aparecido algunos artículos en línea sobre la construcción de un grupo de computadoras en el hogar, por ejemplo , aquí .
El Pi me parece una buena plataforma para construir / probar este tipo de cosas debido a su bajo costo; ¿deberían las guías "genéricas" como esta transferirse al Pi con bastante facilidad, o hay algo específicamente que debería tener en cuenta al intentar un proyecto de este tipo?
Respuestas:
Sugiero mirar Dispy , el módulo de cálculo distribuido de Python.
Para ejecutar un programa en una cantidad de Raspberry Pi (nodos) desde una PC (servidor: suponga que IP es
192.168.0.100
):Instale un sistema operativo en cada RasPi
Adjunte cada RasPi a su red. Encuentre la IP (si es dinámica) o configure IP estáticas.
(Supongamos que tiene tres nodos y sus IP son
192.168.0.50-52
)Configure Python (si aún no lo está), instálelo
dispy
y luego ejecútelodispynode.py -i 192.168.0.100
en cada RasPi. Esto le indicará a dispynode que reciba información del trabajo del servidor.En la PC (el servidor), instale
dispy
, luego ejecute el siguiente código de Python:También puede reemplazar
/some/program
con una función de Python, por ejemplocompute
.También puede incluir dependencias como objetos, módulos y archivos de Python (que
dispy
se transferirán a cada nodo) agregandodepends=[ClassA, moduleB, 'file1']
fuente
Debe tener en cuenta el trabajo que ya se ha realizado: incluso hay un nombre para un grupo de RasPi boxen. El Linux Wiki Embedded dice una zarza se define como "un conglomerado Beowulf de dispositivos de Frambuesa Pi". Raspberry Pi Homebrew tiene varias publicaciones sobre Brambles , y también puede ver el foro de la Fundación .
fuente
Algunos muchachos de Southampton Uni han reunido un grupo y escrito una descripción detallada de su trabajo en http://www.southampton.ac.uk/~sjc/raspberrypi/ .
fuente
Es completamente posible, pero el mayor problema es la accesibilidad. Es una idea que no solo pensaría viable, sino útil, ya que podría ir con la idea de la computación paralela portátil. En cuanto a los detalles, los lenguajes de codificación como FORTRAN y C ++ funcionarán mejor.
Mire beowulf.org para más información sobre computación en clúster
fuente
Esta es la respuesta a la publicación anterior de Guido García con respecto a 'dispy': no puedo encontrar la manera de responder a su publicación.
Cuando un programa ('/ bin / ls') se distribuye con 'dispy' para ejecución paralela, ese programa en la máquina cliente se transfiere a cada uno de los nodos (a '/ tmp'). Esto es para que el programa desarrollado por el usuario en la máquina del cliente se transfiera sin tener NFS o algún directorio compartido. Esto funciona con programas binarios solo cuando los nodos y las arquitecturas del cliente son compatibles. En su caso, supongo que la arquitectura del cliente es diferente de la de los nodos remotos y que un nodo no puede ejecutar el '/ bin / ls' binario transferido desde el cliente. Si desea ejecutar / bin / ls en cada nodo, puede ser más fácil escribir una función o programa de Python para imprimir el directorio (por ejemplo, usando os.listdir) y distribuirlo en lugar del ejecutable binario.
fuente
También hay http://pi.interworx.com si desea un panel de control con todas las funciones. Tienen instrucciones en esta página sobre cómo replicar, pero tendrá que ser paciente ya que ese subdominio se ejecuta desde un clúster Rasberry Pi. Aquí hay una foto en caso de que se caiga:
http://www.facebook.com/photo.php?fbid=596262440393836&set=a.244167858936631.60071.170159826337435&type=1
fuente