Changes between Version 118 and Version 119 of ProjectOptions
- Timestamp:
- Mar 12, 2012, 2:37:43 PM (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ProjectOptions
v118 v119 2 2 3 3 = Project configuration = 4 The following elements in the `<config>` section of your [wiki:ProjectConfigFile config.xml] file control various aspects of your project. Booleans default to false, and can be expressed as 4 The following elements in the `<config>` section of your [wiki:ProjectConfigFile config.xml] file control various aspects of your project. 5 Booleans default to false, and can be expressed as 5 6 6 7 {{{ … … 10 11 }}} 11 12 == Scheduler == 12 These options control how jobs are dispatched to clients. This is also affected by the parameters you pass to the [wiki:BackendPrograms feeder]. 13 These options control how jobs are dispatched to clients. 14 This is also affected by the parameters you pass to the [wiki:BackendPrograms feeder]. 13 15 14 16 === General === … … 16 18 <ban_cpu>regexp</ban_cpu> 17 19 }}} 18 Any host for which p_vendor<tab>p_model matches the given regular expression will not be sent jobs. This is a POSIX extended regular expression. 20 Any host for which p_vendor<tab>p_model matches the given regular expression will not be sent jobs. 21 This is a POSIX extended regular expression. 19 22 20 23 {{{ 21 24 <ban_os>regexp</ban_os> 22 25 }}} 23 Any host for which os_name<tab>os_version matches the given regular expression will not be sent jobs. This is a POSIX extended regular expression. 26 Any host for which os_name<tab>os_version matches the given regular expression will not be sent jobs. 27 This is a POSIX extended regular expression. 24 28 25 29 {{{ … … 31 35 <homogeneous_redundancy>N</homogeneous_redundancy> 32 36 }}} 33 If zero (default) don't use the [wiki:HomogeneousRedundancy homogeneous redundancy] mechanism. Otherwise, specifies the granularity of host classification (1=fine, 2=coarse). (Note: you may also specify this on a per-application basis). 37 If zero (default) don't use the [wiki:HomogeneousRedundancy homogeneous redundancy] mechanism. 38 Otherwise, specifies the granularity of host classification (1=fine, 2=coarse). 39 (Note: you may also specify this on a per-application basis). 34 40 35 41 {{{ 36 42 <ignore_delay_bound/> 37 43 }}} 38 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. 44 By default, results are not sent to hosts too slow to complete them within delay bound. 45 If this flag is set, this rule is not enforced. 39 46 40 47 {{{ 41 48 <multiple_clients_per_host>0|1</multiple_clients_per_host> 42 49 }}} 43 Set this if some of your hosts run multiple BOINC clients simultaneously (this is the case on projects that use Condor and/or grid resources, which require each client to use only 1 CPU). If set, the scheduler will skip a check that tries to locate the host based on its IP address. 50 Set this if some of your hosts run multiple BOINC clients simultaneously 51 (this is the case on projects that use Condor and/or grid resources, which require each client to use only 1 CPU). 52 If set, the scheduler will skip a check that tries to locate the host based on its IP address. 44 53 45 54 {{{ 46 55 <nowork_skip> 0|1 </nowork_skip> 47 56 }}} 48 If the scheduler 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. 57 If the scheduler has no work, it replies to RPCs without doing any database access (e.g., without looking up the user or host record). 58 This reduces DB load, but it fails to update preferences when users click on Update. Use it if your server DB is overloaded. 49 59 50 60 … … 53 63 <report_grace_period>x</report_grace_period> 54 64 }}} 55 A "grace period" for task reporting. A task is considered time-out (and a new replica generated) if it is not reported by client_deadline + x. 65 A "grace period" for task reporting. A task is considered time-out (and a new replica generated) 66 if it is not reported by client_deadline + x. 56 67 57 68 {{{ 58 69 <user_filter>0|1</user_filter> 59 70 }}} 60 If set, use the "batch" field of workunits to select which user is allowed to process the job. If batch is nonzero, only send the job to the user with that ID. 71 If set, use the "batch" field of workunits to select which user is allowed to process the job. 72 If batch is nonzero, only send the job to the user with that ID. 61 73 62 74 {{{ … … 70 82 <prefer_primary_platform> 0|1 </prefer_primary_platform> 71 83 }}} 72 Send hosts app versions for their primary platform if one exists; e.g. if a host is 64-bit, don't send it a 32-bit CPU version if a 64-bit CPU version exists. Use this option only if you're sure that your 64-bit versions are faster than the 32-bit versions. 84 Send hosts app versions for their primary platform if one exists; e.g. if a host is 64-bit, 85 don't send it a 32-bit CPU version if a 64-bit CPU version exists. 86 Use this option only if you're sure that your 64-bit versions are faster than the 32-bit versions. 73 87 74 88 {{{ … … 83 97 <one_result_per_user_per_wu/> 84 98 }}} 85 If set, send at most one instance of a given job to a given user. This increases the effectiveness of replication-based validation by making it more difficult for hackers to get all the instances of a given job. 99 If set, send at most one instance of a given job to a given user. 100 This increases the effectiveness of replication-based validation by making it more difficult for hackers to get all the instances of a given job. 86 101 87 102 {{{ 88 103 <one_result_per_host_per_wu/> 89 104 }}} 90 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's useful if you're using homogeneous redundancy and most of the hosts of a particular class belong to a single user. 105 If present, send at most one result of a given workunit to a given host. 106 This is weaker than `one_result_per_user_per_wu`; 107 it's useful if you're using homogeneous redundancy and most of the hosts of a particular class belong to a single user. 91 108 92 109 {{{ … … 99 116 <max_wus_in_progress_gpu> M </max_wus_in_progress_gpu> 100 117 }}} 101 Limit the number of jobs in progress on a given host (and thus limit average turnaround time). Starting with 6.8, the BOINC client report the resources used by in-progress jobs; in this case, the max CPU jobs in progress is '''N*NCPUS''' and the max GPU jobs in progress is '''M*NGPUs'''. Otherwise, the overall maximum is '''N*NCPUS + M*NGPUS)'''. 118 Limit the number of jobs in progress on a given host (and thus limit average turnaround time). 119 Starting with 6.8, the BOINC client report the resources used by in-progress jobs; 120 in this case, the max CPU jobs in progress is '''N*NCPUS''' and the max GPU jobs in progress is '''M*NGPUs'''. 121 Otherwise, the overall maximum is '''N*NCPUS + M*NGPUS)'''. 102 122 103 123 See the following section for a more powerful way of expressing limits on in-progress jobs. … … 106 126 <gpu_multiplier> GM </gpu_multiplier> 107 127 }}} 108 If your project uses GPUs, set this to roughly the ratio of GPU speed to CPU speed. Used in the calculation of job limits (see next 2 items). 128 If your project uses GPUs, set this to roughly the ratio of GPU speed to CPU speed. 129 Used in the calculation of job limits (see next 2 items). 109 130 110 131 {{{ 111 132 <max_wus_to_send> N </max_wus_to_send> 112 133 }}} 113 Maximum jobs returned per scheduler RPC is '''N*(NCPUS + GM*NGPUS)'''. You can use this to limit the impact of faulty hosts. Default is 10. 134 Maximum jobs returned per scheduler RPC is '''N*(NCPUS + GM*NGPUS)'''. 135 You can use this to limit the impact of faulty hosts. Default is 10. 114 136 115 137 {{{ … … 121 143 <daily_result_quota> N </daily_result_quota> 122 144 }}} 123 Each host has a field MRD in the interval [1 .. daily_result_quota]; it's initially daily_result_quota, and is adjusted as the host sends good or bad results. The maximum number of jobs sent to a given host in a 24-hour period is '''MRD*(NCPUS + GM*NGPUS)'''. You can use this to limit the impact of faulty hosts. 145 Each host has a field MRD in the interval [1 .. daily_result_quota]; 146 it's initially daily_result_quota, and is adjusted as the host sends good or bad results. 147 The maximum number of jobs sent to a given host in a 24-hour period is '''MRD*(NCPUS + GM*NGPUS)'''. 148 You can use this to limit the impact of faulty hosts. 124 149 125 150 === Job limits (advanced) === 126 The following is a more adaptable way of expressing limits on the number of jobs in progress on a host. You can specify limits for specific apps, and for your projects as a whole. Within each of these, you can specify limits for CPU jobs, GPU jobs, or total. In the case of CPU and GPU jobs, you can specify whether the limit should be scaled by the number of devices present on the host. 151 The following is a more adaptable way of expressing limits on the number of jobs in progress on a host. 152 You can specify limits for specific apps, and for your projects as a whole. 153 Within each of these, you can specify limits for CPU jobs, GPU jobs, or total. 154 In the case of CPU and GPU jobs, you can specify whether the limit should be scaled by the number of devices present on the host. 127 155 128 156 This uses a separate config file, '''config_aux.xml'''. The syntax is: … … 157 185 158 186 === Job-cache scheduling === 159 This is the default. The feeder (a daemon program) maintains a cache of jobs in shared memory. Instances of the scheduler get jobs from this cache, reducing their database access overhead. 187 The default mechanism is that the feeder (a daemon program) maintains a cache of jobs in shared memory. 188 Instances of the scheduler get jobs from this cache, reducing their database access overhead. 160 189 161 190 {{{ … … 170 199 171 200 === Matchmaker scheduling === 172 This is a variant of job-cache scheduling. The job selection policy is determined by a "score function"; this highest-scoring jobs are sent to the client. 201 This is a variant of job-cache scheduling. 202 The job selection policy is determined by a "score function"; this highest-scoring jobs are sent to the client. 173 203 174 204 {{{ … … 186 216 <job_size_matching>0|1</job_size_matching> 187 217 }}} 188 If set, include a term in the score function that favors sending large jobs to fast hosts. To use this, you must run the census program as a periodic task to maintain statistics on the distribution of host speeds. 218 If set, include a term in the score function that favors sending large jobs to fast hosts. 219 To use this, you must run the census program as a periodic task to maintain statistics on the distribution of host speeds. 189 220 190 221 === Accelerating retries === 191 The goal of this mechanism (which works with job-cache and matchmaker scheduling, but not locality scheduling) is to send timeout-generated retries to hosts that are likely to finish them fast. Here's how it works: 222 The goal of this mechanism (which works with job-cache and matchmaker scheduling, but not locality scheduling) 223 is to send timeout-generated retries to hosts that are likely to finish them fast. Here's how it works: 192 224 193 225 * Hosts are deemed "reliable" (a slight misnomer) if they satisfy turnaround time and error rate criteria. 194 226 * A job instance is deemed "need-reliable" if its priority is above a threshold. 195 * The scheduler tries to send need-reliable jobs to reliable hosts. When it does, it reduces the delay bound of the job. 196 * When job replicas are created in response to errors or timeouts, their priority is raised relative to the job's base priority. 227 * The scheduler tries to send need-reliable jobs to reliable hosts. 228 When it does, it reduces the delay bound of the job. 229 * When job replicas are created in response to errors or timeouts, 230 their priority is raised relative to the job's base priority. 197 231 198 232 The configurable parameters are: … … 201 235 <reliable_on_priority>X</reliable_on_priority> 202 236 }}} 203 Results with priority at least '''reliable_on_priority''' are treated as "need-reliable". With matchmaker scheduling, they'll be sent preferentially to reliable hosts; with job-cache scheduling, they'll be sent ONLY to reliable hosts. 237 Results with priority at least '''reliable_on_priority''' are treated as "need-reliable". 238 With matchmaker scheduling, they'll be sent preferentially to reliable hosts; with job-cache scheduling, they'll be sent ONLY to reliable hosts. 204 239 205 240 {{{ … … 207 242 <reliable_max_error_rate>X</reliable_max_error_rate> 208 243 }}} 209 Hosts whose average turnaround is at most reliable_max_avg_turnaround and whose error rate is at most reliable_max_error_rate are considered 'reliable'. Make sure you set these low enough that a significant fraction (e.g. 25%) of your hosts qualify. 244 Hosts whose average turnaround is at most reliable_max_avg_turnaround and whose error rate is at most reliable_max_error_rate are considered 'reliable'. 245 Make sure you set these low enough that a significant fraction (e.g. 25%) of your hosts qualify. 210 246 211 247 {{{ … … 218 254 <reliable_priority_on_over_except_error>X</reliable_priority_on_over_except_error> 219 255 }}} 220 If '''reliable_priority_on_over''' is nonzero, increase the priority of duplicate jobs by that amount over the job's base priority. Otherwise, if '''reliable_priority_on_over_except_error''' is nonzero, increase the priority of duplicates caused by timeout (not error) by that amount. (Typically only one of these is nonzero, and is equal to '''reliable_on_priority'''.) 221 222 NOTE: this mechanism can be used to preferentially send ANY job, not just retries, to fast/reliable hosts. To do so, set the workunit's priority to '''reliable_on_priority''' or greater. 256 If '''reliable_priority_on_over''' is nonzero, increase the priority of duplicate jobs by that amount over the job's base priority. 257 Otherwise, if '''reliable_priority_on_over_except_error''' is nonzero, 258 increase the priority of duplicates caused by timeout (not error) by that amount. 259 (Typically only one of these is nonzero, and is equal to '''reliable_on_priority'''.) 260 261 NOTE: this mechanism can be used to preferentially send ANY job, not just retries, to fast/reliable hosts. 262 To do so, set the workunit's priority to '''reliable_on_priority''' or greater. 223 263 224 264 === Locality scheduling === … … 226 266 <locality_scheduling/> 227 267 }}} 228 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 [wiki:LocalityScheduling Locality Scheduling]. 268 When possible, send work that uses the same files that the host already has. 269 This is intended for projects which have large data files, where many different workunits use the same data file. 270 In this case, to reduce download demands on the server, it may be advantageous to retain the data files on the hosts, 271 and send them work for the files that they already have. 272 See [wiki:LocalityScheduling Locality Scheduling]. 229 273 230 274 {{{ 231 275 <locality_scheduling_wait_period> N </locality_scheduling_wait_period> 232 276 }}} 233 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 [wiki:LocalityScheduling Locality Scheduling]. 277 This element only has an effect when used in conjunction with the previous locality scheduling element. 278 It tells the scheduler to use 'trigger files' to inform the project that more work is needed for specific files. 279 The period is the number of seconds which the scheduler will wait to see if the project can create additional work. 280 Together with project-specific daemons or scripts this can be used for 'just-in-time' workunit creation. 281 See [wiki:LocalityScheduling Locality Scheduling]. 234 282 235 283 === Job retransmission === … … 237 285 <resend_lost_results> 0|1 </resend_lost_results> 238 286 }}} 239 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. Note: this will increase the load on your DB server; you can minimize this by creating an index: 287 If set, and a <other_results> list is present in scheduler request, resend any in-progress results not in the list. 288 This is recommended; it may increase the efficiency of your project. 289 For reasons that are not well understood, a BOINC client sometimes fails to receive the scheduler reply. 290 This flag addresses that issue: it causes the SAME results to be resent by the scheduler, 291 if the client has failed to receive them. 292 Note: this will increase the load on your DB server; you can minimize this by creating an index: 240 293 241 294 {{{ … … 245 298 <send_result_abort>0|1</send_result_abort> 246 299 }}} 247 If set, and the client is processing a result for a WU that has been canceled or is not in the DB (i.e. there's no chance of getting credit), tell the client to abort the result regardless of state. 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) tell the client to abort the result if it hasn't started yet. Note: this will increase the load on your DB server. 300 If set, and the client is processing a result for a WU that has been canceled or is not in the DB 301 (i.e. there's no chance of getting credit), tell the client to abort the result regardless of state. 302 If client is processing a result for a WU that has been assimilated or is overdue 303 (i.e. there's a chance of not getting credit) tell the client to abort the result if it hasn't started yet. 304 Note: this will increase the load on your DB server. 248 305 249 306 === Data distribution === … … 251 308 <replace_download_url_by_timezone>URL</replace_download_url_by_timezone> 252 309 }}} 253 OUTDATED: BERND, PLEASE UPDATE. 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'. 310 OUTDATED: BERND, PLEASE UPDATE. 311 When the scheduler sends work to hosts, it replaces the download URL appearing in the data and executable file 312 descriptions with the download URL closest to the host's timezone. 313 The project must provide a two-column file called 'download_servers' in the project root directory. 314 This is a list of all download servers that will be inserted when work is sent to hosts. 315 The first column is an integer listing the server's offset in seconds from UTC. 316 The second column is the server URL in the format such as !http://einstein.phys.uwm.edu. 317 The download servers must have identical file hierarchies and contents, 318 and the path to file and executables must start with '/download/...' as in '!http://X/download/123/some_file_name'. 254 319 255 320 {{{ 256 321 <cache_md5_info> 0|1 </cache_md5_info> 257 322 }}} 258 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. 323 When creating work, keep a record (in files called foo.md5) of the file length and md5 sum of data files and executables. 324 This can greatly reduce the time needed to create work, 325 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. 259 326 260 327 === Logging === … … 326 393 <sched_debug_level> N </sched_debug_level> 327 394 }}} 328 Log messages have a "level": 1=minimal, 2=normal, 3=debug. The messages enabled by the above flags have level=2. If you set this option to N, only messages of level N or less will be written. 395 Log messages have a "level": 1=minimal, 2=normal, 3=debug. 396 The messages enabled by the above flags have level=2. If you set this option to N, only messages of level N or less will be written. 329 397 330 398 === Client control === #client-control … … 332 400 <next_rpc_delay>x</next_rpc_delay> 333 401 }}} 334 In each scheduler reply, tell the clients to do another scheduler RPC after at most X seconds, regardless of whether they need work. This is useful, e.g., to ensure that in-progress jobs can be canceled in a bounded amount of time. 402 In each scheduler reply, tell the clients to do another scheduler RPC after at most X seconds, 403 regardless of whether they need work. 404 This is useful, e.g., to ensure that in-progress jobs can be canceled in a bounded amount of time. 335 405 336 406 {{{ 337 407 <verify_files_on_app_start/> 338 408 }}} 339 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). 409 Before starting or restarting an app, check contents of input files and app version files by either MD5 or digital signature check. 410 Detects user tampering with file (but doesn't really increase security, since user could also change MD5s or signatures in client state file). 340 411 341 412 {{{ … … 347 418 <min_core_client_version_announced> N </min_core_client_version_announced> 348 419 }}} 349 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. The version number is encoded as 10000*major + 100*minor + release. 420 Announce a new version of the BOINC core client, which in the future will be the minimum required version. 421 In conjunction with the next tag, you can warn users with version below this to upgrade by a specified deadline. 422 The version number is encoded as 10000*major + 100*minor + release. 350 423 351 424 {{{ 352 425 <min_core_client_upgrade_deadline> N </min_core_client_upgrade_deadline> 353 426 }}} 354 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. 427 Use in conjunction with the previous tag. 428 The value given here is the Unix epoch returned by time(2) until which hosts can update their core client. 429 After this time, they may be shut out of the project. Before this time, they will receive messages warning them to upgrade. 355 430 356 431 {{{ … … 382 457 <dont_generate_upload_certificates/> 383 458 }}} 384 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. 459 Don't put upload certificates in results. 460 This makes result generation a lot faster, since no encryption is done, 461 but you lose protection against DoS attacks on your upload servers. 385 462 386 463 {{{ … … 393 470 <default_disk_max_used_gb> X </default_disk_max_used_gb> 394 471 }}} 395 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. 472 Sets the default value for the `disk_max_used_gb` preference so it's consistent between the scheduler and web pages. 473 The scheduler uses it when a request for work doesn't include preferences, or the preference is set to zero. 474 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. 475 Default is 100. 396 476 397 477 {{{ 398 478 <default_disk_max_used_pct> X </default_disk_max_used_pct> 399 479 }}} 400 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. 480 Sets the default value for the `disk_max_used_pct` preference so its consistent between the scheduler and web pages. 481 The scheduler uses it when a request for work doesn't include preferences, or the preference is set to zero. 482 The web page scripts use it to set the initial value when displaying or editing preferences the first time, 483 or when the user never saved them. 484 Default is 50. 401 485 402 486 {{{ 403 487 <default_disk_min_free_gb> X </default_disk_min_free_gb> 404 488 }}} 405 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. 489 Sets the default value for the `disk_min_free_gb` preference so its consistent between the scheduler and web pages. 490 The scheduler uses it when a request for work doesn't include preferences. 491 The web page scripts use it to set the initial value when displaying or editing preferences the first time, 492 or when the user never saved them. 493 Also, the scheduler uses this setting to override any smaller preference from the host, 494 it enforces a 'minimum free disk space' to keep from filling up the drive. 495 Recommend setting this no smaller than .001 (1MB or 1,000,000 bytes). 496 Default is .001. 406 497 407 498 == Credit == … … 417 508 <fp_benchmark_weight> X </fp_benchmark_weight> 418 509 }}} 419 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. 510 The weighting given to the Whetstone benchmark in the calculation of claimed credit. 511 Must be in [0 .. 1]. 512 Projects whose applications are floating-point intensive should use 1; pure integer applications, 0. 513 Choosing an appropriate value will reduce the disparity in claimed credit between hosts. 514 The script html/ops/credit_study.php, 515 run against the database of a running project, will suggest what value to use. 420 516 421 517 {{{ … … 495 591 <akismet_key> 1234567890ab </akismet_key> 496 592 }}} 497 If set, akismet.com is used to check post contents to protect forums from spam. See [wiki:ProtectionFromSpam Protecting message boards from spam] for more information. 593 If set, akismet.com is used to check post contents to protect forums from spam. 594 See [wiki:ProtectionFromSpam Protecting message boards from spam] for more information. 498 595 499 596 {{{ … … 512 609 <recaptcha_private_key>X</recaptcha_private_key> 513 610 }}} 514 Enable the use of Recaptcha for profile creation/editing; see [wiki:ProtectionFromSpam Protecting message boards from spam] for more information. 611 Enable the use of Recaptcha for profile creation/editing; 612 see [wiki:ProtectionFromSpam Protecting message boards from spam] for more information. 515 613 516 614 {{{ … … 538 636 <min_core_client_version> N </min_core_client_version> 539 637 }}} 540 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. The version number is expressed as an integer with the encoding 10000*major + 100*minor + release. You can also specify this separately for each [wiki:AppVersion application]. 638 If the scheduler gets a request from a client with a version number less than this, 639 it returns an error message and doesn't do any other processing. 640 The version number is expressed as an integer with the encoding 10000*major + 100*minor + release. 641 You can also specify this separately for each [wiki:AppVersion application]. 541 642 542 643 {{{ … … 558 659 <request_time_stats_log/> 559 660 }}} 560 If present, the scheduler will tell clients (via scheduler replies) to upload (via scheduler requests) their time stats log (which contains records of when the client started and stopped running). 661 If present, the scheduler will tell clients (via scheduler replies) to upload (via scheduler requests) 662 their time stats log (which contains records of when the client started and stopped running). 561 663 562 664 {{{ … … 568 670 <dont_store_success_stderr/> 569 671 }}} 570 If present, don't store the stderr log in the database for successful workunits. May be useful to save on database size. Available since r18528. 672 If present, don't store the stderr log in the database for successful workunits. 673 May be useful to save on database size. Available since r18528. 571 674 572 675 == Database info == #db … … 578 681 }}} 579 682 Database name, user name, hostname (default "localhost") and password (default none). 683 The hostname can be of the form hostname:port. 580 684 581 685 {{{ … … 585 689 [ <replica_db_passwd>database_password</replica_db_passwd> ] 586 690 }}} 587 Description a replica database server, which is used for read-only queries (optional). NOTE: according to Bernd Machenschalk, using a separate user account with read-only access to the replica increases the apparent consistency between main and replica. 691 Description a replica database server, which is used for read-only queries (optional). 692 NOTE: according to Bernd Machenschalk, using a separate user account with read-only 693 access to the replica increases the apparent consistency between main and replica. 588 694 589 695 == Hosts, directories, and URLs == #dirs … … 599 705 <host>hostname</host> 600 706 }}} 601 name of project's main host, as given by Python's `socket.hostname()`. Daemons and tasks run on this host by default. 707 name of project's main host, as given by Python's `socket.hostname()`. 708 Daemons and tasks run on this host by default. 602 709 603 710 {{{ … … 650 757 <sched_lockfile_dir>path</sched_lockfile_dir> 651 758 }}} 652 Enables scheduler locking (recommended) and specifies directory where scheduler lockfiles are stored. Must be writable to the Apache user. 759 Enables scheduler locking (recommended) and specifies directory where scheduler lockfiles are stored. 760 Must be writable to the Apache user. 653 761 654 762 = Parsing project options = #parsing-config