Clustered Computing with Raspberry Pis: A Practical Guide to Building and Experimenting with Raspberry Pi Cluster with pictures (Full color Edition) (Raspberry Pi Systems)
ANT
• Instant access to your digital edition.
• Read anytime, anywhere, on your favorite device.
• No shipping — your book is delivered digitally.
• Simple, secure access after purchase.
Instant digital delivery after purchase.
Discover another great read to add to your digital library.
Description
Build a real Raspberry Pi computing cluster—and learn what makes parallel computing work.
Clustered Computing with Raspberry Pi is a practical, hands-on guide for readers who want to understand cluster computing by building and measuring a working multi-node system. It takes you from the fundamentals of distributed and parallel computing to a fully assembled Raspberry Pi cluster that can run MPI programs across multiple machines.
What you will learn and build
• Understand cluster computing, parallel programming, distributed memory, shared memory, speedup, efficiency, scalability, and parallel overhead.
• Work with a practical hardware design built around a Raspberry Pi 3B+ host, four Raspberry Pi Zero 2W compute nodes, and a Waveshare ESP32-S3 Mini configured as the cluster's dedicated Wi-Fi Access Point.
• Set up the system headlessly using Debian, static networking, passwordless SSH, shared NFS storage, time synchronization with Chrony, and OpenMPI.
• Learn essential Linux command-line and system-management techniques needed to administer the host and compute nodes remotely.
• Create automation tools for cluster shutdown and reboot, time synchronization, connectivity checks, centralized updates, uptime reporting, temperature and power monitoring, load visualization, and cluster management.
• Write and run MPI programs, including a matrix-multiplication workload, using hostfiles and the mpirun workflow.
• Measure real performance rather than relying on theory. The book compares 2-, 3-, and 4-node configurations using Real, User, and Sys time, then analyzes speedup, efficiency, and overhead.
• Understand why adding processors or nodes does not always make a program faster. Real experimental results reveal the effects of Wi-Fi latency, communication and synchronization overhead, NFS activity, process placement, oversubscription, load imbalance, and thermal or resource limitations.
• Finish with the physical construction of the cluster, including component placement, drilling, wiring, power distribution, cooling, status indication, and the final enclosure assembly.
This is not a purely theoretical introduction. The book follows an experimental, measurement-driven approach: build the system, configure it, run workloads, inspect the results, identify bottlenecks, and improve the design. The goal is not simply to make a cluster run, but to help you understand why it behaves the way it does.
Who is this book for?
It is aimed at hobbyists, makers, students, instructors, Linux users, and developers who want an affordable platform for learning parallel and distributed computing. A basic familiarity with Raspberry Pi and Linux is helpful, but the book introduces the main cluster and parallel-computing concepts before using them in practice.
Companion GitHub Repository
The accompanying GitHub repository contains the scripts and configuration files used throughout the book for system setup, cluster automation, management, and experiments. You can follow the examples, reproduce the workflows, and adapt the code to your own Raspberry Pi cluster:
https://github.com/toni675/Clustered-Computing-with-Raspberry-Pis
By the end, you will have followed the complete path from cluster theory and Linux administration to MPI programming, performance analysis, and a physical four-node Raspberry Pi cluster.
Specifications
Frequently asked
Do I need an account to download?
No. After purchase, you can access your ebook directly from the order confirmation or download page.
What if a copy arrives damaged?
Contact us and we’ll help you access the file or provide a replacement download if needed.