Changes between Initial Version and Version 1 of CreditAlt


Ignore:
Timestamp:
Sep 14, 2011, 2:16:23 PM (13 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CreditAlt

    v1 v1  
     1[[PageOutline]]
     2= Alternative mechanisms for granting credit =
     3
     4By default, BOINC automatically grants credit for valid jobs.
     5It does this in a way that is
     6 * Device-neutral: a given job gets the same credit no matter
     7   which host or device (CPU/GPU) it runs on.
     8 * Project-neutral: a given host gets roughly the same credit per day
     9   no matter what project it's attached to.
     10
     11Projects should use the default credit system
     12unless there is a clear reason not to.
     13To handle such cases, BOINC provides the following alternative mechanisms:
     14
     15== Credit via trickle messages ==
     16
     17If you have very long-running jobs (a week or more) you may want to
     18grant credit incrementally.
     19To do so:
     20
     21 * Have your application periodically send [TrickleApi trickle-up messages]
     22  with variety '''runtime''' and content
     23{{{
     24<runtime>X</runtime>
     25}}}
     26  where X is the runtime since the last trickle message.
     27
     28 * Run the '''trickle_credit''' daemon as follows:
     29{{{
     30trickle_credit --variety runtime --max_runtime Y
     31}}}
     32where Y is the limit on runtime
     33(typically the period of the trickle messages).
     34
     35 * Run your validator for the app with the '''--no_credit''' option
     36
     37The '''trickle_credit''' daemon grants credit in proportion to (runtime * CPU FLOPS),
     38hence this approach should be used only for applications with only single-CPU versions.
     39
     40This approach is not device-neutral because hosts with the same peak FLOPS
     41may have different actual FLOPS for the app version.
     42
     43== Credit for nonuniform jobs ==
     44
     45The default credit system assumes that a given job always does
     46roughly the same amount of computation, no matter what host it runs on.
     47This is not the case, for example,
     48if your application is designed to run for a certain amount of time and then exit.
     49
     50For such applications, run your validator with the
     51{{{
     52--credit_from_runtime X
     53}}}
     54option.
     55This grants credit in proportion to (runtime * CPU FLOPS),
     56hence this approach should be used only for applications with only single-CPU versions.
     57
     58X is the maximum runtime for which credit will be granted.
     59This provides a measure of cheat-proofing.
     60
     61== Explicit credit ==
     62
     63You can assign credit to WUs when they are created.
     64If X is the number of FLOPs that the WU is expected to use,
     65the credit should be X*200/(86400*1e9).
     66Then run your validator with the
     67{{{
     68--credit_from_wu
     69}}}
     70option.