-
Notifications
You must be signed in to change notification settings - Fork 443
How BOINC works
It's easy to participate in a BOINC project: download and install BOINC. You will be asked to select a project and enter your email address and a password. That's it!
When you run BOINC on your PC, it does the following:
![How BOINC works](https://github.com/BOINC/boinc/wiki/images/Comm_simple3.png)
- Your PC gets a set of tasks from the project's scheduling server. The tasks depend on your PC: for example, the server won't give it tasks that requires more RAM than you have. Projects can support several applications, and the server may send you tasks from any of them.
- Your PC downloads executable and input files from the project's data server. If the project releases new versions of its applications, the executable files are downloaded automatically to your PC.
- Your PC runs the application programs, producing output files.
- Your PC uploads the output files to the data server.
- Later (up to several days later, depending on your preferences) your PC reports the completed tasks to the scheduling server, and gets new tasks.
This cycle is repeated indefinitely. BOINC does this all automatically; you don't have to do anything.
The project's server keeps track of how much work your computer has done; this is called credit. To ensure that credit is granted fairly, most BOINC projects work as follows:
- Each task may be sent to two computers.
- When a computer reports a result, it claims a certain amount of credit, based on how much CPU time was used.
- When at least two results have been returned, the server compares them. If the results agree, then users are granted the smaller of the claimed credits.
![Credit](https://github.com/BOINC/boinc/wiki/images/Credit.png)
Please keep in mind:
- There may be a delay of several days between when your computer reports a task and when it is granted credit for the task. Your User page shows you how much credit is 'pending' (claimed but not granted).
- The credit-granting process starts when your computer reports a task to the server (not when it finishes computing the task or uploading the output files).
- In rare cases (e.g. if errors occur on one or more computers) you may never receive credit for a computation.
Wow! That's a ralely neat answer!
The BOINC software looks and acts like a single program, but it's actually made up of several separate programs:
![Client programs](https://github.com/BOINC/boinc/wiki/images/Client.png)
The schedulers and data server programs are installed on computers owned and managed by the projects to which you will donate time on your computer. The programs in the green box will be installed on your computer.
- The core client (usually referred to as ''the client'', named boinc.exe on Windows) communicates with external servers via the HTTP communications protocol to get and report work. The core client runs and controls applications.
- Applications are the programs that do scientific computing. Several of them may run at the same time on a computer with more than one CPU.
- The GUI, (usually referred to as ''BOINC manager'' or ''the manager'', named boincmgr.exe on Windows) provides a graphical interface that lets you control the core client - for example, by telling it to suspend and resume applications. The GUI communicates with the core client by a TCP connection. Normally this is a local connection; however, it's possible to control a core client remotely.
- The screensaver runs when you're away from the computer. It communicates with the core client by local TCP, instructing it to tell one of the applications to generate screensaver graphics. Note that not all projects provide screensaver graphics.