ฉันแนะนำให้ดูที่Dispy - โมดูลการคำนวณแบบหลามแบบกระจาย
ในการรันโปรแกรมบน 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
แล้วเรียกใช้รหัสหลามต่อไปนี้:
#!/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
ด้วยฟังก์ชั่หลาม - compute
เช่น
คุณยังสามารถรวมการพึ่งพาเช่นวัตถุหลามโมดูลและไฟล์ (ซึ่งdispy
จะถ่ายโอนไปยังแต่ละโหนด) โดยการเพิ่มdepends=[ClassA, moduleB, 'file1']