You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by ch...@apache.org on 2015/03/09 21:39:44 UTC

svn commit: r1665350 - in /uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm: JobManagerConverter.java scheduler/IRmJob.java scheduler/NodepoolScheduler.java scheduler/RmJob.java

Author: challngr
Date: Mon Mar  9 20:39:43 2015
New Revision: 1665350

URL: http://svn.apache.org/r1665350
Log:
UIMA-4275 Some cleanup.  Set reason for not giving resources when waiting evictions and defrag.

Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/JobManagerConverter.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/IRmJob.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/NodepoolScheduler.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/RmJob.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=1665350&r1=1665349&r2=1665350&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 Mar  9 20:39:43 2015
@@ -509,7 +509,6 @@ public class JobManagerConverter
         j.setUserName(user_name);
         j.setJobName(name);
 
-        int min_shares    = toInt(si.getSharesMin(), 0);
         int threads       = toInt(si.getThreadsPerShare(), scheduler.getDefaultNThreads());
         int user_priority = toInt(si.getSchedulingPriority(), 100);
 
@@ -539,7 +538,6 @@ public class JobManagerConverter
             }
         }
 
-        j.setMinShares(min_shares);
         j.setThreads(threads);
         j.setUserPriority(user_priority);
         j.setNQuestions(total_work, remaining_work, 0.0);

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/IRmJob.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/IRmJob.java?rev=1665350&r1=1665349&r2=1665350&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/IRmJob.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/IRmJob.java Mon Mar  9 20:39:43 2015
@@ -195,14 +195,15 @@ public interface IRmJob
     /**
      * Can't schedudle this nohow.  Here's why.
      */
-    void refuse(String refusal);
+    void refuse(String reason);
     String getRefusalReason();
     boolean isRefused();
 
     /**
      * Can't schedule non-preemptable yet, but maybe later
      */
-    void defer(String refsual);
+    void defer(String reason);
+    void setReason(String reason);     // maybe want to tell OR/WS/CLI something but nothing really wrong
     void undefer();
     boolean isDeferred();
 
@@ -258,10 +259,8 @@ public interface IRmJob
     public String printShares();
 
     public int getMaxShares();
-    public int getMinShares();
 
     public void setMaxShares(int s);
-    public void setMinShares(int s);
 
     public void setPureFairShare(int s);
     public int  getPureFairShare();

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/NodepoolScheduler.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/NodepoolScheduler.java?rev=1665350&r1=1665349&r2=1665350&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/NodepoolScheduler.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/NodepoolScheduler.java Mon Mar  9 20:39:43 2015
@@ -910,6 +910,7 @@ public class NodepoolScheduler
             if ( !rc.hasSharesGiven() ) {
                 for (IRmJob j : rc.getAllJobs().values()) {
                     j.clearShares();
+                    j.undefer();         // can get message set during defrag
                 }
             	continue;
             }
@@ -1173,6 +1174,7 @@ public class NodepoolScheduler
 
             for ( IRmJob j : jobs ) {
                 j.clearShares();                               // reset shares assigned at start of each schedling cycle
+                j.undefer();                                   // in case it works this time!
             }
 
             NodePool np = rc.getNodepool();
@@ -1286,7 +1288,9 @@ public class NodepoolScheduler
                         s.setFixed();
                     }
                     logger.info(methodName, j.getId(), "Assign:", nSharesToString(count, j.getShareOrder()));
-                } 
+                } else {
+                    j.setReason("Waiting on evictions.");
+                }
 
 
                 // 
@@ -2028,6 +2032,7 @@ public class NodepoolScheduler
                 }
             }
             logger.info(methodName, nj.getId(), "Could not get enough from the rich. Asked for", needy.get(nj), "still needing", needed);
+            nj.setReason("Waiting on defragmentation.");
         }
     }
 

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/RmJob.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/RmJob.java?rev=1665350&r1=1665349&r2=1665350&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/RmJob.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/RmJob.java Mon Mar  9 20:39:43 2015
@@ -51,7 +51,6 @@ public class RmJob
     protected int    user_priority;                   // user "priority", really apportionment 
 
     protected int n_machines;                         // RESERVE:     minimum machines to allocate
-    protected int min_shares;                         // FIXED_SHARE: minimum N shares to allocate
     protected int max_shares;                         // FAIR_SHARE:  maximum N shares to allocate
     protected boolean is_reservation = false;
 
@@ -891,6 +890,11 @@ public class RmJob
         return this.reason;
     }
 
+    public void setReason(String reason)
+    {
+        this.reason = reason;
+    }
+
     public void undefer()
     {
         deferred = false;
@@ -1094,21 +1098,11 @@ public class RmJob
         }
     }
 
-    public int getMinShares()
-    {
-        return min_shares;
-    }
-
     public void setMaxShares(int s)
     {
         this.max_shares = s;
     }
 
-    public void setMinShares(int s)
-    {
-        this.min_shares = s;
-    }
-
     public boolean isRunning()
     {
         return countNShares() > 0 ? true : false;
@@ -1181,10 +1175,6 @@ public class RmJob
         this.n_machines = m;
     }
 
-    public int getMaxMachines() {
-        return min_shares;
-    }
-
     public int nThreads() {
         return threads;
     }