Client configuration

From BOINC

Revision as of 20:35, 24 September 2009 by 67.173.165.164 (Talk)
Jump to: navigation, search

The BOINC client can be configured to:

  • Produce more detailed log messages. These messages appear in the Messages tab of the BOINC Manager (informational messages in black, error messages in red). On Windows, they are written to a file (stdoutdae.txt). On Unix, they are written to standard output.
  • Control parameters such as how many simultaneous file transfers to allow.

There are three configuration mechanisms:

  • An XML configuration file
  • Command-line options (mainly for Unix)
  • Environment variables (mainly for Unix)

Some parameters can be controlled using different mechanisms; pick the one that's best for you.

Contents

Configuration file

The configuration is read from a file cc_config.xml. If this file is absent, the default configuration is used. To create or edit the file, use a text editor such as Notepad, and save it as cc_config.xml in your BOINC data directory.

This file has the following format:

<cc_config>
   <log_flags>
       [ ... ]
   </log_flags>
   <options>
       [ ... ]
   </options>
</cc_config>

For example, if you want to see messages about CPU scheduling, then edit the file so that it contains:

<cc_config>
   <log_flags>
       <cpu_sched>1</cpu_sched>
   </log_flags>
</cc_config>

Logging flags

The flags within <log_flags> are used to selectively turn different types of messages on and off (<tag>0</tag> for off, <tag>1</tag> for on): The following messages are enabled by default:

<task>
The start and completion of compute jobs (should get two messages per job).
<file_xfer>
The start and completion of file transfers.
<sched_ops>
Connections with scheduling servers.

The following messages are disabled by default (typically they generate lots of output, and are used for specific debugging purposes):

<app_msg_receive>
Shared-memory messages received from applications.
<app_msg_send>
Shared-memory messages sent to applications.
<benchmark_debug>
Debugging information about CPU benchmarks. Image:list-add.pngNew in 5.8
<checkpoint_debug>
Show when applications checkpoint. Image:list-add.pngNew in 5.10
<coproc_debug>
Show details of coprocessor (GPU) scheduling Image:list-add.pngNew in 6.3
<cpu_sched>
CPU scheduler actions (preemption and resumption).
<cpu_sched_debug>
Explain CPU scheduler decisions.
<debt_debug>
Changes to project debt.
<file_xfer_debug>
Show completion status of file transfers.
<guirpc_debug>
Debugging information about GUI RPC operations.
<http_debug>
Debugging information about HTTP operations.
<http_xfer_debug>
Debugging information about network communication.
<mem_usage_debug>
Application memory usage.
<network_status_debug>
Network status (whether need physical connection).
<poll_debug>
Show what poll functions do.
<proxy_debug>
Debugging information about HTTP proxy operations.
<rr_simulation>
Results of the round-robin simulation used by CPU scheduler and work-fetch.
<sched_op_debug>
Details of scheduler RPCs; also shows deferral intervals and other low info. Image:list-add.pngNew in 5.10.24
<scrsave_debug>
Debugging information about the screen saver.
<state_debug>
Show summary of client state after scheduler RPC and garbage collection
<statefile_debug>
Show when and why state file is written Image:list-add.pngNew in 6.6.18.
<task_debug>
Low-level details of process start/end (status codes, PIDs etc.), and when applications checkpoint.
<time_debug>
Updates to on_frac, active_frac, connected_frac.
<unparsed_xml>
Show any unparsed XML.
<work_fetch_debug>
Work fetch policy decisions.


Options

The following options control the behavior of BOINC:

