The Greatest Official BOINC FAQ

Man of Honour
Man of Honour
Joined
18 Oct 2002
Posts
4,422
Location
2nd City - Manchester.
OcUK BOINC FAQ

OcUK BOINC FAQ

This document contains the following sections on the BOINC Distributed Computing Framework and its Projects:-


With contributions from: MGP, Dunc, Biffa, Diogenese, shadyseti & others

Revisions:-
  • 04-JAN-2005 : collected contributions together and wrote the first version
  • 20-MAR-2005 : revised for BOINC Manager release, shady's non-install install + other tidyups and future project section.
 
Last edited:
Distributed Computing: Join The OcUK Teams

What is Distributed Computing

Most desktop and laptop computers are underused when they are switched on. Many of us now have powerful processors and lots of memory. Much of this is idle when you are browsing the internet, checking emails, or hanging out on the OcUK Forum. When you go off to answer the phone, have a brew, or stop playing games, your computer just sits there using electricity, for nothing. If you don't believe me (assuming you have windows), do the three fingered salute, click the processes tab and you'll see the majority of processor power is devoted to "System Idle Process".

Distributed Computing projects harness your underused home computer power. All are scientific research projects, some medical, some trying to find cures for illnesses or new drugs, some looking for signs of Extra Terrestrial life. The combined power of the spare capacity available from the millions of computers vastly exceeds the most powerful supercomputers.


How does it Work?

Each project takes a big computing task into tiny segments or Work Units (WUs). These WUs are processed (crunched) by your computer with the results being returned via the internet for analysis and checking (validation). Most projects send the same WU to three or perhaps more computers, and comparing the returned results for validity. There can be a time limit for the crunching of WUs and returning the results, to ensure there are not lots of incomplete WUs kicking around.

Each Distributed Computing user has an account with the project(s) of their choice. The project will provide client software, often in the form of a screensaver. This client software handles the download, upload and crunching of the WUs.


What’s the Catch?

You may be concerned that by allowing the software to be running on your computer, it won't be available to offer you full power when you need it. Distributed Computing Projects are designed to run in the background, at low priority mode. They only use spare capacity. When a program such as word-processing comes along, the computer will automatically pause the Distributed Computing process. It will restart only when the computer again becomes idle. Very few users would notice it is running. However gamers, or those making very intensive use of their computer’s power, may wish to suspend DC projects whilst in the middle of their session.

You are volunteering your computer to the project. There will be no reward, other than knowledge of participation in a scientific endeavour and to see your score in league tables of your fellow project participants. Some projects provide certificates to download when you have finished certain amounts of the project.

There is no evidence to say your computer will be harmed. Inevitably you will wish to trust the project you are running that it’s software is safe, i.e. free from viruses and the like. But these days we all have firewalls and antivirus software? Your computer will be working hard while it runs the project, but then it’s designed to offer full power all the time. Thus it’s unlikely, that your computer will suffer physical damage. Perhaps the biggest issues are of temperature. As the computer is running intensively, the processor memory and other components might get quite warm. Keeping your computer well ventilated is important.

The software for the project is made freely available. The cost to you is your electricity, and time to install the project. If the computer would be on anyway for your normal use, you aren’t adding to your power consumption. If however, as many participants choose to do, so as to boost their results, the computer is left on 24/7 even when you don’t use the PC, you will burn power dependant on your computer’s power supply (switch off the monitor), say 3 or so big light bulbs.


What Do I Need?

The faster your machine the greater will be your potential contribution. Most projects, simply because of the potential user base, run under Windows (virtually all support XP, and most 98 and 2000 or ME), but Linux and Mac computers are also well supported by some but not all projects. An internet connection is also required - though this need not be broadband, but downloads and uploads can depending on the project be 10 or more MB per day - though often a machine can be "preload" (or cache) several (tens of) WU's in advance for offline crunching.

The more recent projects are becoming more demanding of computer resources and can require a good Athlon XP/64 or Pentium 4 equivalent. Usually they are heavily dependant on the floating point performance (so VIA users are going to be disappointed). Plenty of memory and a small amount of hard disk space are useful too. Multi (usually dual/HT) processor support is becoming common allowing more than one WU to be processed at the same time. However most Pentium III based computers can still be used. Many projects are clever enough to work out what your computer is capable of and only send WUs that it can handle.

If your computer is overclocked then it may cause invalid results to be returned at which point its useless as firstly you won't get any credit for a bad result and secondly it won't contribute to the science. Whilst overclocking is not recommended by the projcts, this is OcUK - and moderate to high overclocking will likely not give problems. CPDN is particularly hard on the processor and heavily overclocked machines will likely fail but may be ok on other projcts if you don't want to lower the o/c a notch or two. Future projects may be worse still.

You will need to setup a user account with each project. That may require you to have a valid email address. Once you have downloaded the client software from the project, installed it to the computer, and entered your user account details, the WU processing should be automated.

Most projects use the screensaver client software as the default option. Many of these screensavers are graphically interesting, but, the graphics require processing power. Such versions are often described as the GUI clients. A number of serious users will prefer to at least disable the screen saver part of the project software such that it crunches behind a blanked screen. More nerdy types will try to use a command line client (CLI) that avoids the graphics altogether. Some of these CLIs can be converted to run as a service, meaning it is automated and processing, even when the computer is on, but there is nobody physically logged in, or lots of different users can use the PC whilst crunching continues in the background.

You should only run the projects on machines that you own, or for which you have the owner’s permission. Offices often have specific policies against such usage. You can, and indeed many enthusiasts will, run more than one computer on one account so as to boost their standings in teams. Users with hundreds of systems running are not uncommon.

In most cases you can only run one project's software on your computer at a time. Although projects all run at low priority, some are better at this than others and therefore they might not release resources to others. The exception is where you have dual or hyper threaded type processors where each processor can be assigned a different project. This can be a little geeky to get right. The BOINC platform is designed to let projects run in common with other BOINC based projects, allowing users to decide what percentage of computer time each gets, set via the project’s web site.


The projects and the OcUK Teams

It is perfectly acceptable just to donate your spare computing capacity to a project. There is no reward for your donation, other than your personal satisfaction of seeing your credit accumulate. Most find this rather dull and seek greater motivation. That’s where teams come in.

