Changes between Version 17 and Version 18 of GpuWorkFetch


Ignore:
Timestamp:
Dec 29, 2008, 10:53:34 AM (16 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GpuWorkFetch

    v17 v18  
    2626This document proposes a modification to the work-fetch system that solves these problems.
    2727
    28 For simplicity, the design assumes that there is only one GPU type (CUDA).
    29 It is straightforward to extend the design to handle additional GPU types.
     28For simplicity, the design considers only one GPU type (CUDA).
     29However, it is straightforward to extend the design to handle additional GPU types.
    3030
    3131== Terminology ==
     
    6262New abstraction: '''processing resource''' or PRSC.
    6363There are two processing resource types: CPU and CUDA.
     64
     65The notion of long-term debt
    6466
    6567=== Per-resource-type backoff ===
     
    7981This is stored in an object of class PRSC_WORK_FETCH.
    8082
    81 Data members of PRSC_WORK_FETCH
     83Data members of PRSC_WORK_FETCH:
    8284
    8385'''ninstances'''
     
    122124It has the following "persistent" members (i.e., saved in state file):
    123125
    124 '''double long_term_debt*'''
    125 
    126126'''backoff timer'''*:  how long to wait until ask project for work specifically for this PRSC;
    127127double this any time we ask for work for this rsc and get none
     
    143143}}}
    144144
     145Each project has the following work-fetch-related state:
     146
     147'''double long_term_debt*''': the amount of processing (including GPU, but expressed in terms of CPU seconds) owed to this project.
     148
    145149=== debt accounting ===
    146150{{{
    147 for each resource type
    148    R.accumulate_debt(dt)
     151for each resource type R
     152   for each project P
     153      if P is not backed off for R
     154         P.R.LTD += share
     155   for each running job J, project P
     156      for each resource R used by J
     157         P.R.LTD -= share*dt
    149158}}}
    150159
     
    209218   clear backoff for the PRSC of each returned job
    210219}}}
     220
    211221== Scheduler changes ==
    212222{{{