boinc(1)

NAME
boinc - client for Berkeley Open Infrastructure for Network Computing

SYNOPSIS
boinc [ options ]

boincmgr

sh /usr/local/etc/rc.d/boinc.sh start|stop|restart|status

DESCRIPTION
boinc is the client for the Berkeley Open Infrastructure for Network Computing (BOINC) service. It is used by projects such as SETI@HOME and ClimatePredictor to offer your spare CPU cycles to such projects. BOINC allows you to configure one or more projects to which you offer your spare CPU cycles for their computations.

BOINC is a scheduler; you configure projects under BOINC and BOINC then runs each one according to what percentage of time you have specified for that project. When a project is run, BOINC runs the project's client program to download computational work units from the project, then perform the work unit computation, and finally upload the results back to the project. If no work is available for one of your projects, BOINC will run another of your projects.

BOINC runs project clients at low priority, with an idprio(1) value of 31, to ensure that as soon as you need your computer for any other work, BOINC projects stop so that you are not delayed by them.

After choosing which projects to participate in, you must register with each on the project's website. You can find out about BOINC projects on the BOINC website. Upon registering with a project, you will receive an account ID for the project. Run boinc -attach_project to add new projects to your BOINC configuration using the project URL and your account ID. Depending on what operating system platforms the project supports you may be able to immediately start the project or you may need to download the project client's source code and compile it. For further information, see the BOINC web site and the project's own website. Some projects are already available as FreeBSD ports (e.g., SETI@HOME in port astro/boinc-setiathome). Not all projects support FreeBSD and some do not make their client's source code available. In such cases, you will not be able to participate in that project from FreeBSD.

Running boinc with no arguments starts the service and any configured projects.

You can edit both BOINC general preferences and project-specific preferences on the website of any BOINC projects which you are registered with. Preferences will take effect next time BOINC contacts that project's server, e.g., to download more work or to upload results.

The user boinc needs to exist; all invocations of boinc will run as this user. If you want users other than root to be able to start BOINC, set a password on this account so that anyone can run boinc_client and supply the password.

IMPORTANT NOTE: The project clients are programs running on your computer with full access (as the user boinc) to all files and resources of your computer. Before running any project client, you should establish for yourself that the program is trustworthy and will not abuse your computer. The BOINC scheduler does not restrict clients in any way other than to run them as the user boinc.

GRAPHICAL MANAGEMENT INTERFACE
Running boinc -allow_remote_gui_rpc allows the boincmgr graphical management interface to interact with the client.

The boincmgr program provides a graphical management interface to the core boinc. After boinc has been started, run boincmgr to add new projects, to see the status of existing projects' work units, and to control the client.

boincmgr can also be used to monitor and manage BOINC clients on other hosts.

On the Work tab, there is a Show graphics button which displays a graphical status window from the client application. For the Show graphics option to have effect, it must be understood that it is the client application that opens up the status window. The value of the DISPLAY environment variable of the boincmgr process is passed to the BOINC core and then to the client application, and must have meaning to that client. A value of :0.0 will work for local clients, but for clients on remote hosts, a value such as hostname:0.0 or hostname.domain.com:0.0 will be needed. In addition, the local X-server host access permissions must allow access to the display by the client. For local clients, the simplest way to allow this is to use xhost(1), e.g., xhost +local:.

Full documentation of boincmgr is not provided here, but may be added in a future release.

STARTING BOINC AT BOOT TIME
The /usr/local/etc/rc.d/boinc.sh script is run automatically at system boot time. Several variables can be set in /etc/rc.subr to control the BOINC client's behavior.

boinc_enable
    set to YES to start BOINC at boot time

boinc_flags
    passed to the BOINC client, e.g., boinc_flags="-allow_remote_gui_rpc" to allow access from the boincmgr graphical management interface.

OPTIONS
The command-line client has the following command-line options:

-attach_project
    Attach this computer to a new project. You must have an account with that project. You will be asked for the project URL and the account ID.

-show_projects
    Print a list of projects to which this computer is attached.

-detach_project
    Detach this computer from a project.

-reset_project
    Clear pending work for a project. Use this if there is a problem that is preventing your computer from working.

-update_prefs
    Contact a project's server to obtain new preferences. This will also report completed results and get new work if needed.

-return_results_immediately
    Contact scheduler as soon as any result done.

-run_cpu_benchmarks
    Run CPU benchmarks. Do this if you have modified your computer's hardware.

-check_all_logins
    If 'run if user active' preference is off, check for input activity on all current logins; default is to check only local mouse/keyboard

-exit_when_idle
    Get, process and report work, then exit.

-redirectio
    Redirect stdout and stderr to log files.

-allow_remote_gui_rpc
    Allow GUI RPCs from remote hosts

-help
    Show client options.

-version
    Show client version.

ENVIRONMENT VARIABLES
The command-line client has the following optional environment variables:

HTTP_PROXY
    URL of HTTP proxy

HTTP_USER_NAME
    User name for proxy authentication

HTTP_USER_PASSWD
    Password for proxy authentication

SOCKS4_SERVER
    URL of SOCKS 4 server

SOCKS5_SERVER
    URL of SOCKS 5 server

SOCKS5_USER
    User name for SOCKS authentication

SOCKS5_PASSWD
    Password for SOCKS authentication

FILES

/var/db/boinc
    default home directory for boinc user

/var/db/boinc/*
    boinc configuration files

/var/db/boinc/projects/*
    BOINC projects

/var/db/boinc/projects/*/*
    BOINC project work unit files

BUGS
Suspending boinc using ^Z works, but resuming using fg or bg does not resume any client processes (e.g., SETI). These need to be restarted using kill -CONT for each process.

Placing files in /var/db/boinc or its subdirectories can cause work to fail as those files will be counted in disk usage limit checks. In addition to configurable overall disk usage limits, each client may further restrict the size of its project or slot directories.

On a hyperthreadded processor, performance may be limited due to shared use of processor modules such as the FPU.

SEE ALSO
xhost(1), http://boinc.berkeley.edu/