BOINC FAQ: Running the BOINC Software

From Unofficial BOINC Wiki

Jump to: navigation, search

Contents

[edit] General

This section of the FAQ answers questions about the general operation of the BOINC Client Software.

[edit] Can I run the BOINC Software and the science applications on an isolated computer that does not have an Internet connection?

No. In theory it would be possible to transfer data and Results on floppy disks but with the BOINC Client Software's architecture there are components that will make this harder to accomplish. The bottom line is that this is just not worth the effort required and the potential increase in work performed is so minimal that it just does not make sense.

There has been discussion of providing a feature at a later date that may allow this type of processing.

[edit] Can I run the BOINC Software and the science applications on a computer that does have an Internet connection, but is only connected once in awhile?

Yes you can. In the original SETI@Home you had to use third party programs to manage the buffering of work to be performed. Because of the overwhelming desire for this feature it was one of the core items to be added to the BOINC Client Software's design. In addition, adding buffering to the BOINC Client Software also meant that small errors in the third party programs would not create problems for the Participants using the BOINC Client Software.

[edit] Does the BOINC Software work through firewalls (or proxies)?

The BOINC Client Software primarily uses the HTTP Protocol and XML as a file format, and should work through any semi-transparent firewall that allows outgoing Internet traffic. The latest versions of the BOINC Client Software should work through more restrictive firewalls and proxies.

If you are having problems connecting from Microsoft Windows® through a SOCKS proxy, you could also look into SocksCap by NEC, or Hummingbird Socks. Both let you use software as if it were "directly connected to the Internet".

If you're STILL having trouble connecting through an HTTP proxy server and you are running the BOINC Client Software on an older version of Windows 95, Microsoft has an updated Win-sock 2 driver which corrects the problem, and lets the BOINC Manager connect. Search for "Windows Socket 2" in the Product Information section of the Microsoft web site. The file is about 986 KBytes, and post-dates Windows 95 Service Pack 1.

For more info about how to install Proxomition, click here.

Need to write a how-to on proxies, anyone know abut proxies?

Check out, Proxies and BOINC, The Untold Story.

[edit] The graphics don't move. Won't it burn into my screen?

Well, first of all the default configuration of the BOINC Client Software is to have all of the things displayed moving about. So, to get static graphics you must have altered your Screen Saver from the initial settings.

Even with static pictures on most displays; no, the display will not be damaged. Most modern displays actually are designed to resist this problem. In the very early days of the computer revolution there were problems because of the limitations of the displays and the programs that made the images. From this experience we had the phenomenon of screen savers. For the most part, the problem went away but screen savers were so darn much fun that they have stayed popular because of this. Most of them are also really, really pretty.

[edit] What happens to work units that never get returned by a participant?

