Changes between Version 3 and Version 4 of ProjectOptions


Ignore:
Timestamp:
Apr 24, 2007, 11:03:07 AM (14 years ago)
Author:
KSMarksPsych
Comment:

Updated links to point to wiki pages. hier_dir.php and non_cpu_intensive.php have no Wiki names. LocalityScheduling needs to be created. Escaped a URL as it's not an external link. Added bold face to increase readability. Made "Server Status Page Options" a header as on the .php page.

Legend:

Unmodified
Added
Removed
Modified
  • ProjectOptions

    v3 v4  
    33= Project options =
    44
    5 The following elements in the <config> section of your [http://boinc.berkeley.edu/configuration.php config.xml] file control various aspects of your project.
     5The following elements in the <config> section of your [ProjectConfigFile config.xml] file control various aspects of your project.
    66== Hosts, directories, and URLs ==
    77
     
    2828[ <sched_lockfile_dir> path </sched_lockfile_dir> ]
    2929}}}
    30  host::         name of project's main host, as given by Python's socket.hostname(). Daemons and tasks run on this host by default.
    31  db_name::      Database name
    32  db_host::      Database host machine
    33  db_user::      Database user name
    34  db_passwd::    Database password
    35  shmem_key::    ID of scheduler shared memory. Must be unique on host.
    36  download_url::         URL of data server for download
    37  download_dir::         absolute path of download directory
    38  download_dir_alt::     absolute path of old download directory (see [http://boinc.berkeley.edu/hier_dir.php Hierarchical upload/download directories])
    39  upload_url::   URL of file upload handler
    40  uldl_dir_fanout::      fan-out factor of upload and download directories (see [http://boinc.berkeley.edu/hier_dir.php Hierarchical upload/download directories])
    41  upload_dir::   absolute path of upload directory
    42  cgi_url::      URL of scheduling server
    43  sched_lockfile_dir::   Enables scheduler locking (recommended) and specifies directory where scheduler lockfiles are stored. Must be writable to the Apache user.
     30 '''host'''::   name of project's main host, as given by Python's socket.hostname(). Daemons and tasks run on this host by default.
     31 '''db_name'''::        Database name
     32 '''db_host'''::        Database host machine
     33 '''db_user'''::        Database user name
     34 '''db_passwd'''::      Database password
     35 '''shmem_key'''::      ID of scheduler shared memory. Must be unique on host.
     36 '''download_url'''::   URL of data server for download
     37 '''download_dir'''::   absolute path of download directory
     38 '''download_dir_alt'''::       absolute path of old download directory (see [http://boinc.berkeley.edu/hier_dir.php Hierarchical upload/download directories])
     39 '''upload_url'''::     URL of file upload handler
     40 '''uldl_dir_fanout'''::        fan-out factor of upload and download directories (see [http://boinc.berkeley.edu/hier_dir.php Hierarchical upload/download directories])
     41 '''upload_dir'''::     absolute path of upload directory
     42 '''cgi_urlv::  URL of scheduling server
     43 '''sched_lockfile_dir'''::     Enables scheduler locking (recommended) and specifies directory where scheduler lockfiles are stored. Must be writable to the Apache user.
    4444
    4545== Web site features ==
     
    4848[ <show_results/> ]
    4949}}}
    50  profile_screening::    If present, don't show profile pictures until they've been screened and approved by project admins.
    51  show_results::         Enable web site features that show results (per user, host, etc.)
     50 '''profile_screening'''::      If present, don't show profile pictures until they've been screened and approved by project admins.
     51 '''show_results'''::   Enable web site features that show results (per user, host, etc.)
    5252
    5353== Miscellaneous ==
     
    5656[ <min_passwd_length> N </min_passwd_length> ]
    5757}}}
    58  disable_account_creation::     If present, disallow account creation
    59  min_passwd_length::    Minimum length of user passwords. Default is 6.
     58 '''disable_account_creation'''::       If present, disallow account creation
     59 '''min_passwd_length'''::      Minimum length of user passwords. Default is 6.
    6060
    6161== Client control ==
     
    6767[ <non_cpu_intensive> 0|1 </non_cpu_intensive> ]
    6868}}}
    69  verify_files_on_app_start::    Before starting or restarting an app, check contents of input files and app version files by either MD5 or digital signature check. Detects user tampering with file (but doesn't really increase security, since user could also change MD5s or signatures in client state file).
    70  symstore::     URL of your project's symbol store, used for debugging Windows applications.
    71  min_core_client_version_announced::    Announce a new version of the BOINC core client, which in the future will be the minimum required version. In conjunction with the next tag, you can warn users with version below this to upgrade by a specified deadline. Example value: 419.
    72  min_core_client_upgrade_deadline::     Use in conjunction with the previous tag. The value given here is the Unix epoch returned by time(2) until which hosts can update their core client. After this time, they may be shut out of the project. Before this time, they will receive messages warning them to upgrade.
    73  msg_to_host:: If present, check the msg_to_host table on each RPC, and send the client any messages queued for it.
    74  non_cpu_intensive::    If this flag is present, the project will be treated specially by the client:
     69 '''verify_files_on_app_start'''::      Before starting or restarting an app, check contents of input files and app version files by either MD5 or digital signature check. Detects user tampering with file (but doesn't really increase security, since user could also change MD5s or signatures in client state file).
     70 '''symstore'''::       URL of your project's symbol store, used for debugging Windows applications.
     71 '''min_core_client_version_announced'''::      Announce a new version of the BOINC core client, which in the future will be the minimum required version. In conjunction with the next tag, you can warn users with version below this to upgrade by a specified deadline. Example value: 419.
     72 '''min_core_client_upgrade_deadline'''::       Use in conjunction with the previous tag. The value given here is the Unix epoch returned by time(2) until which hosts can update their core client. After this time, they may be shut out of the project. Before this time, they will receive messages warning them to upgrade.
     73 '''msg_to_host''':: If present, check the msg_to_host table on each RPC, and send the client any messages queued for it.
     74 '''non_cpu_intensive'''::      If this flag is present, the project will be treated specially by the client:
    7575
    7676    * The client will download one result at a time.
     
    8484[ <fuh_debug_level> N </fuh_debug_level> ]
    8585}}}
    86  sched_debug_level::    Verbosity level for scheduler log output. 1=minimal, 2=normal (default), 3=verbose.
    87  fuh_debug_level::      Verbosity level for file upload handler log output. 1=minimal, 2=normal (default), 3=verbose.
     86 '''sched_debug_level'''::      Verbosity level for scheduler log output. 1=minimal, 2=normal (default), 3=verbose.
     87 '''fuh_debug_level'''::        Verbosity level for file upload handler log output. 1=minimal, 2=normal (default), 3=verbose.
    8888
    8989== Credit ==
    90 (See also the command-line options of the [http://boinc.berkeley.edu/validate.php validator]).
     90(See also the command-line options of the [ValidationIntro validator]).
    9191{{{
    9292[ <fp_benchmark_weight> X </fp_benchmark_weight> ]
    9393}}}
    94  fp_benchmark_weight::  The weighting given to the Whetstone benchmark in the calculation of claimed credit. Must be in [0 .. 1]. Projects whose applications are floating-point intensive should use 1; pure integer applications, 0. Choosing an appropriate value will reduce the disparity in claimed credit between hosts. The script html/ops/credit_study.php, run against the database of a running project, will suggest what value to use.
     94 '''fp_benchmark_weight'''::    The weighting given to the Whetstone benchmark in the calculation of claimed credit. Must be in [0 .. 1]. Projects whose applications are floating-point intensive should use 1; pure integer applications, 0. Choosing an appropriate value will reduce the disparity in claimed credit between hosts. The script html/ops/credit_study.php, run against the database of a running project, will suggest what value to use.
    9595
    9696== Scheduling options and parameters ==
     
    115115[ <next_rpc_delay>x</next_rpc_delay> ]
    116116}}}
    117  one_result_per_user_per_wu::   If present, send at most one result of a given workunit to a given user. This is useful for checking accuracy/validity of results. It ensures that the results for a given workunit are generated by different users. If you have a validator that compares different results for a given workunits to ensure that they are equivalent, you should probably enable this. Otherwise you may end up validating results from a given user with results from the same user.
    118  max_wus_to_send::      Maximum results sent per scheduler RPC. Helps prevent hosts with trouble from getting too many results and trashing them. But you should set this large enough so that a host which is only connected to the net at intervals has enough work to keep it occupied in between connections.
    119  min_sendwork_interval::        Minimum number of seconds to wait after sending results to a given host, before new results are sent to the same host. Helps prevent hosts with download or application problems from trashing lots of results by returning lots of error results. But don't set it to be so long that a host goes idle after completing its work, before getting new work.
    120  daily_result_quota::   Maximum number of results (per CPU) sent to a given host in a 24-hour period. Helps prevent hosts with download or application problems from returning lots of error results. Be sure to set it large enough that a host does not go idle in a 24-hour period, and can download enough work to keep it busy if disconnected from the net for a few days. The maximum number of CPUS is bounded at four.
    121  ignore_delay_bound::   By default, results are not sent to hosts too slow to complete them within delay bound. If this flag is set, this rule is not enforced.
    122  dont_generate_upload_certificates::    Don't put upload certificates in results. This makes result generation a lot faster, since no encryption is done, but you lose protection against DoS attacks on your upload servers.
    123  locality_scheduling::  When possible, send work that uses the same files that the host already has. This is intended for projects which have large data files, where many different workunits use the same data file. In this case, to reduce download demands on the server, it may be advantageous to retain the data files on the hosts, and send them work for the files that they already have. See [http://boinc.berkeley.edu/sched_locality.php Locality Scheduling].
    124  locality_scheduling_wait_period::      This element only has an effect when used in conjunction with the previous locality scheduling element. It tells the scheduler to use 'trigger files' to inform the project that more work is needed for specific files. The period is the number of seconds which the scheduler will wait to see if the project can create additional work. Together with project-specific daemons or scripts this can be used for 'just-in-time' workunit creation. See [http://boinc.berkeley.edu/sched_locality.php Locality Scheduling].
    125  min_core_client_version::      If the scheduler gets a request from a client with a version number less than this, it returns an error message and doesn't do any other processing.
    126  choose_download_url_by_timezone::      When the scheduler sends work to hosts, it replaces the download URL appearing in the data and executable file descriptions with the download URL closest to the host's timezone. The project must provide a two-column file called 'download_servers' in the project root directory. This is a list of all download servers that will be inserted when work is sent to hosts. The first column is an integer listing the server's offset in seconds from UTC. The second column is the server URL in the format such as http://einstein.phys.uwm.edu. The download servers must have identical file hierarchies and contents, and the path to file and executables must start with '/download/...' as in 'http://X/download/123/some_file_name'.
    127  cache_md5_info::       When creating work, keep a record (in files called foo.md5) of the file length and md5 sum of data files and executables. This can greatly reduce the time needed to create work, if (1) these files are re-used, and (2) there are many of these files, and (3) reading the files from disk is time-consuming.
    128  nowork_skip::  If the scheduling server has no work, it replies to RPCs without doing any database access (e.g., without looking up the user or host record). This reduces DB load, but it fails to update preferences when users click on Update. Use it if your server DB is overloaded.
    129  resend_lost_results::  If set, and a <other_results> list is present in scheduler request, resend any in-progress results not in the list. This is recommended; it may increase the efficiency of your project. For reasons that are not well understood, a BOINC client sometimes fails to receive the scheduler reply. This flag addresses that issue: it causes the SAME results to be resent by the scheduler, if the client has failed to receive them.
    130  send_result_abort::    If set, and the client is processing a result for a WU that has been cancelled or is not in the DB (i.e. there's no chance of getting credit) send <result_abort>. If client is processing a result for a WU that has been assimilated or is overdue (i.e. there's a chance of not getting credit) send <result_abort_if_not_started>.
    131  default_disk_max_used_gb::     Sets the default value for the disk_max_used_gb preference so it's consistent between the scheduler and web pages. The scheduler uses it when a request for work doesn't include preferences, or the preference is set to zero. The web page scripts use it to set the initial value when displaying or editing preferences the first time, or when the user never saved them. Default is 100.
    132  default_disk_max_used_pct::    Sets the default value for the disk_max_used_pct preference so its consistent between the scheduler and web pages. The scheduler uses it when a request for work doesn't include preferences, or the preference is set to zero. The web page scripts use it to set the initial value when displaying or editing preferences the first time, or when the user never saved them. Default is 50.
    133  default_disk_min_free_gb::     Sets the default value for the disk_min_free_gb preference so its consistent between the scheduler and web pages. The scheduler uses it when a request for work doesn't include preferences. The web page scripts use it to set the initial value when displaying or editing preferences the first time, or when the user never saved them. Also, the scheduler uses this setting to override any smaller preference from the host, it enforces a 'minimum free disk space' to keep from filling up the drive. Recommend setting this no smaller than .001 (1MB or 1,000,000 bytes). Default is .001.
    134  reliable_min_avg_credit, reliable_min_avg_turnaround::         Hosts for which expavg_credit/ncpus is at least reliable_min_avg_credit and whose average turnaround is at most reliable_max_avg_turnaround are considered 'reliable'.
    135  reliable_time, reliable_reduced_delay_bound::  When the age of a workunit exceeds reliable_time (typically 2-3X the delay bound), send results only to reliable hosts, and multiply the delay bound by reliable_reduced_delay_bound (typically 0.5 or so).
    136  reliable_on_priority, reliable_on_over, reliable_on_over_except_error::        Results with priority at least 'reliable_on_priority' will be sent only to reliable hosts; increase priority of duplicate results by 'reliable_on_over'; increase priority of duplicates caused by timeout (not error) by 'reliable_on_over_except_error'.
    137  one_result_per_host_per_wu::   If present, send at most one result of a given workunit to a given host. This is weaker than one_result_per_user_per_wu; it is useful if you're using homogeneous redundancy and most of the hosts of a particular class belong to a single user.
    138  next_rpc_delay::       Tell clients to do another scheduler RPC after X seconds.
     117 '''one_result_per_user_per_wu'''::     If present, send at most one result of a given workunit to a given user. This is useful for checking accuracy/validity of results. It ensures that the results for a given workunit are generated by different users. If you have a validator that compares different results for a given workunits to ensure that they are equivalent, you should probably enable this. Otherwise you may end up validating results from a given user with results from the same user.
     118 '''max_wus_to_send'''::        Maximum results sent per scheduler RPC. Helps prevent hosts with trouble from getting too many results and trashing them. But you should set this large enough so that a host which is only connected to the net at intervals has enough work to keep it occupied in between connections.
     119 '''min_sendwork_interval'''::  Minimum number of seconds to wait after sending results to a given host, before new results are sent to the same host. Helps prevent hosts with download or application problems from trashing lots of results by returning lots of error results. But don't set it to be so long that a host goes idle after completing its work, before getting new work.
     120 '''daily_result_quota'''::     Maximum number of results (per CPU) sent to a given host in a 24-hour period. Helps prevent hosts with download or application problems from returning lots of error results. Be sure to set it large enough that a host does not go idle in a 24-hour period, and can download enough work to keep it busy if disconnected from the net for a few days. The maximum number of CPUS is bounded at four.
     121 '''ignore_delay_bound'''::     By default, results are not sent to hosts too slow to complete them within delay bound. If this flag is set, this rule is not enforced.
     122 '''dont_generate_upload_certificates'''::      Don't put upload certificates in results. This makes result generation a lot faster, since no encryption is done, but you lose protection against DoS attacks on your upload servers.
     123 '''locality_scheduling'''::    When possible, send work that uses the same files that the host already has. This is intended for projects which have large data files, where many different workunits use the same data file. In this case, to reduce download demands on the server, it may be advantageous to retain the data files on the hosts, and send them work for the files that they already have. See [LocalityScheduling Locality Scheduling].
     124 '''locality_scheduling_wait_period'''::        This element only has an effect when used in conjunction with the previous locality scheduling element. It tells the scheduler to use 'trigger files' to inform the project that more work is needed for specific files. The period is the number of seconds which the scheduler will wait to see if the project can create additional work. Together with project-specific daemons or scripts this can be used for 'just-in-time' workunit creation. See [LocalityScheduling Locality Scheduling].
     125 '''min_core_client_version'''::        If the scheduler gets a request from a client with a version number less than this, it returns an error message and doesn't do any other processing.
     126 '''choose_download_url_by_timezone'''::        When the scheduler sends work to hosts, it replaces the download URL appearing in the data and executable file descriptions with the download URL closest to the host's timezone. The project must provide a two-column file called 'download_servers' in the project root directory. This is a list of all download servers that will be inserted when work is sent to hosts. The first column is an integer listing the server's offset in seconds from UTC. The second column is the server URL in the format such as http://einstein.phys.uwm.edu. The download servers must have identical file hierarchies and contents, and the path to file and executables must start with '/download/...' as in '!http://X/download/123/some_file_name'.
     127 '''cache_md5_info'''::         When creating work, keep a record (in files called foo.md5) of the file length and md5 sum of data files and executables. This can greatly reduce the time needed to create work, if (1) these files are re-used, and (2) there are many of these files, and (3) reading the files from disk is time-consuming.
     128 '''nowork_skip'''::    If the scheduling server has no work, it replies to RPCs without doing any database access (e.g., without looking up the user or host record). This reduces DB load, but it fails to update preferences when users click on Update. Use it if your server DB is overloaded.
     129 '''resend_lost_results'''::    If set, and a <other_results> list is present in scheduler request, resend any in-progress results not in the list. This is recommended; it may increase the efficiency of your project. For reasons that are not well understood, a BOINC client sometimes fails to receive the scheduler reply. This flag addresses that issue: it causes the SAME results to be resent by the scheduler, if the client has failed to receive them.
     130 '''send_result_abort'''::      If set, and the client is processing a result for a WU that has been cancelled or is not in the DB (i.e. there's no chance of getting credit) send <result_abort>. If client is processing a result for a WU that has been assimilated or is overdue (i.e. there's a chance of not getting credit) send <result_abort_if_not_started>.
     131 '''default_disk_max_used_gb'''::       Sets the default value for the disk_max_used_gb preference so it's consistent between the scheduler and web pages. The scheduler uses it when a request for work doesn't include preferences, or the preference is set to zero. The web page scripts use it to set the initial value when displaying or editing preferences the first time, or when the user never saved them. Default is 100.
     132 '''default_disk_max_used_pct'''::      Sets the default value for the disk_max_used_pct preference so its consistent between the scheduler and web pages. The scheduler uses it when a request for work doesn't include preferences, or the preference is set to zero. The web page scripts use it to set the initial value when displaying or editing preferences the first time, or when the user never saved them. Default is 50.
     133 '''default_disk_min_free_gb'''::       Sets the default value for the disk_min_free_gb preference so its consistent between the scheduler and web pages. The scheduler uses it when a request for work doesn't include preferences. The web page scripts use it to set the initial value when displaying or editing preferences the first time, or when the user never saved them. Also, the scheduler uses this setting to override any smaller preference from the host, it enforces a 'minimum free disk space' to keep from filling up the drive. Recommend setting this no smaller than .001 (1MB or 1,000,000 bytes). Default is .001.
     134 '''reliable_min_avg_credit, reliable_min_avg_turnaround'''::   Hosts for which expavg_credit/ncpus is at least reliable_min_avg_credit and whose average turnaround is at most reliable_max_avg_turnaround are considered 'reliable'.
     135 '''reliable_time, reliable_reduced_delay_bound'''::    When the age of a workunit exceeds reliable_time (typically 2-3X the delay bound), send results only to reliable hosts, and multiply the delay bound by reliable_reduced_delay_bound (typically 0.5 or so).
     136 '''reliable_on_priority, reliable_on_over, reliable_on_over_except_error'''::  Results with priority at least 'reliable_on_priority' will be sent only to reliable hosts; increase priority of duplicate results by 'reliable_on_over'; increase priority of duplicates caused by timeout (not error) by 'reliable_on_over_except_error'.
     137 '''one_result_per_host_per_wu'''::     If present, send at most one result of a given workunit to a given host. This is weaker than one_result_per_user_per_wu; it is useful if you're using homogeneous redundancy and most of the hosts of a particular class belong to a single user.
     138 '''next_rpc_delay'''::         Tell clients to do another scheduler RPC after X seconds.
    139139
    140 Server status page options
     140== Server status page options ==
    141141{{{
    142142[ <www_host>hostname</www_host> ]
     
    148148[ <ps_exe>path</ps_exe> ]
    149149}}}
    150  www_host::     Host name of web server
    151  sched_host::   Host name of scheduling server
    152  sched_pid::    pid file of scheduling server (default: /etc/httpd/run/httpd.pid)
    153  uldl_host::    Host name of upload/download server
    154  sched_pid::    pid file of upload/download server (default: /etc/httpd/run/httpd.pid)
    155  ssh_exe::      path to ssh (default: /usr/bin/ssh)
    156  ps_exe::       path to ps (which supports "w" flag) (default: /bin/ps)
     150 '''www_host'''::       Host name of web server
     151 '''sched_host'''::     Host name of scheduling server
     152 '''sched_pid'''::      pid file of scheduling server (default: /etc/httpd/run/httpd.pid)
     153 '''uldl_host'''::      Host name of upload/download server
     154 '''sched_pid'''::      pid file of upload/download server (default: /etc/httpd/run/httpd.pid)
     155 '''ssh_exe'''::        path to ssh (default: /usr/bin/ssh)
     156 '''ps_exe'''::         path to ps (which supports "w" flag) (default: /bin/ps)