Changes between Version 11 and Version 12 of Prefs2
- Timestamp:
- Oct 30, 2019, 10:20:29 AM (5 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Prefs2
v11 v12 3 3 This document describes a new system for "computing preferences" in BOINC. 4 4 This system lets users express, as a set of logical rules, 5 how dynamic parameters of resource usagevary as a function of external factors.5 how resource usage settings vary as a function of external factors. 6 6 7 7 Note: the motivation for this is discussed [PrefsRemodel here]; that document is otherwise deprecated. … … 13 13 (such as the current cost of electricity) without modifying the client. 14 14 15 == Static and dynamic parameters ==16 17 Various parameterscontrol and limit15 == Static and dynamic settings == 16 17 Various "settings" control and limit 18 18 BOINC's use of computing, memory, storage, and network communication. 19 19 20 "Dynamic" parameters can change in response to factors external to BOINC20 "Dynamic" settings can change in response to factors external to BOINC 21 21 (such as time of day, non-BOINC CPU usage, etc.). 22 22 These include: … … 33 33 ram_max_used_frac:: max fraction of RAM to use 34 34 35 "Static" parameters don't vary over time.35 "Static" settings don't vary over time. 36 36 These include: 37 37 … … 47 47 work_buf_min_days:: keep at least this much work 48 48 49 The XML representation of parameters: 50 {{{ 51 <static_params> 49 The XML representation of setting groups: 50 {{{ 51 <settings> 52 [ <max_ncpus_pct>x</max_ncpus_pct> ] 53 ... 54 </settings> 55 56 <static_settings> 52 57 [ <disk_max_used_gb>x</disk_max_used_gb> ] 53 58 ... 54 </static_params> 55 56 <dynamic_params> 57 [ <max_ncpus_pct>x</max_ncpus_pct> ] 58 ... 59 </dynamic_params> 59 </static_settings> 60 60 }}} 61 61 62 62 All elements are optional; 63 a parameter setcan define some elements but not others.64 If A and B are parameter sets, the "overlay of A on B" is defined as63 a group can define some elements but not others. 64 If A and B are setting groups, the "overlay of A on B" is defined as 65 65 A together with any elements in B that are not defined in A. 66 66 … … 149 149 == Clauses == 150 150 151 A "clause" is the combination of a condition and a set of dynamic parameters.151 A "clause" is the combination of a condition and a dynamic setting group. 152 152 XML format: 153 153 {{{ 154 154 <clause> 155 155 <condition> ... </condition> 156 < dynamic_params> ... </dynamic_params>156 <settings> ... </settings> 157 157 <clause> 158 158 }}} … … 166 166 <clause> ... </clause> 167 167 ... 168 <static_ params> ... <static_params>168 <static_settings> ... <static_settings> 169 169 </computing_prefs> 170 170 }}} 171 171 172 172 The semantics are as follows. 173 X is a set of dynamic parameters, initially empty.173 X is a dynamic setting group, initially empty. 174 174 The clauses are processed in order. 175 175 For 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.176 If the condition is true, overlay X with C's dynamic settings. 177 At the conclusion, X is the dynamic settings to be enforced by the client. 178 178 179 179 == Example == … … 185 185 <computing_prefs> 186 186 <clause> 187 < dynamic_params>187 <settings> 188 188 <max_ncpus_pct>50</max_ncpus_pct> 189 189 <ram_max_used_frac>.5</ram_max_used_frac> 190 </ dynamic_params>190 </settings> 191 191 </clause> 192 192 <clause> … … 198 198 </term> 199 199 </condition> 200 < dynamic_params>200 <settings> 201 201 <max_ncpus_pct>100</max_ncpus_pct> 202 202 <ram_max_used_frac>.9</ram_max_used_frac> 203 </ dynamic_params>203 </settings> 204 204 </clause> 205 205 </computing_prefs>