Teams provide a friendly competitive spirit amongst participants, a common cause to beat other teams, but most importantly a sense of real belonging. This encourages participants to crunch more. It can all become quite addictive - not to mention expensive. Active teams also provide a base where experiences and problems can be shared. Projects have recognised the ability of teams to enhance the crunching spirit.

OcUK has teams for a number of projects. We would encourage you to join with us. Enjoy.
 
Last edited:
BOINC Overview

So what sort of DC project is BOINC then?

BOINC is not a project in itself, it is a new/evolving Distributed Computing Framework from the University of California at Berkeley. It replaces the traditional SETIclassic/Folding@Home type of DC project - in which each project have their own applications and utilities by a single one-size fits everything/everybody approach.

It provides a framework application (the BOINC Core Client (CC)) which provides all the support tasks (scheduling/uploads/downloads/WU-caching/proxy-access and some others) a project requires leaving the project application to handle just the computation involved.

Since the CC handles scheduling, multiple projects can be supported concurrently using a time-slicing feature. The CC will then start and stop project applications every hour so each project gets its allocated (by the user using a project preferences page on each project website - see below) fraction of the available computing resource. It is presently used for a range of science based projects (though it could be anything). The CC can make use of additional processors to run multiple work units (WU's) of any single project or to run single work units of multiple projects at the same time.

The software itself consists of 2 components – the BOINC Core Client (CC) and the (one or more) project application(s) (which the CC will download from the projects website for you. Whilst the BOINC CC needs to be installed/updated by the user, the project applications are controlled by the project and will self download/update when required. Indeed some projects can have several different applications at the same time - the correct one(s) will be downloaded if not already present when a WU requiring them is downloaded by the BOINC CC.

When you sign up to a project, an "Account ID" is e-mailed from the project to your e-mail address - do not lose this id. The Account ID is used to connect new machines to the project and also get access to the account management pages on the projects website. These ID's are 32 character hex strings and contain encrypted information about the account a particular machine is attached to - so they're not particularly memorable. These is part of the security mechanism implemented in BOINC after several well known loop-holes were exploited regularly on the SETIclassic software. Each computer that connects to a project is assigned a unique Host ID and in conjunction with the Account ID the central server knows which WU's were assigned to which Hosts and which Accounts also preventing cheating though several machines returning the same completed WU.

At present the availability of versions of the CC and the applications behind it is limited when compared to older projects - being largely restricted to Windows, Linux, Solaris and MacOS. A feature of the BOINC project however is that the CC and (most but not all) project applications are open-source. So the source code is available for download and self compilation if porting skills and suitable tools/compilers are available.


Getting Started with BOINC

  • First uninstall or remove your existing DC project (or just stop it running) so that the new BOINC project(s) can use all the available processor time without fighting with each other.
  • Download and install the BOINC Core Client from your project website or from the BOINC website here. Normally all projects can use the same version of the CC (and the BOINC website usually has the most common one available) though new projects will often require new features of a new CC version before other projects - and these may cause problems running the other projects. Choose your project mix carefully if the CC version is different across the projects you wish to run. See below for more information on installation and projects.
  • Attach to your selected project(s) and crunch for as much as you feel able to contribute.
The main unofficial BOINC FAQ by Paul D Buck of Berkeley is here.
 
Last edited:
Credits/Cobblestones, RAC, Project Preferences and CPID

Cobblestones

The unit of credit allocation is the Cobblstone which represents 1/100th of a days computation on the reference/standard machine. The reference computer against which BOINC benchmarks each computer is defined as performing at a rate of 1,000 VAX integer/floating-point MIPS.

As well as the knowledge of contributing to the science side of a DC project the other vital component is the statistics side. This involves the granting of credit for WU's completed and returned. Compared to the SETIclassic project where one WU equalled one credit, BOINC allocates an amount of credit based on how long the WU took to complete and how fast the system is compared to the reference system.

Claimed/Pending/Granted Credits

When a WU is returned an amount of credit is "claimed", based on the speed of the computer and the amount of time it took to complete the WU. The credit is only claimed i.e. no actual credit is granted at this point. The credit is then said to be "pending".

To avoid problems and invalid results due to system problems or unstable overclocks a quorum system has been implemented for returned results. Each WU is sent initially to 3 or more different systems and only when 3 of them have returned results - and a concensus on the result has been achieved is credit "granted". If no concensus is reached after 3 have reported, the project waits for the 4th and if there is still none additional copies are sent to other users. Once a concensus has been reached then the fastest and slowest machines "claimed credits" are ignored and the middle one is granted to all the successful systems which finished the WU.

So if you have a fast machine, you complete more WU's, claim less credit - but are maybe granted more credit than you claimed as its a slower machine who's credit you get - but you have to wait longer to get the credit as theres at least 2 other machines you have to wait for - maybe more. The "granted credit" is added to all the previously granted credit for an overall total which stats sites can display.

Because of this quorum scheme, it can commonly take upto a week or so to get credit granted for any particular WU. This is only really noticable for new starters who sit on 0.0 credits during this time. Going to the "Your Account" page on the project website and examining the state of the WU's you've completed will show how the other systems they have been allocated to are getting on.

Recent Average Credit (RAC*)

This is a measure of how fast credit is being granted over a long recent period of time. Each time credit is updated, a new RAC is calculated and also updated. If RAC goes up, the user is going faster/adding hosts, if its dropping they are starting to slack or berkeley have a problem usually. There is an algorithm for calculating the RAC here.

Project Preferences

Each project site has a project preferences page and a BOINC preferences page. These pages allow the setting of several main settings and a few less important ones for the current or all projects respectively.

Each set of preferences allows settings for home and work - and individual machines can then be assigned a location - and it will inherit the properties for that class of machines.

The project preferences are mainly used to allocate some notional amout of available resources which a project is to be given when a machine is shared with other projects. It is not a percentage - though it defaults to 100. If two projects have values of 100 each then each will get half the available processor time - as they also would if they were both set to 10. If however one is 10 and one is 100, then the first one will only get 10/110'th of the total available time with the rest going to the other project. If either of these projects were the only project on a particular computer then they would consume all available processor time. If a machine had two processors then it maybe that each processor will run one WU of each of the two projects at the same time or two WU's of each project and then switch between projects.

The main BOINC preference used to set the number of days interval between attempts by the BOINC CC to connect to the projects server - to upload results and also to download new WU's. The longer this is the more WU's will be downloaded and cached for processing, the shorter it is then the fewer will be stored. Other BOINC settings allow setting of the amount of disk space to be used and how frequently the switching between applications is to be performed (default 60 minutes).

CPID

Since a user can participate in multiple projects using BOINC, a means to create statistics across multiple projects has been implemented. This is the CPID - The Cross Project Identification. The www.boincstats.com website is one site which performs this joining. It requires that when you create an account on each project you use the same "account name" AND the same "e-mail address".

* - remember, the value of your RAC can go down as well as up.
 
Last edited:
BOINC Core-Client downloads

BOINC Versions

It is recommended to always run the latest public release of the BOINC Core Client for your platform. This will often support the majority if not all projects - though sometimes some projects (usually new ones) will need the new features of a new version of the client - and that this client may not be fully compatible with all projects. So it is best to check what version you need for the projects you decide to run on a particular system before installing the latest and greatest. The BOINC download page is here though from time to time, some projects may have newer/older versions - check the project websites for compatibility.

As part of the BOINC framework, projects can require that the CC be of a certain minimum version - so from time to time (fairly infrequently) it will become mandatory to upgrade your CC before more work can be downloaded. If the CC is not upgraded, then it will complete processing on existing WU's and then run out of work. The "Messages" tab on the CC will display messages similar to "your core client is out of date, please upgrade to version Vx.yy".


Project Application Download

It is not necessary to download the project applications, the BOINC CC will communicate with the project website the versions each computer has installed (if any) and will download the required version if it is not available. From time to time, the project will issue a new version of their applications and will then force the CC to download the required new versions when they next receive new WU's. This has caused some consternation with the larger users about having a program download other programs from a potentially unsecure/untrusted source. The rule here is that if you're not happy with the concept in general or a project in particular then don't use that project or BOINC.

A means to bypass this is to download the source code of both the CC and the project applications (if they are availble - not all are) and compile them for yourself. The BOINC CC application for each platform identifies itself as being for that platform - e.g. the Windows BOINC CC has "WINDOWS" as its identifier - and will only run project applications which also have this "WINDOWS" identifier. Using this and changing the identifier in the BOINC CC source code to "OCUK" for example will only permit project applications called "OCUK" as well. More about this is documented for the adventurous explorer here.


Public/Official SETI BOINC Core Client Download

S@H's Public (official) download is here - each project has its download area, but S@H usually gets new versions first (since they also write BOINC). If you are signed up for a project other than S@H, check their message boards before installing the latest S@H version of BOINC in case there are compatibility problems.


Unofficial SETI BOINC Core Client Download

The "Alpha Test" programme provides (not for general use, but possibly interesting developments/bug-fixes & new-bugs :D) from here. It is not recommended to use this - though installing it on a single machine should not be discouraged. Monitor the software and downgrade if problems occur. Recently it has also been appearing on the official download page here as well.


Contributed/Optimised BOINC Core Client Downloads

The BOINC CC is (as with SETIclassic) only really optimised on the Windows platform. Whilst the BOINC CC does not do the processing, the main downside of this is that the benchmark results from official copies of the CC on other platforms give much lower results than the same platform running Windows. This makes returned WU's claim fewer credits. The project application itself does not run any faster - just the a more similar amount of credit to the windows version will be claimed (of course you can sometimes download and compile the project application yourself if required - see above). Various people offer optimised builds of the official CC's (mainly for Linux), some of which are linked to here.

Neither I nor Team OcUK can attest to the veracity or unmodified nature of the clients on the following links - having not been tested and likely to change at the will of an external source. Some of the links are for Other teams (shock horror) - look neither left nor right whilst nicking their code and don't follow any other links.

TeamOcUK downloads page is here, includes mirrors of the latest official clients and often Linux optimised clients too.

Optimised Linux clients from Team SETI-Linux including for Athlon XP, AMD64 and Pentium 4's (and indirectly for Alpha) here.

More Optimised Linux clients (often from the latest source code) from here.

Optimised MacOS clients from Team MacNN here.

Other official links and Roll-your-own (download the source code and compile it yourself) instructions here.


BOINC CC Release History
  • V4.13 - offical CC from approx october 2004 until 26/1/05, fixed most major problems with early V4.xx clients.
  • V4.19 - as of 26/1/05, the new official release. Several bug fixes (inc file upload/download problems) and support for Einstein@Home as well as Host identification and Benchmark changes.
  • V4.25 - Changes the look and feel of the GUI for new BOINCmanager application and renames most of the programs and adds official support for installation as a service. Also changes the formats of the RPC messages - so needs changes in utilities such as BOINCview. Increased support for forthcoming projects. This software was previously issued version numbers in the V4.5x to V4.66(?) range - don't ask, just don't ask!!
  • V4.27 - Latest beta version of BOINC CC.
 
Last edited:
Simple Software Installation

Before Installation - Important!!

For all platforms, you should first go to the "Account Creation" page on the project you want to participate in (see below). If you want to do more than one then signup to one first and get that installed and working before adding a 2nd. When you create the account you get a "Project URL" (usually the homepage of the website) and an "Account ID" mailed to you. Keep these safe as they can be used to add other computers to your account (not a bad thing) or used to leave/join your team (not a good thing). Ideally Berkeley should have implemented a mechanism for two ID's so members of sub-teams could be given one without management capabilities - but they didn't - so be careful who you get to join your account if you let them do it for themselves.

As a shortcut for people who used to participate in the SETIclassic project before 14th May 2004, Berkeley have already created accounts and joined them to the teams they were members of on that date. You must however re-activate the account by entering the e-mail address of the old account. A separate web page exists for this (see below).

It is important if you want to get stats across ALL your BOINC projects that you sign up to each project with EXCACTLY (i.e. same case, same spaces, same punctuation) same account names AND EXACTLY the same e-mail addresses.


Windows (GUI & CLI)

The windows installer installs the BOINC software as either a windows service or to be run from the GUI (called BOINCmanager). When you install the BOINC CC you will be offered three choices.
  • Single User Instalation - This runs BOINCmanager from the Startup folder of the current user only. No other users of the computer will run BOINC.
  • Shared User Installation - This runs BOINCmanager from the Startup folder of all users of the computer.
  • Service Installation - This installs BOINC as a service which starts when the computer boots - without requiring any users to login to the computer. It requires you to specify the username and passwod of a user which it will use.

For the single/shared user modes, BOINCmanager runs minimised in the sytem tray and this in turn runs BOINC which in turn schedules and runs the selected projects. In service mode, BOINC alone is run and this then runs the selected projects - but if BOINCmanager is run from the Start/Programs menu then it communicates with the BOINC service. BOINCmanager is responsible for displaying the progress of the Work Units to the user and also to allow user control of the BOINC program such as connecting/disconnecting projects in much the same was as the BOINCview program allows.

  • Download and run the BOINC_x.yy_WINDOWS_INTELX86.EXE (x.yy is the version of the BOINC CC) and follow all the prompts until the mode selection page. Select user or service installation and click next.
  • On the next page for service mode, enter the username and password and untick the screensaver/start BOINCmanager boxes. For BOINCmanager leave the service username/password information and uncheck the screensaver box.
  • On the final screen leave the Run BOINCmanager box ticked and click Finish.
  • The BOINC GUI now appears and the system will appear sluggish. This is because it is benchmarking the system (comparing your machine speed against the reference machine (see above)) - this takes about a minute or so.
  • Click on the "Tools"/"Attach Project..." option and you will be prompted for a project URL and an "Account Key". These were e-mailed to the address you specified with you created the account on the project website. Cut and paste them into the relevant box (take care on the Account ID as it often contains a space on the end of the line which is NOT understood in the application).
  • Check the "Messages" tab and you should see messages about "contacting the project" and "assigning host id's" and "requesting more work" and hopefully "starting download" (check the transfers page).
  • If you need to configure a proxy server to access the internet, click on the "Tools"/"Proxy Server..." option and select the type of server (winsock and socks proxy servers are supported both with and without authentication).
Thats basically it - you can minimise the application to the system tray by clicking on the "X". If you chose service mode installation then you can exit BOINCmanager with the File/Exit menu options and BOINC will continue to run invisibly in the background.

For service mode installation, the DOS commands "NET STOP BOINC" and "NET START BOINC" can be used to stop and restart the BOINC service if required (e.g. as scheduled commands to stop it running during the working day and restart at night).

Linux - in particular Ubuntu (Debian)

This is how I get BOINC to run at start up. This is using Ubuntu which is Debian based.

  • Open a terminal window.
  • Under your home directory create a directory called boinc (substitue your_user for correct value).
    mkdir /home/your_user/boinc
  • Copy the downloaded executable into it
    mv /home/your_user/boinc boinc_4.13_i686-pc-linux-gnu.gz
  • Change to boinc directory
    cd /home/your_user/boinc
  • Unzip it
    gunzip boinc_4.13_i686-pc-linux-gnu.gz
  • Change the permissions
    chmod 755 boinc_4.13_i686-pc-linux-gnu
  • Run it manually to attch to the project
    ./boinc_4.13_i686-pc-linux-gnu
  • Once attached kill it
    ctrl-c
  • Create a script to run BOINC. Type pico (or nano etc.) to open the editor and paste the following into it and change the BOINC_PATH info to the directory created in the second step above.
    Code:
    #!/bin/sh
    # Script to start and stop the boinc client
    BOINC_PATH="/home/your_user/boinc"
    
    case "$1" in
    start)
    echo -n "Starting boinc client"
    cd $BOINC_PATH
    ./boinc_4.13_i686-pc-linux-gnu -return_results_immediately >boinc.log 2>/dev/null&
    ;;
    
    stop)
    echo -n "Stopping boinc client"
    killall boinc_4.13_i686-pc-linux-gnu
    ;;
    
    *)
    echo "Usage: $0 {start|stop}"
    exit 1
    esac
    
    exit 0
  • Exit pico
    ctrl-x
  • Save modified buffer = yes
  • Save as filename = boinc
  • Create boinc.log file. Open pico, press the space bar, ctrl-x, save modified buffer = yes, save as boinc.log
  • Change permissions for boinc.log
    chmod 755 boinc.log
  • Become root
    su
    enter password
  • Copy boinc script to /etc/init.d/
    cp /home/your_user/boinc/boinc /etc/init.d/
  • Change directory to /etc/init.d/
    cd /etc/init.d/
  • Change permissions of the script
    chmod 755 /etc/init.d/boinc
  • Create a symbolic link to the script in the runlevel2 directory
    cd /etc/rc2.d/
    ln -s /etc/init.d/boinc S99boinc
    chmod 755 S99boinc
  • Exit root
    exit
  • Check that the script works
    /etc/init.d/boinc start
