Changes between Version 11 and Version 12 of Prefs2


Ignore:
Timestamp:
Oct 30, 2019, 10:20:29 AM (4 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Prefs2

    v11 v12  
    33This document describes a new system for "computing preferences" in BOINC.
    44This system lets users express, as a set of logical rules,
    5 how dynamic parameters of resource usage vary as a function of external factors.
     5how resource usage settings vary as a function of external factors.
    66
    77Note: the motivation for this is discussed [PrefsRemodel here]; that document is otherwise deprecated.
     
    1313   (such as the current cost of electricity) without modifying the client.
    1414
    15 == Static and dynamic parameters ==
    16 
    17 Various parameters control and limit
     15== Static and dynamic settings ==
     16
     17Various "settings" control and limit
    1818BOINC's use of computing, memory, storage, and network communication.
    1919
    20 "Dynamic" parameters can change in response to factors external to BOINC
     20"Dynamic" settings can change in response to factors external to BOINC
    2121(such as time of day, non-BOINC CPU usage, etc.).
    2222These include:
     
    3333 ram_max_used_frac:: max fraction of RAM to use
    3434
    35 "Static" parameters don't vary over time.
     35"Static" settings don't vary over time.
    3636These include:
    3737
     
    4747 work_buf_min_days:: keep at least this much work
    4848
    49 The XML representation of parameters:
    50 {{{
    51 <static_params>
     49The XML representation of setting groups:
     50{{{
     51<settings>
     52   [ <max_ncpus_pct>x</max_ncpus_pct> ]
     53   ...
     54</settings>
     55
     56<static_settings>
    5257   [ <disk_max_used_gb>x</disk_max_used_gb> ]
    5358   ...
    54 </static_params>
    55 
    56 <dynamic_params>
    57    [ <max_ncpus_pct>x</max_ncpus_pct> ]
    58    ...
    59 </dynamic_params>
     59</static_settings>
    6060}}}
    6161
    6262All elements are optional;
    63 a parameter set can define some elements but not others.
    64 If A and B are parameter sets, the "overlay of A on B" is defined as
     63a group can define some elements but not others.
     64If A and B are setting groups, the "overlay of A on B" is defined as
    6565A together with any elements in B that are not defined in A.
    6666
     
    149149== Clauses ==
    150150
    151 A "clause" is the combination of a condition and a set of dynamic parameters.
     151A "clause" is the combination of a condition and a dynamic setting group.
    152152XML format:
    153153{{{
    154154<clause>
    155155   <condition> ... </condition>
    156    <dynamic_params> ... </dynamic_params>
     156   <settings> ... </settings>
    157157<clause>
    158158}}}
     
    166166   <clause> ... </clause>
    167167   ...
    168    <static_params> ... <static_params>
     168   <static_settings> ... <static_settings>
    169169</computing_prefs>
    170170}}}
    171171
    172172The semantics are as follows.
    173 X is a set of dynamic parameters, initially empty.
     173X is a dynamic setting group, initially empty.
    174174The clauses are processed in order.
    175175For each clause C, evaluate its condition.
    176 If the condition is true, overlay X with C's dynamic parameters.
    177 At the conclusion, X is the dynamic parameters to be enforced by the client.
     176If the condition is true, overlay X with C's dynamic settings.
     177At the conclusion, X is the dynamic settings to be enforced by the client.
    178178
    179179== Example ==
     
    185185<computing_prefs>
    186186   <clause>
    187       <dynamic_params>
     187      <settings>
    188188         <max_ncpus_pct>50</max_ncpus_pct>
    189189         <ram_max_used_frac>.5</ram_max_used_frac>
    190       </dynamic_params>
     190      </settings>
    191191   </clause>
    192192   <clause>
     
    198198         </term>
    199199      </condition>
    200       <dynamic_params>
     200      <settings>
    201201         <max_ncpus_pct>100</max_ncpus_pct>
    202202         <ram_max_used_frac>.9</ram_max_used_frac>
    203       </dynamic_params>
     203      </settings>
    204204   </clause>
    205205</computing_prefs>