Changes between Version 10 and Version 11 of Prefs2


Ignore:
Timestamp:
Sep 17, 2019, 4:53:57 PM (5 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Prefs2

    v10 v11  
    11= Computing preferences, version 2 =
    2 
    3 Note: the motivation for this is discussed [PrefsRemodel here].
    4 
    5 == Static and dynamic parameters ==
    6 
    7 Various parameters control and limit
    8 BOINC's use of computing, memory, storage, and network communication.
    9 "Static" parameters don't vary over time;
    10 for example storage-related parameters are static.
    11 "Dynamic" parameters can change in response to factors external to BOINC
    12 (such as time of day, non-BOINC CPU usage, etc.).
    13 Dynamic parameters include limits on #CPUs, RAM usage, and network throughput.
    142
    153This document describes a new system for "computing preferences" in BOINC.
    164This system lets users express, as a set of logical rules,
    17 how dynamic parameters vary as a function of external factors.
     5how dynamic parameters of resource usage vary as a function of external factors.
     6
     7Note: the motivation for this is discussed [PrefsRemodel here]; that document is otherwise deprecated.
    188
    199The goals of this system include:
     
    2212 * Extensibility: make it possible to add new external factors
    2313   (such as the current cost of electricity) without modifying the client.
     14
     15== Static and dynamic parameters ==
     16
     17Various parameters control and limit
     18BOINC's use of computing, memory, storage, and network communication.
     19
     20"Dynamic" parameters can change in response to factors external to BOINC
     21(such as time of day, non-BOINC CPU usage, etc.).
     22These include:
     23
     24 cpu_usage_limit:: CPU throttling fraction (0..1)
     25 dont_use_cpu:: don't run any jobs
     26 dont_use_gpu:: don't run GPU jobs
     27 dont_do_file_xfer:: don't do file xfers
     28 dont_use_network:: don't do any network communication at all
     29 max_bytes_sec_down:: max download data rate
     30 max_bytes_sec_up:: max upload data rate
     31 max_ncpus:: max # of CPUs to use
     32 max_ncpus_pct:: max % of CPUs to use
     33 ram_max_used_frac:: max fraction of RAM to use
     34
     35"Static" parameters don't vary over time.
     36These include:
     37
     38 confirm_before_connecting:: ask before creating network connection
     39 cpu_scheduling_period:: time between rescheduling jobs
     40 disk_max_used_gb:: max disk usage
     41 disk_max_used_pct:: max % of disk to use
     42 disk_min_free_gb:: min free disk space
     43 dont_verify_images:: don't verify image files
     44 hangup_if_dialed:: hang up modem connection when done
     45 leave_apps_in_memory:: suspend (rather than quit) non-running jobs
     46 work_buf_additional_days:: when request work, ask for this much beyond min
     47 work_buf_min_days:: keep at least this much work
    2448
    2549The XML representation of parameters:
     
    4569External factors are stored in a "prefs dictionary",
    4670which is a name -> value map.
    47 Examples:
    48 
    49  * "idle_time": # seconds since last user input
    50  * "time": time of day
    51  * "on_batteries": whether system is running on batteries
    52  * app_name: whether a given application is running
    53  * "non_boinc_cpu_usage": fraction of CPU used for non-BOINC apps recently
    54 
    55 These values are updated periodically by the client.
     71The following entries are maintained by the BOINC client:
     72
     73 idle_time:: # seconds since last user input
     74 time:: time of day
     75 on_batteries:: system is running on batteries
     76 app_name:: whether a given application is running
     77 non_boinc_cpu_usage:: fraction of CPU used for non-BOINC apps recently
     78 daily_xfer_mb_N:: number of MB of file transfer in last N days
     79 on_ac_power:: system is running on AC power (Android)
     80 on_usb_power:: system is running on USB power (Android)
     81 wifi_online:: !WiFi network connection exists (Android)
     82 user_active:: system thinks user is active (Android)
     83 battery_charge:: battery charge level, 0..100 (Android)
     84 battery_temperature:: battery temperature, Centigrade (Android)
     85
    5686In addition, external programs can add items to the dictionary,
    5787and update their values, via GUI RPCs.
     
    99129</time_range>
    100130}}}
     131x and y are hours (0..24).
     132The first start/end apply to all days.
     133This is overwritten by day_of_week elements.
    101134
    102135== Conditions ==