[ <abort_jobs_on_exit>0|1</abort_jobs_on_exit> ]
[ <alt_platform>platform_name</alt_platform> ]
[ <client_download_url>URL</client_download_url> ]
[ <client_version_check_url>URL</client_version_check_url> ]
[ <disallow_attach>0|1</disallow_attach> ]
[ <dont_check_file_sizes>0|1</dont_check_file_sizes> ]
[ <dont_contact_ref_site>0|1</dont_contact_ref_site> ]
[ <exclusive_app>important.exe</exclusive_app> ]
[ <force_auth>auth_method</force_auth> ]
[ <http_1_0>0|1</http_1_0> ]
[ <max_file_xfers>N</max_file_xfers> ]
[ <max_file_xfers_per_project>N</max_file_xfers_per_project> ]
[ <max_stdout_file_size>N</max_stdout_file_size> ]
[ <max_stderr_file_size>N</max_stderr_file_size> ]
[ <ncpus>5</ncpus> ]
[ <network_test_url>URL</network_test_url> ]
[ <no_alt_platform>0|1</no_alt_platform> ]
[ <no_gpus>0|1</no_gpus> ]
[ <no_priority_change>0|1</no_priority_change> ]
[ <os_random_only>0|1</os_random_only> ]
[ <proxy_info> ... ]
[ <report_results_immediately>0|1</report_results_immediately> ]
[ <run_apps_manually>0|1</run_apps_manually> ]
[ <save_stats_days>N</save_stats_days> ]
[ <simple_gui_only>0|1</simple_gui_only> ]
[ <start_delay>nseconds</start_delay> ]
[ <suppress_net_info>0|1</suppress_net_info> ]
[ <use_all_gpus>0|1</use_all_gpus> ]
[ <use_certs>0|1</use_certs> ]
[ <use_certs_only>0|1</use_certs_only> ]
[ <zero_debts>0|1</zero_debts> ]
<abort_jobs_on_exit>
If 1, abort jobs and update projects when client exits. Useful on grids where client gets wiped after each run. Image:list-add.pngNew in 6.6.10
<alt_platform>
Specify an alternate platform name, to be included in scheduler requests. Image:list-add.pngNew in 5.10.26
<client_download_url>
The URL to tell user to visit to download new client. Default is http://boinc.berkeley.edu/download_all.php. Image:list-add.pngNew in 6.3.15
<client_version_check_url>
The URL to go to for XML list of client version. Default is http://boinc.berkeley.edu/download_all.php?xml=1. Image:list-add.pngNew in 6.3.15
<disallow_attach>
If enabled, the client won't attach to new projects. Image:list-add.pngNew in 5.10
<dont_contact_ref_site>
To determine if a physical network connection exists, the client occasionally contacts a highly-available web site (google.com). If this flag is set, this behavior is suppressed. Image:list-add.pngNew in 5.10.14. This flag also suppresses a periodic fetch of a project list from boinc.berkeley.edu. Image:list-add.pngNew in 5.10.31
<dont_check_file_sizes>
Normally, the size of application and input files are compared with the project-supplied values after the files are downloaded, and just before starting an application. If this flag is set, this check is skipped. Use it if you need to modify files locally for some reason.
<exclusive_app>
BOINC will suspend computing whenever the executable is running (e.g., a game). Multiple applications can be specified. Image:list-add.pngNew in 6.3.13
<force_auth>
When authenticating against a proxy server use a specific authentication method. Valid parameters are: basic, digest, gss-negotiate, ntlm Image:list-add.pngNew in 5.10.41 (Setting of particular importance for World Community Grid to facilitate SSL/HTTPS communications)
<http_1_0>
Set this flag to use HTTP 1.0 instead of 1.1 (this may be needed with some proxies).
<max_file_xfers>
Maximum number of simultaneous file transfers (default 8).
<max_file_xfers_per_project>
Maximum number of simultaneous file transfers per project (default 2).
<max_stderr_file_size>
Specify the maximum size of the standard error log file (stderrdae.txt); default is 2 MB. Image:list-add.pngNew in 5.10.28
<max_stdout_file_size>
Specify the maximum size of the standard out log file (stdoutdae.txt); default is 2 MB. Image:list-add.pngNew in 5.10.28
Sample: <max_stdout_file_size>3145728</max_stdout_file_size> equals 3 MB.
NB: A Client restart may be needed to have changes take effect!
<ncpus>
Act as if there were N CPUs: run N tasks at once. This is for debugging, i.e. to simulate 2 CPUs on a machine that has only 1. To use the number of available CPUs, set the value to -1. Don't use it to limit the number of CPUs used by BOINC; use general preferences instead.
<network_test_url>
The URL to use when checking network connectivity; default is http://www.google.com/. Image:list-add.pngNew in 6.3.15
<no_alt_platform>
If enabled, the client will run applications only for its primary platform. For example, a Win64 machine will run only Win64 apps, and not Win32. Image:list-add.pngNew in 5.9.10
<no_priority_change>
If 1, don't change priority of applications (run them at same priority as client). Image:list-add.pngNew in 6.6.18
<os_random_only>
If enabled, the client will use only OS-level functions to generate a random GUI RPC password, and will exit if these functions fail. Without this flag, if OS secure random functions aren't available, the client will fall back to a random-string generator based on time of day, free disk space, and other host-specific information. Image:list-add.pngNew in 5.10
<proxy_info>
Specify proxy settings. The element has the following form: Image:list-add.pngNew in 6.6.12
<proxy_info>
    <use_http_proxy>0|1</use_http_proxy>
    <use_http_auth>0|1</use_http_auth>
    <use_socks_proxy>0|1</use_socks_proxy>
    [ <http_server_name></http_server_name> ]
    [ <http_server_port>80</http_server_port> ]
    [ <http_user_name></http_user_name> ]
    [ <http_user_passwd></http_user_passwd> ]
    [ <socks_version>5</socks_version> ]
    [ <socks_server_name></socks_server_name> ]
    [ <socks_server_port>80</socks_server_port> ]
    [ <socks5_user_name></socks5_user_name> ]
    [ <socks5_user_passwd></socks5_user_passwd> ]
    [ <no_proxy>list of hostnames for which proxy not used</no_proxy> ]