Nothing much of anything. A BOINC Powered Project, as a general rule, will always keep track of each and every Work Unit that goes out. If it is taking too long to get a Result back (the Participant's Computer did not return the Result before the Result Deadline, for example), the Scheduling Server will automatically send it out to somebody else. Only after Results have come back, and only when we have enough results back to confirm the validity of the returned results, will the Work Unit be removed the Data Server.

You should be aware that the exact policies for a project are set by that project's managers. In some cases the Work Unit might be sent out to a certain number of Participants and regardless of valid returns the Work Unit will be purged from the Data Server. There is also the possibility that the Work Unit has internal errors and the Work Unit cannot be processed at all. In the case of the original SETI@Home; interference, man-made signals, equipment failures, and just plain old lousy something, it was possible that a bad Work Unit would be created and it just needed to be thrown away.

[edit] If the projects don't get a result back from one participant how long does the server wait until sending the same data out again?

Again this is Project dependent but there are several policies that can be used. These include:

  1. Send the Work Unit out multiple times over the course of a day or so without waiting for a returned Result at all.

    (The usual method is to issue the work unit several times over the space of a few seconds to minutes).
  2. Wait past the Deadline for the result to be returned, and only after that time has passed, re-send the Work Unit.
  3. Issue the Work Unit once and never reissue even if there is no Result.

At this time, with the BOINC Powered Projects currently running we have these expectations of the issue policies:


Project Application Deadline Quorum
Climateprediction.net (CPDN) hadsm3 347 Days, 5 Hours, and 20 Minutes 1
Sulphur Cycle 150 Days, 5 Hours, and 20 Minutes 1
Einstein@Home einstein 14 Days 3
LHC@Home sixtrack Variable, around 5 days 3
Predictor@Home mfold 7 Days 3
Charmm 1 day
Rosetta@Home rosetta 7 or 28 Days 1
SETI@Home setiathome enhanced Variable, 4 to 60 days 3
SIMAP@Home simap 10 Days 2
SZTAKI Desktop Grid search 4 Days 4
World Community Grid faah unknown unknown
rosetta unknown unknown
Note:
This is an expectation, not a definitive "this is how it is going to be" or "how it is going to stay" statement.

It must be stressed that the BOINC Client Software is intended to be capable of supporting effectively unlimited permutations of research projects and that for this reason alone it is very hard to state hard rules on project policies. Check the project's web site where they should specifically describe these policies.

[edit] I have a Video Game Console, can I run the BOINC Software on it?

This used to say "No". But times change and now it is a "Maybe". The reason is that on at least one game console that it is possible to convert that console into a Linux computer. And once that is done, it is possible that the console now could have BOINC installed onto the box.

Understand, I do not have a game console and so there is no way that I can test this to see if it works or not. However, I will put the information I have here and allow you to try to see if you can get it to work or not

Turn an Xbox Into a Linux PC VAR Business; August 9, 2004; [www.varsusiness.com]

-->

[edit] If I turn off my computer while the BOINC Software is running, will it lose any data?

No. The Science Applications should be writing its intermediate results to disk every minute or two.

This is one reason why increasing the speed of the Disk Drive will indeed increase the system throughput (You will never be able to tell with a stop watch though).

Now the caveats:

  1. Any sudden loss of power can cause damage to system components.
  2. Power surges can cause data corruption on the Disk Drive.
  3. Loss of power during a write operation may scramble disk directory information.
  4. Sometimes the damage caused by sudden losses of power may be correctable.
  5. Sometimes the damage caused by sudden losses of power is not correctable.
  6. If the disk write interval is too long, it may cause you to repeat the processing if you have not gotten a check point written before you turn off your computer.

So, what does this all mean?


[edit] Is there a "Read Me" for the BOINC Software?

     (41 views)

-->

[edit] How do I preempt the next scheduled result upload?

Try the following:

The simplest method that we have seen is to turn off the network access in the File Menu. Select the File Menu and click on "Disable BOINC Network Access". See File Menu.

[edit] How are Results reported back to the project?

This is a two stage process and this works as follows:

  1. The Work Unit is completely processed by the Science Application. The Result Data File, which contains all of the information of interest to the Project is uploaded to the Project's Data Server.

    Note: The network setting, if set to "Disable BOINC Network Access", will prevent this stage from happening until the Participant re-enables network access.
    Once the upload has been completed the Work Unit's status in the BOINC Manager's Work Tab will be set to "Ready to report".

  2. In the second stage the fact that the Work Unit has completed processing is "reported" to the Project's Scheduling Server. This is the point where the Participant's Claimed Credit is established in the Project's database.

The reason for the two step policy is that the first stage only has to upload a file to a directory on the Data Server. The second stage requires a connection and contact with the BOINC Database. Because it is easier to report a list of files, the process was divided in this manner so that each part can be performed independently of the other.

If there is a heavy load on the server, if we tried to do both actions within the same transaction, any failure of the process invalidates the entire process. Since the file upload is a very simple transaction it can be easily performed independently of other activities.

The second stage is also nicely "atomic" but also lets us "report" more than one Result at the same time.

[edit] How can I stop BOINC from downloading additional work units?

There are a couple ways to accomplish this with the 4.xx BOINC Manager.

  1. Select the Projects Tab, select the appropriate Project, click on the button "No new work", the status column should now read "Won't get new work".
  2. Got to the "General Preferences" Page for the particular venue (home/work/school) and set the "leave at least X disk space" to a number larger than you have (like 30 gb for a 10 gb drive).
    (update preferences on your client)
    That way, when a new download is attempted, the scheduler will will respond with something like "there was work but you don't have enough disk space".
    Current work will complete, but no new work will download.
  3. What I have been doing with success already several times is putting in the ""General Preferences" Page" the "Use no more than" at 0.0001GB disk space.
    This leaves only 100kB for downloading a Work Unit which is too small.
    You will in that case have a message like "There was work but you don't have space enough" and no Work Units will be downloaded.


[edit] I am running BOINC on my laptop, why is it so hot?

The BOINC Client Software, and the Science Applications that are controlled by it will keep the Central Processing Unit (CPU) and Floating Point Unit (FPU) working nearly 100% of the time. With this in mind, here are some observations:

There is a lot of debate over what percentage of the CPU/FPU is being used. I will note that 3 projects are using FORTRAN as the language of choice to make the Science Application (LHC@Home, Einstein@Home, and [[Climateprediction.net]]).

For those that think that all languages are alike, well, my past experience is that a FORTRAN compiled application is far more efficient and accurate when doing heavy duty calculations. I doubt that there has been anything done on this end by the C compiler writers.

With that in mind, if the code is more effective in keeping more of the CPU busy, well, power consumed by the CPU is dependent on the number of transistors changing state. The more that are changing state, the higher the power consumption.

The power consumption is very much dependent on which sort of machine instructions are used by the compiler. I know of a very old CPU burn-in program for MSDOS that simply executed a "Jump 0" (i.e. a jump to itself) that was able to burn the old passive cooled 386 & 486'ers in five minutes.

Additionally you can see that the SETI@Home "cruncher" (Science Application), thanks to poor memory management in the code, generates *LOADS* of page faults leading to the insertion of a wait cycle for transferring the missed page into the cache. Therefore the CPU (although showing 99.9% CPU's usage) is idle a little. In contrast the Einstein@Home "cruncher" generates nearly no page faults and uses the CPU much more effective, leading to a higher temperature and current usage.

What can you do about this?

  • Adjust your laptop to run at a slower speed, there are "throttle-control" programs that will monitor the heat and slow the system down so it does not generate too much heat.
  • Raise the laptop off of the table using pencils, or a wire rack so that air can flow underneath the computer.
  • Get a fan, like the one grandma used to use, and have it blow cooling room air on the computer.
  • Replace it with a "real" computer … Just kidding!

(My thanks to: Ulrich Metzner for some of this material)

[edit] I'm losing access to a computer on which I ran BOINC projects. I've detached it from those projects but it's still in my Computers list for those projects. How do I remove a host from that list (and if I do, will it affect my stats?)

Once you have detached the BOINC Client Software from the Projects you should, of course, also uninstall the BOINC Client Software on that machine.

Moving on to your questions now …

Once all of the Work Units/Results have been reported to the Projects, and the Projects have Validated them, and those Results have been deleted on the Project's Servers, you should then be able to delete the computer (host) from the list of computers.

  1. Open Your Account Page,
  2. Click on the "View Computers" link
  3. Click on the "Computer ID" link of the computer of interest.
  4. If the computer is a candidate for Merging or Deleting there will be appropriate links at the bottom of the Computer Summary Page.

Obviously, if the computer still has results assigned to it in the database, that computer is not eligible for deletion.

With regard to Credit, the answer is no. Removal of a computer does not affect the Total Credit that you have earned. Credit is tracked individually and separately for you, any Teams you joined, and for each of your computers.

In the table named "Host", we track each and every computer. The schema looks like:

create table host (
   id                  integer     not null auto_increment,
   create_time         integer     not null,
   userid              integer     not null,
   rpc_seqno           integer     not null,
   rpc_time            integer     not null,
   total_credit        double      not null,
   expavg_credit       double      not null,
   expavg_time         double      not null,

With obvious places to store the Credit values earned on a "per-computer" basis. For you, the Participant, there is a separate table named "User" with the following structure:

create table user (
   id                  integer     not null auto_increment,
   create_time         integer     not null,
   email_addr          varchar(254) not null,
   name                varchar(254),
   authenticator       varchar(254),
   country             varchar(254),
   postal_code         varchar(254),
   total_credit        double      not null,
   expavg_credit       double      not null,
   expavg_time         double      not null,


And then for a Team in the "Team" table :

create table team (
   id                  integer     not null auto_increment,
   create_time         integer     not null,
   userid              integer     not null,
   name                varchar(254) not null,
   name_lc             varchar(254),
   url                 varchar(254),
   type                integer     not null,
   name_html           varchar(254),
   description         blob,
   nusers              integer     not null,   /* temp */
   country             varchar(254),
   total_credit        double      not null,   /* temp */
   expavg_credit       double      not null,   /* temp */
   expavg_time         double      not null,

Which means, that each of these Credit totals is tracked and maintained independently of all other values.


[edit] Why is the result return/report process split in two? Why don't the clients just upload the result and report it at the same time?

The actual reporting process involves two separate information flows that are not immediately apparent when you first look at the system. The Work Unit that you download contains information that you will process. Once completed the Result Data File is uploaded to the Data Server. At some later time the BOINC Client Software reports the status of the Result to the Scheduling Server.

For more details see: Uploading and Reporting


[edit] Why are Work Units processed more than once? Aren't the extra Results just a waste of time?

It is not a waste at all! We do it to improve the science!

All science is testing, testing again, and testing again ...

We are still repeating experiments that have been done over the centuries because our ability to measure has improved and because of that we can get more accurate answers than ever before. But we need to make those tests so we can be sure that the answers are still correct.

The minimum redundancy for SETI@Home was first established at 3, so, the 4th Result is not strictly needed for that Work Unit. Yes, if you are looking at it from the perspective of a single Work Unit instead of from the perspective of the system as a whole it seems to be a waste of resources.

In the system at large there are penalties for misses on the retirement of work. To minimize that system penalty the issue size was raised to 4 to get the required redundancy as fast as possible. The minimum redundancy has not changed but the efficiency in obtaining a result that can retire the Work Unit uses some of the effectively unbounded capacity of the "super-computer" to process results.

If you have been around awhile you should have seen a thread or two on the message boards where there was a discussion of where it has been admitted that the BOINC version of SETI@Home is far more efficient than SETI@Home Classic in producing verifiable, traceable, Results.

My personal belief is that all the work done to date by SETI@Home Classic should be re-done with the next generation of the SETI@Home applications because of the improvements within the Science Application.

However, repetition of work is a standard part of all science. Someone else once said that they would not want to take a drug that was only tested once. Neither would I. More importantly, we do and will continue to repeat experiments. None of these repetitions are "wasted", they are absolutely necessary.

At one time it was thought that gravity was the same all over the world ... we repeated some of the earlier experiments that "proved" that ... guess what ... it is not constant all over the world ... we would never had known that if we did not "waste" time redoing the tests.


From Matt Lebofsky:

Here's a couple of factoids/things to remember for your redundancy debating pleasure:

  1. Depending on the CPU type (sparc, Pentium, apple, AMD, etc.) results may slightly. When we compare results to validate them, they must be "fuzzy compared." Normally, the numerical differences are small enough to avoid damaging the science, but large enough that you can't just put an equals sign between two values. Now.. what about the case where, say, the next Pentium causes these values to be out of fuzziness range? Having a fourth result is scientific insurance, no?
  2. There are also those who enjoy over-clocking their CPUs, which can lead to varying results as well.
  3. In SETI@Home Classic, we fed out Work Units strictly based on demand. At this point, Classic redundancy averages around 6 or 7 (a rough off-hand guess). Depending on database outages, or other crises, we can't generate new Work Units but still send out whatever we got. We have had, at rare times, redundancy levels above 20 or 30. We found in general it was better to give people something to do rather than get complaints the system was down and "Berkeley screwed up again, they don't know what they are doing, blah blah blah.." Now with BOINC, we have a cap at 4, and this is a clearly enacted policy (built into the whole system) so nobody can (rightfully) complain about lack of work. Which is worse?

For the record, I was not part of the discussion about raising quorum to 4 so I don't have a strong feeling one way or the other. However, intuitively I feel 4 is a good "sweet spot" when regarding Work Unit processing times, scientific integrity, and avoiding pointless make-work (while still giving enough work to keep the user base happy).

- Matt

[edit] Why is the number of Results shown on the Computer Summary page going down?

Each Project gives us work which we process and return to that Project as a Result. These Results are included in our Account and can be viewed from several of the pages in the Project's Web Site.

The data associated with the Result is stored in the on-line BOINC Database and over time this database fills with these rows of data. The problem is that this is an unbounded process (it just keeps growing). To maintain an effective speed, the "old" data is purged by the removal of records in this on-line BOINC Database.

But, the actual science that has been performed is already in a database that we, the Participants cannot see. So, your work was not in vain and the real data has already been saved.

The BOINC System component that does this action is called the "File Deleter" and it works in the background. At times it may be turned off which will allow the database to "grow" and to contain more information than is really needed.

Some Projects may be more aggressive in the purging to keep the BOINC Database as small as possible and to allow them to run the system on smaller servers. Or, to put it another way, to allow them to get the most out of the equipment that they have.

[edit] What does "Checked, but no consensus yet" mean?

When a Work Unit is issued to Participants for processing this is just the first of the many steps it takes to make verifiable science. The Participants then process that Work Unit and return their Result back to the Project.

Once the Results are back, the BOINC System will attempt to perform the Validation Process on the Results once there are enough Results to form an initial Quorum of Results. In the Validation Process the Results are compared to each other to see if they are within the established error margins. In other words, we check to see if the Results "agree" with each other.

If we do have enough Results that "agree", we will form the Quorum of Results, select one of the Results as the Canonical Result, and set the stage for the Results and the Work Unit to be "retired" and removed from the database.

However, there are times when there are enough Results to form the Quorum of Results, but that those Results are not in sufficient "agreement" to be considered the same. If this is the case, then all of those Results that formed the initial Quorum of Results will be marked with the status "Checked, but no consensus yet" and the Work Unit will be re-issued to more Participants.

This process will continue until a Quorum of Results is established or the error limit on Results is reached.

Personal tools