The Byte Pi Cluster(2.0) is a Raspberry Pi-based mini cluster designed for AI computing and educational purposes. This project aims to provide a platform for learning about clustering, distributed systems, and high-performance computing using low-cost, readily available hardware.
Figures:
- Scalable Architecture: Easily expand the cluster by adding more Raspberry Pi nodes.
- Centralized Management: A headnode for managing the cluster and deploying tasks.
- Network File System (NFS): Shared storage among all nodes for seamless data access.
- Static IP Configuration: Ensures reliable network connectivity and simplifies management.
- FRP: Secure access to each node by headnode. And headnode can be access with FRP service.
- Headnode: Raspberry Pi 5 with 8GB RAM, acting as the master node.
- Compute Nodes: Multiple Raspberry Pi 4 devices with 4GB RAM. And a Raspberry Pi 5 devices with 8GB RAM connect with a
AMD RX580 GPU13 TOPS Hailo-8L chip - Networking: All nodes connected via a network switch.
- Storage: External 500GB SSD connected to the headnode, shared across the cluster via NFS.
- AI Accelerator: The AI module is a 13 tera-operations per second (TOPS) neural network inference accelerator built around the Hailo-8L chip.
GPU: AMD RX580 provides better image & video processing capabilities as well as a potential general-purpose computing power boost.
- Operating System: Ubuntu Server 24.04.3 LTS(64 bit) on all nodes.
- NFS: Network File System for shared storage.
- Static IPs: Each node is assigned a static IP for consistent network configuration.
- SSH: Enabled on all nodes for secure access and management.
- FRP: Allowed public network access without have public IP.
- Hailo Hailo driver and library for computing.
- GPU Support: GPU acceleration (currently support amd polaris).
- Setup: Follow the setup instructions to configure the Raspberry Pi nodes and connect them to the network.
- Deployment: Use the headnode to deploy tasks and manage the cluster.
- Expansion: Add new nodes to the cluster as needed by configuring their static IPs and connecting them to the network.
- K8 / SLURM: I want a cluster management or scheduler system
- TinyLLM: Maybe we can do some inference work here.
- Distributed Training Framework: Is it possible to finetune a LLM use Pi? I may need someting to figure out.
If you have any questions or need further assistance, you can use Github Issues to raise issues. I'll get back to you as soon as I can. And If you have any good idea or something want to let me know, please feel free to contact me:
- Name: Yuwei Sun / 孙钰伟 (my Chinese name)
- Email: [email protected]
Thanks for these outstanding open source projects:
- Pi OS linux kernal: https://github.com/raspberrypi/linux
- FRP(fast reverse proxy): https://github.com/fatedier/frp
- Raspberry Pi PCI Express device compatibility database: https://pipci.jeffgeerling.com/
- Hacker’s guide to the Raspberry Pi AI kit on Ubuntu [https://ubuntu.com/blog/hackers-guide-to-the-raspberry-pi-ai-kit-on-ubuntu]https://ubuntu.com/blog/hackers-guide-to-the-raspberry-pi-ai-kit-on-ubuntu
- …….

