Changes between Version 13 and Version 14 of AppMultiThread


Ignore:
Timestamp:
Mar 7, 2008, 8:12:07 AM (16 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AppMultiThread

    v13 v14  
    2121== Assumptions ==
    2222
    23 We assume that applications have the following properties:
    24 
    25  * Given a number of CPUs N, the app can select a number of threads so that it uses N CPUs as fully as possible.  This number may be less than or greater than N; it may be 1.
    26  * There may be periods during the app's execution during which its number of threads becomes less than N; e.g. there may be periods during which the app is not parallel, and the number of threads becomes 1.
     23We assume that an app version has a parameter Nthreads,
     24the maximum number of threads it uses.
     25The scheduler sends a host the app version for which Nthreads <= NCPUS and is greatest.
    2726
    2827== Scheduling policy ==
     
    3938Our scheduling policy, given N CPUs, is:
    4039
    41  * Instruct applications to use enough threads for N CPUs, and monitor how many threads NT(A) they actually use.
    4240 * Given a set of runnable applications A1, A2 (ordered by priority or deadline), run applications until the number of actual threads exceeds N.
    43  * Reschedule the CPUs whenever NT(A) changes for a running app A.
    44 
    4541
    4642== API ==
     
    7369 * <ncpus_available>
    7470
    75 Shared-memory messages:
    76  * core->app (process control channel): {{{<ncpus_available>}}}
    77  * app->core (process control channel): {{{<nthreads>}}}
    78 
    7971State:
    8072 * int ACTIVE_TASK::nthreads