The script should now run, and you can check for message is the boinc.log file with the command "cat boinc.log".

You can stop the script with the command "/etc/init.d/boinc stop"

When you re-start the computer boinc should start automagically - check with command "ps aux | grep boinc".

The above instructions may differ depending on your particular Distribution. This is only given as a guide, and I accept no resposibility for any damage etc etc etc... :-)

Hope this helps. Dunc.


Apple MacIntosh & MacOS X
(filched from the Predictor website but not tested for the obvious reasons)

Download the Mac OS X client and unpack it with gunzip on Mac OS X 10.2 (jaguar) or 10.3 (panther) - make sure you type the command within Terminal. Stuffit 7.x or newer will work under the Finder in either OS X or OS 9, but It is recommended to use 'gunzip' or 'gzip -d' within Terminal instead. The two main browsers on OS X (IE 5.2.x and Safari 1.x) will automatically unpack downloads by default, so your work may already be done.

Once unpacked (even if done automatically) two files will be left :
  • boinc_2.12_powerpc-apple-darwin
  • boinc_2.12_powerpc-apple-darwin7.0.0
    #2 is the unpacked program ready-to-run.

You can just start Terminal and run BOINC.

If you downloaded with Safari, only the 2nd file will appear, but it will not run directly due to a bug. To fix this, create a folder in your home directory and put the above BOINC file in it, Start Terminal, 'cd' to the folder you just created, Type "chmod +x boinc_2.12_powerpc-apple-darwin7.0.0" (without the quotes) and now you can run BOINC.

