- client: job scheduler tweak to avoid CPU idleness in situation

where GPU jobs use different CPU fractions
- single-job submission: default platform is that of server
This commit is contained in:
David Anderson 2013-02-10 22:14:43 -08:00 committed by Oliver Bock
parent c9ce9eeccc
commit 3c029c7613
2 changed files with 10 additions and 4 deletions

View File

@ -172,7 +172,13 @@ struct PROC_RESOURCES {
}
reserve_coprocs(*rp);
if (rp->uses_coprocs()) {
ncpus_used_st += rp->avp->avg_ncpus;
//ncpus_used_st += rp->avp->avg_ncpus;
// don't increment CPU usage.
// This may seem odd; the reason is the following scenario:
// - this job uses lots of CPU (say, a whole one)
// - there's an uncheckpointed GPU job that uses little CPU
// - we end up running the uncheckpointed job
// - this causes all or part of a CPU to be idle
} else if (rp->avp->avg_ncpus > 1) {
ncpus_used_mt += rp->avp->avg_ncpus;
} else {

View File

@ -16,8 +16,8 @@
// --stdin name: direct the given file to the program's stdin.
// --outfile name: specifies an output file.
// --stdout name: direct the program's stdout to the given file.
// --platform: the [platform] on which the program is to be run
// (default: i686-pc-linux-gnu).
// --platform: the platform on which the program is to be run
// (default: platform of server host; assumed to be Linux)
//
// You can include as many --infile and --outfile options as you want,
// and at most one of others.
@ -57,7 +57,7 @@ $job_params->delay_bound = 7*86400; // delay bound: 1 week
//
$project_dir = null;
$job_dir = getcwd();
$platform = 'i686-pc-linux-gnu';
$platform = `arch|tr -d "\n"`.'-pc-linux-gnu';
$infiles = array();
$infiles_phys = array();
// input filename with _WUID appended