Personal tools
You are here: Home Howto BOINC

About BOINC

An overview of the Berkeley Open Infrastructure for Network Computing

What is BOINC?

The Berkeley Open Infrastructure for Network Computing (BOINC) is a simple tool for using processing power on idle computers -- it allows you to run computations on computers while they are doing nothing else, but are currently on, for example when the computer is running a screensaver. This concept, called ``grid computing'', lets you run quite a few problems on hundreds or thousands of (relatively light-weight) computers, instead of one or a handful of rather powerful machines. The total of course depends on the number of systems who have joined the boinc grid.

BOINC is designed with volunteering in mind; a BOINC project may be set up so that anyone may elect to donate their computing time to a project. Because of this, BOINC has been designed to be secure and easy to install on many computers. BOINC is used in this capacity by the University of California, Oxford University, CERN, et al.

However, BOINC has been designed so that it may also be used inside of a single organization; a single university or company can install BOINC on their computers without worrying about running a publicly facing service. It is used like this by CERN and the US Department of Defense.

What does BOINC do?

BOINC consists of two parts, a client and a server. The server contains all the programs and data that you would like to run on spare, idle machines. All the clients talk to this server, and download exactly one program and one piece of data that the server decides upon, and run it at their convenience. When a client is done running the program it has been asked for, it talks to the server again, sending the results on in.

BOINC also provides a library of code for programmers to use in their programs for BOINC. This library doesn't do that much -- it simply offers a consistent way of doing a few common tasks on a number of different operating systems, and lets the program get a small bit of data from the BOINC client. Because this library is so simple, it is not hard to take a program and make it into a BOINC program.

Because BOINC is designed with volunteers in mind, it may run the same task more than once. It does this to verify that the results it gets are correct, since it is perfectly possible for some poorly-maintained computer to calculate something wrong. By running the same task multiple times, a BOINC server can have a reasonable assurance that it is, in fact, getting correct results.

What is BOINC good for?

BOINC is most useful for tasks where the same program is run on many pieces of data. For example, you may have a few thousand files of numbers, and you want to find the average of each one. BOINC can do this quickly and easily, simply by letting a few thousand computers each do the task.

Installing a client

We provide clients preconfigured to point at our BOINC server for Windows, Linux, and Mac OS. You may request to have a BOINC client
installed on your system here, or to have it installed in your lab here.

Porting your code

We can help port code, test programs, and get your code running on lab computers or on volunteer systems on the Internet; you may request help with this here.

Document Actions
« March 2010 »
March
MoTuWeThFrSaSu
1234567
891011121314
15161718192021
22232425262728
293031