Upgrade Procedure from 4.20 or later to the latest

When an update is detected the GUI or CLI will re-run the benchmarks and then continue processing where a WU left off. It should normally restart and not lose any existing WU's - but you never know. Its best practice to update one or two less critical machines first before going for a site-wide install or wait for a few days to see if others are having any issues with the newest CC. Its also good to backup your BOINC directory first, certainly on projects like CPDN and when playing with a new version/platform for the first couple of times - work has been lost in the past.

  • Download the new version of the CC for the required platform.
  • Stop the old CC running - this is only really on non windows platforms of if you need to make a consistent/good backup.
  • Windows: Install the new CC to the existing location, it sometimes doesnt remember where this is, so check before hand and specify it as the new default location. It will upgrade any new bits and run the application in the way you specified - i.e. through BOINCmanager or as a service. The GUI will start to execute and display messages to the effect that a version change has been detected. Once the GUI has run the benchmarks it may be closed if the services is running in the background.
  • Linux: Copy the download to the target directory, decompress the image and change the attributes so it will execute and edit shell scripts to run the new image - since the image name will have changed. Restart the software.
  • If it was originally run as a Windows service, then exit the GUI and restart the service and it should continue. It may be required to remove the service (using the "boinc_cli -uninstall" command) and then re-install it as documented above.

