IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 37919


Ignore:
Timestamp:
Feb 20, 2015, 1:59:41 PM (11 years ago)
Author:
watersc1
Message:

Update to resource request to prevent odd solutions for long running staticsky jobs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tags/ipp-20150115/ippScripts/scripts/sc_prepare_run.pl

    r37914 r37919  
    218218
    219219# Construct the moab command last, so we can use the job_index counter to estimate resources.  Somehow.
     220if (($stage eq "stack")||($stage eq "staticsky")) {
     221    $threads = $job_subscription{$stage};  # Put this here instead of after the calculation to prevent underutilization
     222}
    220223my $proc_need = $job_index * $threads;       # how many total processors do we need?
    221224my $node_need = $proc_need / $proc_per_node; # this equals how many nodes?
    222225my $time_need = $job_index * $job_cost{$stage};      # How many seconds will this take?
    223 
     226print STDERR "## $job_index $threads $proc_need $node_need $time_need\n";
    224227my $fill_factor = 0.8;  # This is the factor of how much of the time allocation we'd like to fill
    225228my ($time_req,$node_req);
     
    227230    $time_req = $min_time;
    228231    $node_req = $min_nodes;
     232    print STDERR "CASE 1\n";
    229233}
    230234elsif ($node_need * $job_cost{$stage} > $fill_factor * $max_nodes * $max_time) {
     
    235239else {
    236240    $time_req = int(($node_need * $job_cost{$stage}) / ($fill_factor * $max_nodes)) + 1;
     241    if ($time_req < $job_cost{$stage}) {
     242        $time_req = $job_cost{$stage} + 1;
     243    }
    237244    $node_req = int(($node_need * $job_cost{$stage}) / ($fill_factor * $time_req)) + 1;
    238 }
    239 
     245    print STDERR "CASE 3\n";
     246}
     247print STDERR "## $job_index $threads $proc_need $node_need $time_need $time_req $node_req\n";
    240248# Most jobs only take 1 core, but ensure that we split them appropriately
    241 $node_req *= $job_subscription{$stage};
     249# $node_req *= $job_subscription{$stage};
    242250
    243251if (($stage eq "stack")||($stage eq "staticsky")) {
Note: See TracChangeset for help on using the changeset viewer.