Changes between Version 5 and Version 6 of ClientSched


Ignore:
Timestamp:
Dec 3, 2008, 12:59:17 PM (15 years ago)
Author:
Nicolas
Comment:

reformat list. (if you don't like the spacing between list items, edit the CSS)

Legend:

Unmodified
Added
Removed
Modified
  • ClientSched

    v5 v6  
    55Changes include:
    66
    7 0) app versions now include avg_ncpus, coprocessor usage, and
    8 a FLOPS estimate (this defaults to the CPU benchmark,
    9 but for GPU and multithread apps it will be different).
    10 This info is sent from the server.
    11 
    12 1) Estimating the duration of unstarted jobs:
    13 jobs are now associated with specific app versions.
    14 The estimated duration of an unstarted job is the WU's
    15 FLOP estimate divided by the app version's FLOPS,
    16 scaled by the duration correction factor.
    17 
    18 2) Duration correction factor: this is now based on elapsed time
    19 (i.e. wall time during which the job has been running) rather than CPU time.
    20 Yes, this is affected by non-BOINC CPU load; that's as it should be.
    21 
    22 3) "CPU efficiency" is no longer maintained; it's subsumed in DCF.
    23 
    24 4) Estimating the duration of running jobs:
    25 this is a weighted average of static and dynamic estimates.
    26 The dynamic estimate is now based on elapsed time rather than CPU time.
    27 So if a GPU job has been running for 5 min, is 25% done,
    28 and has used 1 min of CPU, its dynamic estimate is 20 min (not 4 min).
    29 
    30 5) round-robin simulation: this was modified to reflect multi-thread
    31 and coproc apps (e.g., if the host has 1 GPU, only one coproc app
    32 can run at a time).
    33 If CPUs are idle because coprocs are in use,
    34 don't count it towards CPU shortfall.
    35 
    36 6) scheduler_cpus() and enforce_schedule() take coprocs and
    37 avg_ncpus into account.  They try to keep GPUs busy if possible.
     7 1. app versions now include avg_ncpus, coprocessor usage, and
     8 a FLOPS estimate (this defaults to the CPU benchmark,
     9 but for GPU and multithread apps it will be different).
     10 This info is sent from the server.
     11 1. Estimating the duration of unstarted jobs:
     12 jobs are now associated with specific app versions.
     13 The estimated duration of an unstarted job is the WU's
     14 FLOP estimate divided by the app version's FLOPS,
     15 scaled by the duration correction factor.
     16 1. Duration correction factor: this is now based on elapsed time
     17 (i.e. wall time during which the job has been running) rather than CPU time.
     18 Yes, this is affected by non-BOINC CPU load; that's as it should be.
     19 1. "CPU efficiency" is no longer maintained; it's subsumed in DCF.
     20 1. Estimating the duration of running jobs:
     21 this is a weighted average of static and dynamic estimates.
     22 The dynamic estimate is now based on elapsed time rather than CPU time.
     23 So if a GPU job has been running for 5 min, is 25% done,
     24 and has used 1 min of CPU, its dynamic estimate is 20 min (not 4 min).
     25 1. Round-robin simulation: this was modified to reflect multi-thread
     26 and coproc apps (e.g., if the host has 1 GPU, only one coproc app
     27 can run at a time).
     28 If CPUs are idle because coprocs are in use,
     29 don't count it towards CPU shortfall.
     30 1. scheduler_cpus() and enforce_schedule() take coprocs and
     31 avg_ncpus into account.  They try to keep GPUs busy if possible.
    3832
    3933---------------