Windows Upgrade Procedure from 4.19 or before to 4.20 or later!!!

This upgrade procedure is a little more fraught due to the changes introduced at 4.20 of the CC.
  • Firstly stop the existing BOINC from executing - shutdown BOINC or if its running as a service use the "NET STOP BOINC" command to stop it.
  • If its running as a service, we need to delete the service, so open a DOS command prompt and "CD" into the BOINC directory. Type the command "BOINC_CLI -uninstall" to remove the service.
  • Use the Control Panel Applet "Add/Remove Program" to REMOVE the BOINC application. This removes the BOINC application files and short cuts - but leaves the existing WU's and configuration files alone (usually - so make sure you have backups if worried).
  • Install the new program following the installation instructions above making sure you specify the same location for the BOINC folder - and it should carry on where it left off

Others

TBD - when other clients appear.
 
Last edited:
Automatic/Remote/Non-Installer/Auto-Installer Rollout


Biffa's BOINC Remote Manager scripts

here or on TeamOcUK here might be helpful.

Its not completely transparent in that it does install a service called BOINC and it does put in into a folder called BOINC in program files, however you can modify the batch file to change the path and name of the service.

Then you can roll it out to all the machines you are allowed to from your workstation, and then if you need to run it only at certain times you just setup a schedule on your computer to do the requisite commands at the time you require. Then all you have to do is make sure the machine with the scheduler on it is on at the times it needs to run the schedule.

For example you could set two scheduled tasks say called "morning" and "evening", create two batch files in the BOINC Remote directory called morning.cmd and evening.cmd.

So say your BOINC Remote directory is called c:\br here are the morning and evening cmd files

Morning.cmd:
Code:
@echo off
c:
cd\br
br stop
exit

Evening.cmd
Code:
@echo off
c:
cd\br
br start
exit
This would allow boinc to run overnight and stop in the morning before anyone noticed :D.


Shady's non-install installation notes for BOINCmanager etc

This has been tested with BOINC 4.25 and it works. Initially install BOINC once on one machine, connect to your required project(s) - so they project keys are all there and use that machine as the source for the files you need mentioned here.

Create the BOINC folder where you want things to be (usually in c:\program files) and inside it put the following files into it (the remote_hosts.cfg file may not exist if you don't use BOINCview):-
Code:
account_climateprediction.net.xml (optional)
account_einstein.phys.uwm.edu.xml (optional)
account_lhcathome.cern.ch.xml (optional)
account_predictor.scripps.edu.xml (optional)
account_setiathome.berkeley.edu.xml (optional)
boinc.dll
boinc.exe
boinc.ini
boinc_dll.pdb
boinc_exe.pdb
boincmgr.exe
boincmgr.pdb
dbghelp.dll         
global_prefs.xml
lockfile
master.html
msvcp71.dll 
msvcr71.dll 
remote_hosts.cfg (optional)
You also need the directories locale & locale\uk, containing:-
Code:
locale\uk\wxstd.mo
Also add a subdirectory projects. You can leave the projects sub directory empty and boinc will create further sub directories for each project and download the fixed files or create the following subdirectories with the following files and save on the needless downloads (this is useful for those still on dial up).

CPDN (saves 16.1MB of downloads):-
Code:
projects\climateprediction.net
projects\climateprediction.net\cpdn_logo
projects\climateprediction.net\globe.rgb
projects\climateprediction.net\globe.tga
projects\climateprediction.net\hadsm3_4.10_windows_intelx86.exe
projects\climateprediction.net\hadsmsdata_4.10_windows_intelx86.zip
projects\climateprediction.net\hadsm3se_4.10_windows_intelx86.zip
projects\climateprediction.net\hadsm3um_4.10_windows_intelx86.zip
projects\climateprediction.net\user_logo
Einstein@Home (saves 7.4MB of downloads):-
Code:
projects\einstein.phys.uwm.edu\
projects\einstein.phys.uwm.edu\earth
projects\einstein.phys.uwm.edu\einstein_4.79_windows_intelx86.exe
projects\einstein.phys.uwm.edu\einstein_4.79_windows_intelx86.pdb
projects\einstein.phys.uwm.edu\sun
Predictor (saves 5.1MB of downloads):-
Code:
projects\predictor.scripps.edu\mfoldB125_4.24_windows_intelx86.exe
projects\predictor.scripps.edu\monster.dat
projects\predictor.scripps.edu\rebuild.dat
projects\predictor.scripps.edu\scwrl.dat
SETI@Home (saves 5.4MB of downloads):-
Code:
projects\setiathome.berkeley.edu\better_banner.jpg
projects\setiathome.berkeley.edu\setiathome_4.09_windows_intelx86.exe
projects\setiathome.berkeley.edu\setiathome_4.09_windows_intelx86.pdb
LHC :-
Code:
Omitted as it cannot be confirmed what works with this project until its working again
When you run BOINC it will run the benchmarks and then contact each project to get both a host id and work units, it will see that each projects fixed application and data files already exist and skip downloading them. This method does not install the service option and does not install any shortcut into the startup folder. To do the latter, create a shortcut to the boincmgr.exe file and drag it into the c:\documents and settings\all users\start menu\programs\startup\ folder and this will make BOINCmanger run each time anyone logs on.

To add as a service it **MAY** be possible to save the following text as a file (e.g. BOINC.REG) and then load it into the regitry by double-clicking on it. It may not work as this is an export file from an installed machine and more may be required. Registry editing is dangerous and can break your machine (you were warned!). Replace the bit in YELLOW with the drive letter you have installed on (hex 44 = D, so use 43 for "C") and RED with your local administrator username:-
Code:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BOINC]
"Type"=dword:00000010
"Start"=dword:00000002
"ErrorControl"=dword:00000001
"ImagePath"=hex(2):22,00,[color=yellow]44[/color],00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,00,\
6d,00,20,00,46,00,69,00,6c,00,65,00,73,00,5c,00,42,00,4f,00,49,00,4e,00,43,\
00,5c,00,62,00,6f,00,69,00,6e,00,63,00,2e,00,65,00,78,00,65,00,22,00,20,00,\
2d,00,64,00,61,00,65,00,6d,00,6f,00,6e,00,00,00
"DisplayName"="BOINC"
"ObjectName"=".\\[color=red]Administrator[/color]"
"Description"="Provides all the infrastructure for BOINC to download workunits and process them without user interaction."
Ignore (delete) the spaces in the above code section(s) its VB displaying it wrong. The hex translates to "d:\program files\BOINC\boinc" -daemon including the quotes.


