Difference between revisions of "BOINC 7.0"

From BOINC Wiki
Jump to: navigation, search
(removing time from table)
(removing extra breaks)
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
If you came here from a BOINC 4 or BOINC 5 installation, please read the BOINC 6.2 - 6.12 FAQ first!  
+
If you came here from a BOINC 4 or BOINC 5 installation, please read the [[BOINC_6.2_-_6.12 | BOINC 6.2 - 6.12]] FAQ first!<br>
 
+
<br>
Warning: Information for Advanced Techno-nerds and Geeks only!
+
=== BOINC Programs directory ===
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.
+
The default directory where BOINC will install its executables to is:<br>
 
 
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.
 
 
 
Prerequisites:
 
 
 
'''BOINC Programs directory'''
 
 
 
The default directory where BOINC will install its executables to is:
 
 
 
 
* '''Windows 32bit:''' C:\PROGRAM FILES\BOINC  
 
* '''Windows 32bit:''' C:\PROGRAM FILES\BOINC  
* '''Windows 64bit:''' C:\PROGRAM FILES (x86)\BOINC for 32bit BOINC, C:\PROGRAM FILES\BOINC for 64bit BOINC
+
* '''Windows 64bit:''' C:\PROGRAM FILES (x86)\BOINC for <u>32bit</u> BOINC  
* '''Linux:''' wherever you are unpacking it/BOINC/
+
* '''Windows 64bit:''' C:\PROGRAM FILES\BOINC for <u>64bit</u> BOINC
 +
* '''Linux:''' Berkeley installer: default in the Home ./BOINC directory
 +
