Changes between Version 3 and Version 4 of PortalFeatures


Ignore:
Timestamp:
Oct 1, 2010, 2:42:44 PM (14 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PortalFeatures

    v3 v4  
    3232 * A scientist's share is increased if they contribute to the portal,
    3333   e.g. by participating in the message boards.
     34
     35The set of users may be large (1000s) and dynamic.
     36Typically, only a few may have jobs at any given point.
    3437
    3538What are the precise semantics of computing share?
     
    116119and a button for aborting the batch.
    117120
    118 == Job DAGs ==
     121=== Job DAGs ===
    119122
    120123Batches are a special case of Directed Acyclic Graphs (DAGs) of jobs.
     
    139142As an extension of the work described above,
    140143we could support DAGs rather than just batches.
     144
     145== Combining multiple scheduling types ==
     146
     147BOINC potentially supports the following types of work,
     148each with its own scheduling mechanism:
     149
     150 * Job-stream: the input is a stream of jobs;
     151   the goal is to maximize throughput and eventually finish all jobs.
     152 * Batch: described above.
     153 * Locality: a variant of job-stream in which
     154   jobs are assigned according to the files resident on the client.
     155 * Co-scheduling: like batch, except all jobs in each batch
     156   must run simultaneously (e.g., MPI applications).
     157
     158A single project (such as a portal) may have work of some or all types.
     159
     160How should we handle multiple scheduling types -
     161in particular, how can we maintain resource shares in their presence?
     162
     163One simple approach is to maintain, for each scheduling type T,
     164the maximum debt D(T) of any user with an unsent job of type T.
     165Then use this top-level policy:
     166{{{
     167for each scheduling type T in order of descending D(T)
     168        send jobs of type T
     169}}}
     170How to maintain D(T):
     171
     172 * Job-stream: maintain in the feeder (consider only jobs in the cache)
     173 * Locality: constraint: only 1 user can use locality scheduling
     174 * Batch: maintain in batch module
     175 * Co-scheduling: maintain in co-scheduling module
     176
     177== Maintaining debts ==
     178
     179A user's debt is adjusted each time a job is dispatched,
     180based on the estimated FLOPS of the job.
     181This quantity is recorded in the job record.
     182
     183When a job finishes or times out
     184(at which point the actual computing done is known)
     185the user debt is adjusted accordingly.