Я предлагаю взглянуть на Dispy - модуль Python для распределенных вычислений.
Чтобы запустить программу на нескольких Raspberry Pi (узлах) с ПК (сервер - предположим, что IP есть 192.168.0.100
):
Установите операционную систему на каждый RasPi
Подключите каждый RasPi к вашей сети. Найдите IP-адрес (если он динамический) или настройте статический IP-адрес.
(Давайте предположим, что у вас есть три узла, и их IP-адреса 192.168.0.50-52
)
Установите Python (если еще нет), установите dispy
, а затем запустите dispynode.py -i 192.168.0.100
на каждом RasPi. Это сообщит dispynode о получении информации о задании с сервера.
На ПК (сервере) установите dispy
и запустите следующий код Python:
#!/usr/bin/env python
import dispy
cluster = dispy.JobCluster('/some/program', nodes=['192.168.0.50', '192.168.0.51', '192.168.0.52'])
Вы также можете заменить /some/program
на функцию Python - например compute
.
Вы также можете включить зависимости, такие как объекты Python, модули и файлы (которые dispy
будут передаваться на каждый узел), добавивdepends=[ClassA, moduleB, 'file1']