Czech Dutch English French German Spanish
Home | Search | About | Forum | Login


FAQ Service (English)



Title: BOINC 7.0
Author: Jorden / LadyL / Trog Dog
Views: 198957
Category: 03. BOINC Client Software Questions and Answers
Available in: English
Created: 16/04/2012 10:22:18
Last Modified: 04/11/2013 01:28:34


If you came here from a BOINC 4 or BOINC 5 installation, please read the BOINC 6.2 - 6.12 FAQ first!

Warning: Information for Advanced Techno-nerds and Geeks only!
For a minimum of information about BOINC 7.0, see the BOINC 7.0 Release Notes. Why isn't there more information in there? Because the developers are hesitant to give more information about BOINC as it may become too technical for you to understand.

We're in negotiation with the developers to convince them to allow us to write advanced explanations to the BOINC User Manual Wiki, primarily to show you how BOINC 7.0 really works, or why it does things differently from BOINC 6.

The negotiations are going well, we're waiting for the final answer.

In the mean time, this FAQ will have information about BOINC 7.0 that's nowhere else found.


BOINC Programs directory
The default directory where BOINC will install its executables to is:
Windows 64bit: C:\PROGRAM FILES (x86)\BOINC for 32bit BOINC, C:\PROGRAM FILES\BOINC for 64bit BOINC
Linux: wherever you are unpacking it/BOINC/
Macintosh: /Applications/BOINC/

BOINC Data directory
The default directory where BOINC will install the data files to is:
Windows 98/SE/ME: C:\Windows\All Users\BOINC or C:\Windows\Profiles\All Users\BOINC (*)
Windows 2000/XP: C:\Documents and Settings\All Users\Application Data\BOINC (*)
Windows Vista/Windows 7: C:\ProgramData\BOINC     (*)
Linux: wherever you unpack it/BOINC/
Macintosh OS X: /Library/Application Support/BOINC Data/

(*) This directory may well be hidden, so either put the path to it directly into Windows Explorer, or instruct Windows Explorer to show hidden files and folders.

How to do that?
For Windows 2000 + XP: See here.
For Windows Vista: See here.
For Windows 7: See here.

Domain Controller Incompatibility
The present range of BOINC 6 and 7.0 are incompatible with Domain Controllers, meaning that you cannot install it on your system if it is a DC. This is because the developers used the Local Account API's instead of the Global Account API's.

A fix for this will be available in a future BOINC. When exactly is at this moment unknown. This depends on when the new installer software will be used.

In the mean time, you can still install and use BOINC 5.10.45, although this doesn't support GPUs or multi-threading applications.

BOINC 5.10.45 32bit version
BOINC 5.10.45 64bit version

Windows 8 (RC) Compatibility
BOINC 7.0 can be run on Windows 8 RCs, but only if you installed BOINC prior to doing an upgrade installation to Windows 8. Otherwise you'll have the same problem as when installing on a domain controller, that certain limited user accounts required for BOINC cannot be made. This is to be fixed in a later version.

Completely uninstalling BOINC 7.0
(If you only want to return to BOINC 6, read "Returning to BOINC 6" below this.)
When you uninstall BOINC 7.0, the registry entries made by the installer, and the Data directory will be kept on disk. If you want to uninstall BOINC completely, make sure to follow these steps.

Returning to BOINC 6
Due to changes to how BOINC 7 writes details about work to the client_state.xml file, you can't easily return to BOINC 6 when BOINC 7 has run on your system. Not without you having made an earlier backup of the data directory, and even then it'll be troublesome. Any work you have gotten since you ran 7.0, will be 'lost' when you return to 6. Only projects that have "resend lost tasks" on will resend them to you, but not all projects do this due to the severe strain on the database. (Only Seti and Einstein have it on, I think).

So here's what you can do to return to BOINC 6 in an easier manner:
- Set No new tasks on all your projects, run all the work to completion, upload & report it.
- Uninstall BOINC.
- Go to the data directory and remove the client_state.xml and client_state_prev.xml files.
- Install BOINC 6.xx, whichever flavor you liked.
- Run that.
(- Set Allow new tasks on all your projects.)

That's all.

Stability and Problems
This version of BOINC has been tested for over 9 months and is deemed stable by the developers. Which does not mean it will run stably on your machine. If you do have problems with it, please post about it on the BOINC Dev forums, where we will be able to help you or get the developers to chime in.

If you do post there, please supply information on your computer (make and model, CPU type, video card and DirectX version if you have graphics trouble, which operating system, how you installed BOINC and any drivers information you can lay your hands on. Any errors you see, please post those as well. If you see a Blue Screen Of Death we would like to know what it says, not just that you had one.

If you have sudden trouble with a project's science applications, tell us which project it is on, which version of the application and what you have done to see if it was caused by BOINC.

So where did the Messages tab go to?
(sarcasm warning, or bad attempt at humor)
Ever since BOINC 6.12, the Messages have been hidden away from view, as they were also too scary for users. Users would perceive them as all errors, and therefore, the whole thing needed to be hidden away from view. It's now in a separate window, which can be reached by pressing CTRL + SHIFT + E simultaneously, or by navigating through Advanced view->Advanced menu->Event log.

However, you'll still see the messages then. Which may still be scary or worrisome. Therefore you should only go here when you have trouble and you're being asked by the person helping you to check what BOINC writes in the messages. And even then, probably, best not. Or as David Anderson says it:
The event log is not intended to be read by users. The event log is for developers and testers. Information for normal users goes in the other parts of the GUI.

So, are you a normal user and do you want to stay normal? Then do not use the Event Log! No, use stdoutdae.txt instead. Way safer. :)

