BOINC Development
From Unofficial BOINC Wiki
Contents |
[edit] General
If you're a scientist with a computationally-intensive task, you may be able to use the BOINC System.
A BOINC Powered Project requires just a single Linux (or other version of UNIX) server, and can provide computing power equivalent to a cluster with tens of thousands of nodes all provided through computers under your control or provided by Volunteer Participants, or both.
[edit] Document Cross-Reference Matrix
At the moment, we have two main sites documenting the BOINC System and this can lead to some small amount of confusion. To help everyone interested straight, I created a cross-reference matrix that shows the information pages relationship between the UCB Site and the Unofficial BOINC Wiki. This will allow you to check to see if there is information on the UCB Site that has not yet been added to the Unofficial BOINC Wiki.
- Note:
- The Wiki, in general, will have more pages, more complete pages, and in most cases more up-to-date pages. Also, the nomenclature used and the cross-referencing in the Unofficial BOINC Wiki is far more complete.
[edit] Designing Distributed Computation Systems Using the BOINC System
BOINC's abstractions of data and computation are covered in these following topics.
[edit] Introduction
- Features of the BOINC System
- A BOINC seminar by Juan Antonio Lopez Perez of CERN (PDF, print version), presented at CIEMAT in Madrid, November 2005.
[edit] The Basics of Designing Distributed Computing Systems With BOINC
- What Applications are Suitable for BOINC?
- Basic Concepts
- Work Distribution
- Trickle Message
- Security in BOINC
[edit] Introduction to Creating a BOINC Powered Project
The components of a BOINC Powered Project, and how to create them.
- What is a BOINC Powered Project?
- BOINC Coding Style Guideline
- Make Project Script
- Using Project Control Scripts
- Adding Applications or Platforms to a BOINC Project: XADD Tool
- Recommended Code-Signing Practices
- Adding Application Versions
- Operating or Developing a BOINC Web Site
- Upgrading a Project's Server Software
[edit] Introduction to Developing a BOINC Application
How to develop or port an Application program for use with the BOINC System.
- The BOINC Application Programming Interface
- BOINC Data Structures
- Application Development
- Suggestions for Application Debugging
[edit] Introduction to Developing BOINC Client Software
This material talks about how you can work on and add functionality to the BOINC Client Software.
- BOINC Coding Style Guideline
- BOINC Client Software/Science Application Interaction - No Graphics
- BOINC Client Software/Science Application Interaction - With Graphics
- BOINC Client Software Structures
- Main Loop Logic
- Client Scheduling Policies Work Scheduler
- BOINC Client Software Debugging
- Debugging
- Host Measurements
- Host Identification and Merging
- The Windows Installer
- Language Customization of the BOINC Manager
- Version History of The BOINC Client Software
[edit] Creating a BOINC Powered Project
[edit] System Configuration and Set-Up
- Software Prerequisites for Hosting a BOINC Project
- Installing and Configuring the Software Prerequisites
- Eric Myers' BOINC Developers' Notes (temporary conversion page until all his content is migrated)
- Installing and Configuring the Software Prerequisites on Linux/UNIX
- Installing and Configuring the Software Prerequisites on OS-X
- Getting the BOINC Source Code
- Building BOINC on Unix
[edit] Platform-Specific Cookbooks
- Project Creation Cookbook
- Another Project Creation Cookbook (from Don Bashford)
- An Application Development Cookbook (courtesy of Eric Myers from Vassar)
- Building BOINC and BOINC Applications on Mac OS X , ( link to SVN )
- Building BOINC Applications on Windows
- Building BOINC and BOINC Applications on Linux
- Linux Install Notes (out of date)
- Debian Linux Packages Needed (out of date)
More in-depth:
- Road Map of the BOINC Software's Source Code
- The BOINC Build System
- Building the BOINC Server Components
- Building the BOINC Client Software
- Using the Test Framework for BOINC
- Build Instructions for a SSL (Secure Socket Layer) Client
[edit] Running A BOINC Powered Project and Getting Work Done
How to generate and distribute Work Units and handle the Results returned.
[edit] Operation of Server-Side Components
- Information About Server Programs
- BOINC Server-Side Daemon Programs:
- Generating Work
- Result Processing
- Server-Side File Deletion
- Database Purging Utility
[edit] Monitoring and Controlling a BOINC Powered Project
Tools for monitoring a BOINC Powered Project include:
- Administrative Web Interface
- Using Project Control Scripts
- Watchdog System
- Stripcharts: A Tool for Viewing Time-Varying Data
- Recording Data for Stripcharts
[edit] Managing Distributed Data
Using disk space on participant hosts
- Uploading a File From a Client Host
- Uploading a File List From a Client Host
- Downloading Files to a Client Host
- Deleting Files on a Client Host
[edit] The Project Web Site
Communicating with participants via the web
- Managing the Project Web Site
- Add Project-Specific Links to the Client GUI (a.k.a. GUI URLs)
- Web Site Translation
- Server Status
[edit] Miscellaneous
- Integrating BOINC Projects with Grids
- Python Scripting Framework
- Preferences
- Preferences Implementation Logic
- Trickle Message
- How to See What Has Changed Between Two Versions of an Executable
- Account Management Systems
- Specification Information for RPMs
[edit] "How-To" Documentation
[edit] UCB Source
[edit] Copyright ©
- 2005 University of California
- 2005 Paul D. Buck
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
RSS Feeds