Shady's auto-install installation notes M$ Windows XP

You can use this to make an unattended (or attended) XP install CD-ROM by putting the following files and directories onto a Windows XP CD-ROM
Code:
$oem$\$progs\
$oem$\$progs\BOINC\...
$oem$\$docs\All Users\Start Menu\Programs\startup\shortcut to boincmgr.exe
$oems\$docs\All Users\Start Menu\Programs\shortcut to boincmgr.exe
You will now have a shortcut that shows in the all programs from the start menu and one in the startup folder to run it (the shortcut file should be created from a properly installed boincmgr.exe which is installed in the same location))

To ensure that there are no permissions problems (since things which come off CD-ROM's tend to be readonly) put a batch file inside:-
Code:
$oem$\$1\attrib.cmd
The batch file attrib.cmd contains the following lines:-
Code:
cd %systemdrive%\Program Files  
cd BOINC
attrib +a -r
To get this file to be run during the install, add an entry into the WINNT.SIF (inside the I386 directory) - check if there is already a [GuiRunOnce] section and add it if there isnt:-
Code:
[GuiRunOnce]
%systemdrive%\attrib.cmd
 
Last edited:
Internet Access, Proxy Servers and Firewalls

Internet Access (for modem users)

Since BOINC communicates with its projects through the internet an internet connection must exist - though this need not be a permanent/broadband connection, it does help. The software needs to communicate with the projects when a WU (and if not present its application program) is downloaded, the result is returned or the project is updated. This can ammount to perhaps 10MB of internet traffic per day on some projects running on fast computers (a SETI WU for instance it approx 360KB and a top end Pentium 4 system will complete perhaps 20 WU's per day needing some 7.2MB of downloaded data + another 1MB or so of uploaded results - which can take quite a while on a dialup connection.

Since BOINC also handles caching of multiple WU's offline crunching can be performed by setting your "connect to the network at most every [X] days" on the project preferences page. This will (based on the estimated speed of your machine) download X days worth of WU's and not use the internet again until the appropriate time or you tell it to do it earlier (using the "Update Project" command. It is suggested to keep the number small (<10) to avoid sitting on a large number of WU's and being at risk of returning them after their deadlines. The CPDN project which can take 3+ weeks on a single WU has small "trickle" uploaded every few hours - though these can be stored up for a single splurge every week or two allowing some reduction in traffic volumes compared to a project like SETI/LHC/Predictor.

TCP/IP Ports for Firewalls

The BOINC software communicates with the projects on the standard HTTP port of TCP Port 80. On some work/school/college sites this will not be allowed by the firewalls and you will have to redirect the BOINC CC through a Proxy Server using the option on the Tools menu of the GUI. If you instead run the CLI version (or as a service) then make the changes in the GUI and test that and then switch back to the CLI version. The settings are stored at the bottom of the CLIENT_STATE.XML file - but its easier to set it up using the GUI (if you have one). Several types are supported and work quite well on the whole. Issues do however exist with some authenticating proxy servers - see below.

How to get BOINC through Microsoft ISA Server Proxy with NTLM

Microsoft's ISA server can, dependent on it's settings, prevent BOINC from correctly uploading and downloading WUs and other files. It is possible to reconfigure ISA to get round this, but many network administrators might be unhappy with that compromise. An alternative solution is to configure Advanced Proxy Server to intercept the BOINC data, and authenticate it past the ISA server standard settings.

Download Advanced Proxy Server from APS. You also require the download of the interpreter language in which PAS is written Python, from Python.org.

APS with Python can be run on the server on which ISA is also running, or on any other network PC. You only need one copy of APS running on the network, provided each BOINC client is able to see and access the APS computer. APS with Python can be on a computer that is also running BOINC.

1) Install Python
Quite easy: simply start the Installer. The simplest location is to C:\Python23 (reduces editing of files later).

2) Install APS
A bit more effort:
  • Create a subfolder of the python folder called APS. The extraction routine will add a subfolder to the APS098.
  • Adjust the Python-folder located in the file "runserver.bat" in your APS-directory.
  • Next step is to configure the server.cfg file of APS.
    You need to adjust the following lines:
    Code:
    PARENT_PROXY: (set this to your proxy's name or IP-Address)
    PARENT_PROXY_PORT: (set this to your proxy's port. Usually 80, 8080 or 8088)
    NT_DOMAIN: (set this to the Name of Your Domain)
    USER: (this is your Username you are using to log in to Windows network)
    PASSWORD: (this is your Network Login-Password)
    Everything else should be alright so don't touch it.
  • Now you should be able to start the APS-Proxy by running the runserver.bat file in your APS-folder. Note APS will only be running while the dos command box is open![/list=a]
    3) Setup BOINC GUI on the client computers to use the APS:
    • In your BOINC GUI you should set the proxy either to http://localhost, http://127.0.0.1, http://{your computers' name} or http://{your computer's IP}. (only use the local host setting if APS is on the same PC as the Boinc client you are configuring)
    • Set the port to 5865. That's the port APS uses by default.
      Note you can use BOINC_CLI rather than the GUI (see below), but it's easier to do the initial setup via the GUI, or alternatively you might be able to set it up through BOINCview.[/list=a]
      4) Troubleshooting:
      • If the proxy-setting through the gui is not working, you could try to manually edit the client_state.xml file located in your BOINC folder. At the bottom you'll see the <proxy_info>-section.
        There should be 8 lines in this section from which three are important:
        Code:
        <use_http_proxy/> <-- This line needs to be before the two http-proxy-lines
        <http_server_name>{look what I told you above}
        </http_server_name>
        <http_server_port>5865</http_server_port>
        [/list=a]
        To run APS and BOINC as a service

        The BOINC clients can be installed as a service in the usual way:
        • Stop and exit the BOINC GUI, and remove it from auto startup on logon,
        • From the command prompt run boinc_cli.exe –install
        • Check the service properties:
          Right click My Computer > Manage click through to services and right click on boinc properties. Running as network service may not start, so change the user to local system (which might not be able to communicate with the network) or preferably a network user that has full network access rights. The BOINC client should now run even when the computer is on but users are not logged in.
        • To install APS as a service download Dunc's utility
        • Create a folder under the main Python directory called service, and extract the files into it.
        • Make sure that the Python directory is called ‘Python23’ or edit the newly extracted ‘install.cmd’ and the ‘aps.reg’ to point to the new directory.
        • Copy the main.py file from the APS sub folder to the main Python folder (with the executable in).
        • Copy the server.cfg from the APS sub folder to the main Python folder
        • Copy the entire contents of ASP098\lib sub folder to python23\lib
        • Goto ‘Install.cmd’ in the service directory, right click on it and select ‘Open’
        • Follow the onscreen prompts
        • Make sure that the service is started (right click ‘My Computer’ select ‘Manage’, goto ‘Services and Applications’ click ‘Services’ and scroll down to the ‘aps’ service. Make sure its is started, and that it is set to ‘Automatic’.[/list=a]

          Everything should now work, hopefully ;) Thanks to Dunc and Mike (StieflerDuo) for their help [/b]
 
Last edited:
Major Projects

This page is not intended to be a long explanation of each of the projects, they can do that better themselves. Instead each project is described exceedingly briefly, basic stats on size of WU's and results and applications (so modem users can gauge amount of download time required) and average crunching time (on a fast 2.4-2.6GHz AthlonXP or 3.2-3.4GHz Pentium 4 - without HT, with HT, the times will likeley grow by 66%, but 2 WU's will be done in that longer timespan) and URL's to the main config/stats/faq pages on each of their respective websites are listed in a standard layout.

