volunteer computing — the practice of donating idle computing power to help solve real-world scientific and humanitarian problems.
Early pioneers like GIMPS and distributed.net paved the way for modern platforms that aggregate these resources into powerful virtual supercomputers, enabling research otherwise impossible.
Below is the curated list of awesome platforms, projects, and tools for volunteer computing
- Platforms & Infrastructure
- For Developers
- Volunteer Projects
- Research & Papers
- Communities & Forums
- Related Concepts
- Articles & Videos
- Contributing
Volunteer computing systems people can join or build on top of.
- 🌸 Petals – Peer-to-peer network that runs large language models (LLMs) like BLOOM across distributed GPUs and contributors’ machines.
- 🧱 Exo – Run your own AI cluster at home with everyday devices. Unifies existing devices (iPhone, iPad, Android, Mac, NVIDIA, Raspberry Pi) into one powerful distributed GPU for running various AI models including LLaMA, Mistral, and LlaVA
- 🧩 BOINC – The gold standard in open-source volunteer computing, powering dozens of scientific research projects.
- 🖥️ GridRepublic – A user-friendly frontend for managing BOINC projects and participation.
- 💡 Charity Engine – Turns donated computing power into charitable donations or rewards for users.
- 🧪 XtremWeb – Research platform for global distributed computing used by academic institutions.
- 📲 DreamLab – Vodafone Foundation’s mobile app that powers medical and nutritional research while your phone charges.
- 🕸️ distri.js.org – A minimalist JavaScript framework enabling distributed computing inside any modern web browser using Web Workers.
- 🐼 Pando – A personal volunteer computing platform for the Web, allowing easy setup for personal or shared computations via JavaScript. (See Paper)
Libraries, SDKs, and tools for building or contributing to volunteer computing systems.
- 🧰 BOINC Development Resources – Comprehensive guide covering the SDK, APIs, server/client setup, and creating BOINC-compatible applications.
- 🌸 Flower – A federated learning framework that enables training machine learning models across distributed devices while preserving data privacy. Supports PyTorch Lightning and other ML frameworks
- 🌳 webrtc-tree-overlay – A library for building scalable WebRTC P2P mesh networks in a tree overlay structure, useful for browser-based distributed applications.
- 🔧 Volunteer Grid Toolkit (VGT) – A toolkit for experimenting with volunteer grid computing concepts. Note: Check project activity/relevance.
- 🔗 GridCoin Developer Information – Resources for integrating blockchain-based incentives (GridCoin) with distributed computing (primarily BOINC).
Scientific and research projects powered by public computing contributions.
- 🔬 Folding@home – Simulates protein folding to better understand diseases like cancer and Alzheimer’s.
- 🧬 Rosetta@home – Predicts protein structures and supports synthetic biology innovation.
- 🌱 World Community Grid – Runs humanitarian research on health, sustainability, and climate change.
- 🌌 Einstein@Home – Searches for gravitational waves and pulsars in massive astrophysical datasets.
- 🪐 Asteroids@Home – Reconstructs asteroid shapes based on brightness curve analysis.
- 👽 SETI@home – Based at UC Berkeley, a scientific experiment to Search for Extraterrestrial Intelligence (SETI)
- 💥 LHC@home – Simulates CERN’s Large Hadron Collider experiments to advance particle physics.
📘 Wikipedia: List of Volunteer Computing Projects – A comprehensive and categorized list of past and present volunteer computing projects.
Academic insights and deep technical dives into distributed volunteer computing.
- 📄 BOINC: A Platform for Volunteer Computing (D. Anderson, 2019) – Describes the architecture, features, and implementation of the widely used BOINC middleware.
- 📈 The Computational and Storage Potential of Volunteer Computing (D. Anderson & G. Fedak, 2006) – Analyzes measurements from ~330k hosts to assess the capacity of volunteer computing beyond CPU power.
- ⚙️ Research on the Task Assignment Problem with Maximum Benefits in Volunteer Computing Platforms (L. Wang et al., 2020) – Explores task scheduling strategies for maximizing benefits in VCPs considering deadlines.
- 👥 Retaining volunteers in volunteer computing projects (D. Nov, O. Arazy, D. Anderson, 2011) – Investigates factors influencing volunteer retention and contribution levels.
- 💡 Personal Volunteer Computing (S. Cahon et al., 2018) – Proposes a more personal, web-based approach to volunteer computing and introduces the Pando platform.
- ❤️ Volunteer computing: A model of the factors determining contribution to community-based scientific research (O. Nov, D. Anderson, O. Arazy, 2010) – Develops and tests a model of user motivation based on SETI@home survey data and activity logs.
- 📄 Improving the Productivity of Volunteer Computing" (Toth, 2008) – Examines task retrieval policies and techniques to increase productivity.
Places to ask questions, meet contributors, or follow development.
- 💬 BOINC Message Boards
- 📢 Reddit: r/BOINC
- 🗨️ BOINC Discord
- (Project-specific forums, like Folding@home's, also exist)
Resources to learn more about the real-world impact and concepts of volunteer computing.
- 📰 What is Volunteer Computing? – TechRadar – General overview article.
- 🌐 Volunteer computing - Wikipedia – Comprehensive encyclopedia article.
- CERN Explainer: What is volunteer computing? | LHC@home – Explanation from the perspective of a major project.
- Khan Academy: Citizen science (article) – Discusses volunteer computing as a form of citizen science.
Areas closely related to or overlapping with volunteer computing.
- Citizen Science: Public participation in scientific research, often involving data collection or analysis. Volunteer computing is sometimes considered a sub-field.
- Zooniverse: Popular platform for web-based citizen science projects (classification, transcription).
- SciStarter: Hub for discovering citizen science projects.
- Distributed Computing: General term for systems where components are located on different networked computers, communicating and coordinating actions.
- Grid Computing: Often involves more formal resource sharing agreements and infrastructure, typically within or between organizations, compared to the public volunteer model.
- Federated Learning: A machine learning technique that trains algorithms across multiple decentralized edge devices or servers holding local data samples, without exchanging them. Shares principles with volunteer computing regarding utilizing distributed resources.
Found a project we missed? Want to improve descriptions or links? Contributions welcome! Please see CONTRIBUTING.md for how to get started.
CC0 1.0 Universal (Public Domain Dedication)
Inspired by awesome, the community-driven standard for curated knowledge.