You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by de...@apache.org on 2016/04/04 20:27:51 UTC
svn commit: r1737719 -
/uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/JobManagerConverter.java
Author: degenaro
Date: Mon Apr 4 18:27:51 2016
New Revision: 1737719
URL: http://svn.apache.org/viewvc?rev=1737719&view=rev
Log:
UIMA-4882 DUCC Resource Manager (RM) does not adequately expand Job Processes (JPs)
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/JobManagerConverter.java
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/JobManagerConverter.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/JobManagerConverter.java?rev=1737719&r1=1737718&r2=1737719&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/JobManagerConverter.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/JobManagerConverter.java Mon Apr 4 18:27:51 2016
@@ -360,17 +360,31 @@ public class JobManagerConverter
arith_mean = stats.getMean();
}
+ // The skewed mean is the arithmetic mean of work items both completed
+ // (if any) and active (if any). All completed work items contribute,
+ // but only active work items whose time already exceeds the mean of
+ // the completed ones contribute.
+
+ // To schedule, we always use the skewed_mean when it is > 0.
+
+ double skewed_mean = si.getAvgTimeForWorkItemsSkewedByActive();
+
logger.info(methodName, job.getDuccId(),
- String.format("tot: %d %s -> %s compl: %s err: %s rem: %d mean: %f",
+ String.format("tot: %d %s -> %s compl: %s err: %s rem: %d mean: %f skew: %f",
total_work,
state,
job.getStateObject(),
si.getWorkItemsCompleted(), // note this comes in as string (!) from OR
si.getWorkItemsError(), // also string
remaining_work,
- arith_mean
+ arith_mean,
+ skewed_mean
));
+ if(skewed_mean > 0) {
+ arith_mean = skewed_mean;
+ }
+
if ( max_shares != existing_max_shares ) {
j.setMaxShares(max_shares);
logger.info(methodName, job.getDuccId(), "Max shares adjusted from", existing_max_shares, "to", max_shares, "(incoming)",