Differences between BOINC 6 and BOINC 7.0:

OpenCL support
This BOINC version will detect any ATI/AMD and Nvidia GPU capable of OpenCL. Newer project applications using OpenCL require that the client detects whether the GPU in your system is capable, which drivers are used, what OpenCL capability the hardware has, how much memory it has total and how much of it is free and some other things. With this information the project developer can more easily include or exclude your hardware when it comes to giving out work.

See the OpenCL FAQ for more information and projects with applications.

Simple view new skin
The Simple view has been rewritten from the ground up, all the old images (for buttons and such) are ditched, skinning is made easier, translations will now be able for the whole of the simple view.

Improved virtual machine support
Let's start with the basics first. What's a Virtual Machine?
Wikipedia writes that: A virtual machine (VM) is a "completely isolated guest operating system installation within a normal host operating system".

It allows you to run other operating systems within your own operating system, without you needing to reboot into that other operating system. So you can run for instance Windows 7 - 64bit, with a VM running Windows XP. Or you can run Ubuntu 12.04 with a VM running Mac OS X 10.7.3

This then makes it easier for projects to supply you with work, as they only have to program their applications for one platform --usually Linux. The are downsides though, one of which is that you have to install an external program, called Virtual Box. Another is that the project will send you an image file of their operating system, which will run in the virtual machine. These tend to be rather large though. Even with compression, easily over 250MB, which you still have to download.

The title in itself is not correct... it's improved Virtual Box virtual machine support, as only Virtual Box is fully supported at this time. If anyone wants to use a different virtual machine, they'll need to port the vboxwrapper application over to whichever virtual machine they use.

The new CPU + GPU scheduler and work fetch module
OK, now, you have by now noticed that your old BOINC 6 did things differently than this BOINC 7.0 does things. That's because the old 6 was deemed broken and the new 7.0 is deemed fixed, but with some bugs still included.

The REC-based scheduler
What the client does is, it keeps a record of how much CPU/GPU time a certain project has recently seen - the recent estimated credit (REC). It compares this figure with the project share that has been set. A project that has worked less than its share will get priority in both scheduling (running tasks) and work fetch. Then as it gets crunch time its REC increases and another project will get to the head of the queue. Over time you get a more or less good distribution of crunching time according to resource share.

Points of note:
- GPUs are very productive so lead to high REC. If you run GPU projects alongside CPU ones on similar shares the GPU project sees virtually no CPU.
- CPU and GPU are scheduled separately.
- A project like SETI will probably stay pretty high up in the queue, since getting tasks is hit and miss due to their bandwidth being overworked.
-- However, setting a small 'additional days' cache will help getting tasks from Seti, since BOINC will ask more often, thereby increasing your chances.
(Source: LadyL, Seti forums)

In finer detail
The CPU and GPU schedulers have been rewritten from the ground up, as is the new work fetch module. This means that work fetch will happen completely different from how you're used to it in BOINC 6. Where BOINC 6 would for instance report work and immediately ask a new task, BOINC 7.0 will try to store a couple of "ready to report" results, report them and immediately request work only when BOINC is under the value set by the Minimum work buffer.

This means that when you have left your old BOINC 6 values for "Connect to" + "Additional work" at, example given 0.1 and 1.0, that BOINC 7.0 will ask for 1.1 days worth of work and ONLY renew this cache when it's fallen under the 0.1 days worth of work limit.

Which means that it can happen that your BOINC runs empty, because 7.0 won't request new work before it has dropped below the 'minimum work' setting and will only ask for work up to the 'and additional' setting --and that only from the project that has the highest priority (worst REC to resource share ratio). Only if that project doesn't have work it will ask other projects in order of priority.

This is easily fixed though, by turning the values around. Where the old values were 0.1 + 1.0, you now go for Minimum work buffer 1.0 + Maximum additional work buffer 0.1

However, there is a bug in the software somewhere, one that's difficult to track and thus fix. This one comes into play when you run work from 2 or more projects. It'll happen that one project will be running work solely, while the others are fresh out of work.

Although, if you now leave things well alone and don't interfere, this will fix itself in due course. It seems that BOINC just needs to learn about the new idiosyncrasies of all the projects again. When you're struck by this bug, do nothing.
Allow BOINC to adjust for at least a week to its completely new settings.

When you manage to let it go, you'll find that BOINC will switch between projects and only run these exclusively for a while, before returning to running a mixture of task from different projects. All according to resource share, of course.

Copyright © Neil Munday 2008