Changes between Version 5 and Version 6 of AppMultiThread
- Timestamp:
- Nov 20, 2007, 2:30:44 PM (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
AppMultiThread
v5 v6 53 53 }}} 54 54 55 An application calls boinc_target_nthreads()periodically,55 An application calls {{{boinc_target_nthreads()}}} periodically, 56 56 at points where it is able to change its number of threads. 57 It calls boinc_actual_nthreads()to report its actual number of threads.57 It calls {{{boinc_actual_nthreads()}}} to report its actual number of threads. 58 58 59 59 A WU DB record can specify "max average ncpus", 60 60 an estimate of Ncpus(A) on a host with arbitrarily many CPUs. 61 This is used 62 by the client and scheduler to estimate completion time. 61 This is used by the client and scheduler to estimate completion time. 63 62 64 63 == Implementation == 65 64 66 65 Shared-memory messages: 67 * core->app (process control channel): <target_nthreads>68 * app->core (process control channel): <actual_nthreads>66 * core->app (process control channel): {{{<target_nthreads>}}} 67 * app->core (process control channel): {{{<actual_nthreads>}}} 69 68 70 Client maintains estimates of CPU effi ency per job,71 uses this to scale target_nthreads.69 Client maintains estimates of CPU efficiency per job, 70 uses this to scale {{{target_nthreads}}}. 72 71 73 72 74 Implementation ( enforce_schedule()):75 as we schedule jobs, decrement CPU count by scaled actual_nthreads.76 rr_simulation()needs to be modified too.73 Implementation ({{{enforce_schedule()}}}): 74 as we schedule jobs, decrement CPU count by scaled {{{actual_nthreads}}}. 75 {{{rr_simulation()}}} needs to be modified too.