logo7.gif

SETI@Home - The search for extra terrestrial intelligence (theres precious little down here) from the University of California at Berkeley. Newly restarted on the BOINC framework and shortly to start checking the southern hemisphere. The largest (presently) of the BOINC projects and OcUK's main focus.

cpn_logo_world_1.jpg
cpn_logo_name_2.jpg

Climate Prediction - Prediction of future weather trends using UK Met Office Software from the University of Oxford. Simulates the next 45 years of weather under varying conditions.

protein1.gif

Predictor - Scripps Research Institutes Protein Structure Prediction from Protein Sequencing.
 
Last edited:
Minor BOINC Projects

screensaver.jpg

LHC@Home - CERN's Large Hadron Collider project - help design/test the new LHC during its construction. Simulate the smashing of atoms at near light speed and help improve the design and spend your taxes better. This project is currently closed down for rework!

square.gif

Einstein@Home - Search Gravity wave data for quark stars and neutron stars.
 
Last edited:
Future BOINC Projects

There are a lot of people out there evaluating BOINC at present, as they put their head above the parapet and announce anything, I'll try to put them here. These projects are not live yet - far from it, and if anythings working it will usually be a closed beta within the "community" of like organisations. If they have a date for live then thats upto them - and as/when they go live they'll get promoted to the above sections.

orsa_logo_rect.png


ORSA@Work - Near Earth Object (NEO) Hazard Monitoring

Something to do with detecting asteroids and how close they willl pass to (or collide with :D) the earth. Present software is if I read it right a visualisation tool from crunched path prediction runs - which is likely to be where BOINC comes in. Website:- http://orsa.sourceforge.net/atwork.html, PDF of discussion paper here.

banner.jpg


BURP - Big Ugly Rendering Project

Distributed Rendering of user contributed 3D graphical models. Produce ray-traced images (animations?) of 3D models by making each machine do a small number of frames. Film your own blockbuster. Website http://burp.boinc.dk/ - seems to be getting close, user account creation enabled (or was) but no work coming from project.

pq2.gif


PlanetQuest - Star & Planet Detection

PlanetQuest makes you the astronomer. We send you the raw data, but you make the discoveries and receive credit for them. The PlanetQuest Collaboratory will list your newly classified stars or potentially detected planets in our central PlanetQuest Discoveries Catalog, and give you the credit for what you've found. Website here:- http://www.planetquest.org/about/computing/
 
Last edited:
Statistics Websites

These are a mixture of OcUK only stats sites and also the later ones include stats for all teams and users and projects.

Our very own Berserkers stats website - http://www.teamocuk.com (major projects)

And TomTomTom's stomp estimation pages:- TomTomTom's Stats (S@H and E@H)

Team stats from SETI@Work (updated hourly) - http://boinc.setiatwork.com/team/stats.cgi?teamid=30189 (S@H)

A very good overall stats site - http://www.boincstats.com (all projects)

And some other Team stats sites (looking anywhere else on their sites is prohibited)