</proxy_info>
<report_results_immediately>
If set, each job will be reported to the project server as soon as it's finished, with an inbuild 60 second delay from completion of result upload. (normally it's deferred for up to a day, so that several jobs can be reported in one request). Using this option increases the load on project servers, and should generally be avoided. It's intended to be used on computer whose disks are reformatted every day. Image:list-add.pngNew in 6.1
<run_apps_manually>
This is for debugging apps. When running an app, the client will do everything except actually run the app, i.e. it will set up the slot dir, create the shared mem segment, etc. It will then continue as if the app were actually running, and you can then manually run your app under a debugger in the slot directory. Note: the client won't notice the termination of your app. Image:list-add.pngNew in 6.1.7
<save_stats_days>
How many days to save the per-project credit totals that are displayed in the Statistics tab of the BOINC Manager. Default is 30.
<simple_gui_only>
If enabled, the BOINC Manager will display only the simple GUI.
<start_delay>
Specify a number of seconds to delay running applications after client startup. Image:list-add.pngNew in 6.1.6
<suppress_net_info>
If enabled, don't send this host's IP address and domain name to servers. Otherwise, this information is sent to, and stored on, servers. It is visible to you (but not other users) via the web. Image:list-add.pngNew in 5.10
<use_all_gpus>
If 1, use all GPUs (otherwise only the most capable ones are used). Image:list-add.pngNew in 6.6.25
<use_certs>
Accept applications signed using X509 certificates, as well as those that have BOINC signatures.
<use_certs_only>
Accept only applications signed with X509 certificates. Image:list-add.pngNew in 6.3.11
<no_gpus>
If 1, don't use GPUs even if they're present. Image:list-add.pngNew in 6.6
NB: A Client restart be needed to have changes take effect!
<zero_debts>
Set resource scheduling debts to zero. This lets you fix situations where client bugs have resulted in distorted debt values. Set it, run the client, then clear it (otherwise you'll start out with zero debts every time you run the client). Image:list-add.pngNew in 6.6.11

Command-line options

The BOINC client has the following command-line options. More detailed control, and the ability to interact with a running client, is provided by the boinccmd tool.

--abort_jobs_on_exit
Abort jobs and update projects when client exits. Useful on grids where client is wiped after each run. Image:list-add.pngNew in 6.6.10
--allow_multiple_clients
Allow multiple BOINC clients to run concurrently on a single host. If set, you must run each BOINC client in a separate BOINC data directory (if you run multiple clients in the same directory, this will not be detected, and mayhem will ensue). Image:list-add.pngNew in 6.2.2
--allow_remote_gui_rpc
Allow GUI RPCs from remote hosts
--attach_project URL account_key
Attach this computer to a new project.
--check_all_logins
(Unix) If 'run if user active' preference is off, check for input activity on all current logins; default is to check only local mouse/keyboard
--daemon
Linux: detach from controlling terminal; Windows: run as service
--detach
Detach from console (Windows only; Linux equivalent is --daemon, see below)
--detach_project URL
Detach this computer from a project.
--dir abs_path
Use the given directory as BOINC home
--gui_rpc_port N
Specify port for GUI RPCs
--help
Show client options.
--no_gui_rpc
Don't allow GUI RPCs.
--no_priority_change
Don't change priority of applications (run them at same priority as client). Image:list-add.pngNew in 6.6.18
--reset_project URL
Clear pending work for a project. Use this if there is a problem that is preventing your computer from working.
--run_cpu_benchmarks
Run CPU benchmarks. Do this if you have modified your computer's hardware.
--show_projects
Print a list of projects to which this computer is attached.
--start_delay N
Specify a number of seconds to delay running apps after client startup Image:list-add.pngNew in 6.1.
--update_prefs URL
Contact a project's server to obtain new preferences. This will also report completed results and get new work if needed.
--version
Show client version.


The following command-line options are for debugging:

--exit_after_app_start N
Exit about N seconds after first application starts
--exit_after_finish
Exit just after finishing any job (use this to check the contents of slot directories).
--exit_before_start
Exit just before starting any job (use this to check the contents of slot directories).
--exit_when_idle
Exit when 1) at least one scheduler request has been made, and 2) there are no more jobs, i.e. when all jobs have been completed, reported, and acknowledged. Image:list-add.pngNew in 6.1 Also causes results to be reported immediately after completion.
--file_xfer_giveup_period N
Specify giveup period for file transfers
--min
Put client in the background after starting up
--no_time_test
Don't run performance benchmarks; used fixed numbers instead.
--skip_cpu_benchmarks
Don't run CPU benchmarks
--started_by_screensaver
Passed by screensaver when it launches client

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