* '''Linux:''' Package Maintained installer: [[Is_BOINC_available_in_Linux%3F#Installing_BOINC_as_a_package | depends on the package]]
 
* '''Macintosh:''' /Applications/BOINC/
 
* '''Macintosh:''' /Applications/BOINC/
  
BOINC Data directory
+
=== BOINC Data directory ===
The default directory where BOINC will install the data files to is:
+
The default directory where BOINC will install the data files to is:<br>
* Windows 98/SE/ME: C:\Windows\All Users\BOINC or C:\Windows\Profiles\All Users\BOINC (*)
+
* Windows 98/SE/ME/2000: No support.
* Windows 2000/XP: C:\Documents and Settings\All Users\Application Data\BOINC (*)
+
* '''Windows XP:''' C:\Documents and Settings\All Users\Application Data\BOINC (*)
* Windows Vista/Windows 7: C:\ProgramData\BOINC    (*)
+
* '''Windows Vista/7/8/8.1/10:''' C:\ProgramData\BOINC    (*)
* Linux: wherever you unpack it/BOINC/
+
* '''Linux:''' Berkeley installer: default in the Home ./BOINC directory
* Macintosh OS X: /Library/Application Support/BOINC Data/
+
* '''Linux:''' Package Maintained installer: [[Is_BOINC_available_in_Linux%3F#Installing_BOINC_as_a_package | depends on the package]]
 
+
* '''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.  
+
<br>
 
+
(*) This directory is hidden, so either put the path to it directly into Windows Explorer, or instruct Windows Explorer to [https://support.microsoft.com/en-us/help/14201/windows-show-hidden-files show hidden files and folders].<br>
How to do that?
+
=== Simple view new skin ===
* For Windows 2000 + XP: See here.
+
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 are now be able for the whole simple view front. For a How-To on making and using skins for Simple view, please see the [http://boinc.berkeley.edu/wiki/Creating_a_skin_for_the_BOINC_Manager BOINC User Wiki].  
* For Windows Vista: See here.
+
<br>
* For Windows 7: See here.
+
=== Improved virtual machine support ===
 
+
Let's start with the basics first. What's a Virtual Machine? <br>
Domain Controller Incompatibility
+
[https://en.wikipedia.org/wiki/Virtual_machine Wikipedia] writes that: A virtual machine (VM) is a &quot;completely isolated guest operating system installation within a normal host operating system&quot;.<br>
 
+
<br>
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.  
+
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<br>
 
+
<br>
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.
+
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.<br>
 
+
<br>
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 only supports Virtual Box virtual machine images. If anyone wants to use a different virtual machine, they'll need to port the [https://boinc.berkeley.edu/trac/wiki/VboxApps VBox application] over to whichever virtual machine they use.<br>
 
 
* 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 &quot;Returning to BOINC 6&quot; 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 &quot;resend lost tasks&quot; 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 &amp; 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-&gt;Advanced menu-&gt;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
+
=== BOINC 7 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. <br>
Let's start with the basics first. What's a Virtual Machine?
+
==== The REC-based scheduler ====
Wikipedia writes that: A virtual machine (VM) is a &quot;completely isolated guest operating system installation within a normal host operating system&quot;.
+
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.<br>
 
+
==== Points of note ====
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.  
 
* 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.
 
* 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.  
 
* 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.
 
** 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 &quot;ready to report&quot; results, report them and immediately request work only when BOINC is under the value set by the Minimum work buffer.<br>
In finer detail
+
<br>
 
+
This means that when you have left your old BOINC 6 values for &quot;Connect to&quot; + &quot;Additional work&quot; 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.<br>
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 &quot;ready to report&quot; results, report them and immediately request work only when BOINC is under the value set by the Minimum work buffer.  
+
<br>
 
+
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.<br>
This means that when you have left your old BOINC 6 values for &quot;Connect to&quot; + &quot;Additional work&quot; 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.  
+
<br>
 
+
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 <br>
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.
+
==== Stop micromanaging BOINC! ====
 
+
However, there is a bug in the software somewhere, one that's difficult to track and therfore 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.<br>
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  
+
<br>
 
+
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. <br>
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.  
+
<br>
 
+
Allow BOINC to adjust for at least a week to its completely new settings. <br>
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.  
+
<br>
 
+
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.<br>
Allow BOINC to adjust for at least a week to its completely new settings.  
+
<br>
 
+
<br>
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.  
 
 
 
 
{| class="wikitable" style="text-align: center;"
 
{| class="wikitable" style="text-align: center;"
 
  ! Original writer
 
  ! Original writer
Line 148: Line 66:
 
  |-
 
  |-
 
  | Jorden / LadyL / Trog Dog
 
  | Jorden / LadyL / Trog Dog
  | [http://boincfaq.mundayweb.com/index.php?language=1&view=592 592]
+
  | 592
 
  | 2012-04-16
 
  | 2012-04-16
 
  |-
 
  |-
 
  |}
 
  |}

Latest revision as of 21:56, 13 February 2017

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

BOINC Programs directory

The default directory where BOINC will install its executables to is:

  • Windows 32bit: C:\PROGRAM FILES\BOINC
  • Windows 64bit: C:\PROGRAM FILES (x86)\BOINC for 32bit BOINC
  • Windows 64bit: C:\PROGRAM FILES\BOINC for 64bit BOINC
  • Linux: Berkeley installer: default in the Home ./BOINC directory
  • Linux: Package Maintained installer: depends on the package
  • Macintosh: /Applications/BOINC/

BOINC Data directory

The default directory where BOINC will install the data files to is:

  • Windows 98/SE/ME/2000: No support.
  • Windows XP: C:\Documents and Settings\All Users\Application Data\BOINC (*)
  • Windows Vista/7/8/8.1/10: C:\ProgramData\BOINC (*)
  • Linux: Berkeley installer: default in the Home ./BOINC directory
  • Linux: Package Maintained installer: depends on the package
  • Macintosh OS X: /Library/Application Support/BOINC Data/


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

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 are now be able for the whole simple view front. For a How-To on making and using skins for Simple view, please see the BOINC User Wiki.

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.

BOINC only supports Virtual Box virtual machine images. If anyone wants to use a different virtual machine, they'll need to port the VBox application over to whichever virtual machine they use.

BOINC 7 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.

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

Stop micromanaging BOINC!

However, there is a bug in the software somewhere, one that's difficult to track and therfore 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.


Original writer Original FAQ Date
Jorden / LadyL / Trog Dog 592 2012-04-16