Courtesy of BOINCsynergy:- http://www.boincsynergy.com/stats/index.php (all projects)

Courtesy of SETI@NL:- http://www.seti.nl/boinc_user.php (S@H)
 
Last edited:
Utility Software

BOINCview - website here

BOINCview allows central control and monitoring of a number of remote satellite machines via the Remote Procedure Call (RPC) feaure of the BOINC CC. Allows monitoring of or sending of various commands to individual or all machines - including update command. Very Good. This software needs access control (see here) setting up to tell the BOINC service/GUI which machines it is to allow access from. To do this create the file remote_hosts.cfg containing a list of machine names and/or IP addresses in notepad and place it in the BOINC directory of each of the client PC's. If the machines have a firewall loaded, then you must also allow incoming TCP port 1043 for the RPC to be allowed in. The V1.x versions are compatible with the BOINC Manager CC whilst the old CC requires the V0.9.x versions and also require port 31416.

BOINCspy - website here

BOINCspy allows you to see information about the current and queued WU's on a client machine. E.g. its observation date, sky coordinates and the like.

BoincSpy.jpg


BOINClogX (SETI only) - website here

Examines the information held in BOINC clients - only SETI and its related project Astropulse are supported - and displays information about the WU's being processed. Information collected can be stored for later analysis in CSV formatted files. With its sister application SETI@Home-MapView installed a view of the sky showing the positions of the WU's analysed can be displayed.

screenshot.png


Firefox BOINC Extension (SETI only) - website here

For users of the new open source FireFox browser. It integrates a S@H users (not necessarily your own) Granted Credit and/or RAC Total into the status bar at the bottom of the window. Configure it with a project user id and specify what you want to display and it will display it as below:-

Both.bmp


Others

TBD
 
Last edited:
Some Terminology

BOINC Terminology

Cobblestones: The speed of the reference computer against which all computers participating in a BOINC project is measured. A reference computer would perform work to the credit equivalent of 100 cobblestones/day.

Credit: The number of cobblestones claimed or granted for completed WU's that successfully complete and are accepted by the project. First credit is claimed for a WU based on the amount of time it took. Then when validation occurs (see below) a possibly different credit is granted. The total claimed credit for which no credit has yet been granted is referred to as the pending credit.

Crunching: The processing of a downloaded WU using the projects application to look for whatever it is the project is trying to do.

Recently Averaged Credit (RAC): This shows a measure of the rate at which your granted credit is growing - if it goes up you are accelerating, if its dropping then either you or the others crunching the same WU's as you are slacking or the project is having validation problems and dropping behind.

Splitting (probably SETI only): The data recieved from the telescope represents many hours of radio transmissions on a number of wavelengths and will measure into the GB in size. Splitting is the process of cutting this into many thousands of WU's of a smaller size for sending out to individual computers. The actual SETI units represent a 23 second burst of a recording of the receptions taken at a particular date and time and pointing at a particular point in the sky. Other projects will likely send out complete whole WU's (e.g. Predictor/CPDN projects) based on particular start scenarios (since they are simulations, not a recording).

Scheduling: This is the process of comunicating with the client computer to tell it information from the central servers. This includes both information on the current state of the users and teams statistics and what WU's to download when the client asks for some more (assuming there are any available).

Transitioning: The process of the projects servers examining a WU's state and deciding on what to do with it next. This can be to either send it out (its a new WU thats just been created), pass it on for validation (enough matching results have been returned) or send another copy out (as one/more of the existing ones have exceeded their return date or had errors returned). The most important to crunchers of these is the step of passing a WU for validation. On SETI@Home (and most other projects - but not all, i.e. CPDN) a WU is sent to three or more computers initially and when three have returned a result - and all three agree on the result then the result is transitioned for validation and credit is assigned. Where there is a difference of opinion (for example one of them may have a hardware or overclocked problem and may return an invalid result or it maybe running a beta version of a client) then additional copies are transitioned ans sent out and the users who have already completed the WU wait for the additional result(s) to be returned before it is considered for validation again.

Trickle: Some BOINC project (e.g. CPDN) have very large WU's which often take several weeks to process. To inform the project that work is taking place and where you are upto - as well as return interim results and grant interim credit they implement the trickles every so often during the crunching of the WU. CPDN implements 72 trickles within its present WU's - averaging about 6 trickles/day on a fast Pentium 4 system.

Validation: The process of the projects servers granting credit for returned work. When three matching ones are found, then the highest and lowest claimed credits are ignored and all three (or more) who return the result are granted the claimed credit of the middle one.

Work Units (WU's): The small segments of the overall program sent to the client computer to process and return as a result.


Crunching/OcUK Terminology

Borging or Assimilation: The process (referring to the Borg on Star Trek) of installing BOINC on a number of computers on one user name account to boost your score. In particular if those computers are "aren't yours" - and BOINC is installed without the owners knowldege.

Caching & Stashing: Holding more WU's on your computer than is really needed at a time (useful when a projects server's go offline, or you are not able to be on line all the time so that the home computer does not run out of Work Units to be processing). The BOINC software supports a user defined level of caching - but stashing implies an excessive cache. Since WU's have a "return by date" (often in the order of 2-3 weeks) excessive stashing invalidates the science since it may take more than this period of time to return the result - and also no credit will be granted. Caching 3-4 days of WU's is ok, more than 10 is stashing and is generally frowned upon. Stashing can also imply the stashing of results which have not yet been returned so that a large dump can be performed at a later date giving a large jump in output.

Dumping: The process of returning any results not yet returned - implies a lot of results - record dumps of 10-30,000+ WU's on SETI classic have been known. Largely a SETI classic term since BOINC usually does this automatically now.

Parp(ing): The notificiation of people ahead of you in the team league table that you are going to Stomp (see below) them and take their position in the team. This is good SETIquette to give them time to Borg some more hardware or dump any results they may have to save them from being stomped.

Spike: Team mascot. Awwww, Sho Shoft and Fwuffy - often to be seen running away from Domo-Kun.

Slacking: See here.

Stomp(ing): The act of dumping a number of results which put you higher in the league table than someone else - who should really have been parped as a warning.

Pflampff: You don't really want to know.

Spanky: See Pflampff.
 
Back
Top Bottom