Changeset 37919
- Timestamp:
- Feb 20, 2015, 1:59:41 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
tags/ipp-20150115/ippScripts/scripts/sc_prepare_run.pl
r37914 r37919 218 218 219 219 # Construct the moab command last, so we can use the job_index counter to estimate resources. Somehow. 220 if (($stage eq "stack")||($stage eq "staticsky")) { 221 $threads = $job_subscription{$stage}; # Put this here instead of after the calculation to prevent underutilization 222 } 220 223 my $proc_need = $job_index * $threads; # how many total processors do we need? 221 224 my $node_need = $proc_need / $proc_per_node; # this equals how many nodes? 222 225 my $time_need = $job_index * $job_cost{$stage}; # How many seconds will this take? 223 226 print STDERR "## $job_index $threads $proc_need $node_need $time_need\n"; 224 227 my $fill_factor = 0.8; # This is the factor of how much of the time allocation we'd like to fill 225 228 my ($time_req,$node_req); … … 227 230 $time_req = $min_time; 228 231 $node_req = $min_nodes; 232 print STDERR "CASE 1\n"; 229 233 } 230 234 elsif ($node_need * $job_cost{$stage} > $fill_factor * $max_nodes * $max_time) { … … 235 239 else { 236 240 $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 } 237 244 $node_req = int(($node_need * $job_cost{$stage}) / ($fill_factor * $time_req)) + 1; 238 } 239 245 print STDERR "CASE 3\n"; 246 } 247 print STDERR "## $job_index $threads $proc_need $node_need $time_need $time_req $node_req\n"; 240 248 # 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}; 242 250 243 251 if (($stage eq "stack")||($stage eq "staticsky")) {
Note:
See TracChangeset
for help on using the changeset viewer.
