mirror of https://github.com/BOINC/boinc.git
- client: job scheduling policy tweak:
if CPUs are fully committed (e.g. with EDF jobs) allow GPU jobs but only up to CPU usage of ncpus+1 svn path=/trunk/boinc/; revision=25454
This commit is contained in:
parent
b225c3b074
commit
dfd34e631f
|
@ -2777,3 +2777,11 @@ Charlie 18 Mar 2012
|
|||
BOINCGUIApp.cpp,.h
|
||||
mac/
|
||||
MacSysMenu.cpp
|
||||
|
||||
David 19 Mar 2011
|
||||
- client: job scheduling policy tweak:
|
||||
if CPUs are fully committed (e.g. with EDF jobs)
|
||||
allow GPU jobs but only up to CPU usage of ncpus+1
|
||||
|
||||
client/
|
||||
cpu_sched.cpp
|
||||
|
|
|
@ -1568,15 +1568,29 @@ bool CLIENT_STATE::enforce_run_list(vector<RESULT*>& run_list) {
|
|||
RESULT* rp = run_list[i];
|
||||
atp = lookup_active_task_by_result(rp);
|
||||
|
||||
// skip if we're already using all the CPUs
|
||||
// if we're already using all the CPUs,
|
||||
// don't allow additional CPU jobs;
|
||||
// allow GPU jobs if the resulting CPU load is at most ncpus+1
|
||||
//
|
||||
if (ncpus_used >= ncpus) {
|
||||
if (log_flags.cpu_sched_debug) {
|
||||
msg_printf(rp->project, MSG_INFO,
|
||||
"[cpu_sched_debug] all CPUs used (%.2f >= %d), skipping %s",
|
||||
ncpus_used, ncpus,
|
||||
rp->name
|
||||
);
|
||||
if (rp->uses_coprocs()) {
|
||||
if (ncpus_used + rp->avp->avg_ncpus > ncpus+1) {
|
||||
if (log_flags.cpu_sched_debug) {
|
||||
msg_printf(rp->project, MSG_INFO,
|
||||
"[cpu_sched_debug] skipping GPU job %s; CPU committed",
|
||||
rp->name
|
||||
);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
if (log_flags.cpu_sched_debug) {
|
||||
msg_printf(rp->project, MSG_INFO,
|
||||
"[cpu_sched_debug] all CPUs used (%.2f >= %d), skipping %s",
|
||||
ncpus_used, ncpus,
|
||||
rp->name
|
||||
);
|
||||
}
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue