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 2013/09/30 19:53:00 UTC

svn commit: r1527684 - in /uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler: ISchedulerMain.java Scheduler.java

Author: challngr
Date: Mon Sep 30 17:53:00 2013
New Revision: 1527684

URL: http://svn.apache.org/r1527684
Log:
UIMA-3260 Set default fair-share and reserve classes if not specified in job.

Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/ISchedulerMain.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/Scheduler.java

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/ISchedulerMain.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/ISchedulerMain.java?rev=1527684&r1=1527683&r2=1527684&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/ISchedulerMain.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/ISchedulerMain.java Mon Sep 30 17:53:00 2013
@@ -48,7 +48,8 @@ public interface ISchedulerMain
     void signalCompletion(IRmJob job, Share share);
     //void signalGrowth(DuccId jobid, Share share);
 
-    String getDefaultClassName();
+    String getDefaultFairShareName();
+    String getDefaultReserveName();
     int    getDefaultNTasks();
     int    getDefaultNThreads();
     int    getDefaultMemory();

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/Scheduler.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/Scheduler.java?rev=1527684&r1=1527683&r2=1527684&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/Scheduler.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/Scheduler.java Mon Sep 30 17:53:00 2013
@@ -88,7 +88,9 @@ public class Scheduler
     Map<ResourceClass, ResourceClass> resourceClasses = new HashMap<ResourceClass, ResourceClass>();
     Map<String, ResourceClass> resourceClassesByName = new HashMap<String, ResourceClass>();
 
-    String defaultClassName = null;
+    String defaultFairShareName = null;
+    String defaultReserveName = null;
+
     int defaultNThreads = 1;
     int defaultNTasks = 10;
     int defaultMemory = 16;
@@ -204,6 +206,8 @@ public class Scheduler
         logger.info(methodName, null, "                       default threads         : ", defaultNThreads);
         logger.info(methodName, null, "                       default tasks           : ", defaultNTasks);
         logger.info(methodName, null, "                       default memory          : ", defaultMemory);
+        logger.info(methodName, null, "                       default fairshare class : ", defaultFairShareName);
+        logger.info(methodName, null, "                       default reserve         : ", defaultReserveName);
         logger.info(methodName, null, "                       class definition file   : ", class_definitions);
         logger.info(methodName, null, "                       eviction policy         : ", evictionPolicy);
         logger.info(methodName, null, "                       use prediction          : ", SystemPropertyResolver.getBooleanProperty("ducc.rm.prediction", true));
@@ -256,9 +260,14 @@ public class Scheduler
         this.jobManager = jobmanager;
     }
 
-    public String getDefaultClassName()
+    public String getDefaultFairShareName()
+    {
+    	return defaultFairShareName;
+    }
+
+    public String getDefaultReserveName()
     {
-    	return defaultClassName;
+    	return defaultReserveName;
     }
 
     public int getDefaultNThreads()
@@ -498,6 +507,16 @@ public class Scheduler
             logger.info(methodName, null, rc.toString());
         }
 
+        DuccProperties dc = nc.getDefaultFairShareClass();
+        if ( dc != null ) {
+            defaultFairShareName = dc.getProperty("name");
+        }
+
+        dc = nc.getDefaultReserveClass();
+        if ( dc != null ) {
+            defaultReserveName = dc.getProperty("name");
+        }
+
         // Instatntiate one scheduler per top-level nodepool
         try {
             schedImplName = SystemPropertyResolver.getStringProperty("ducc.rm.scheduler", "org.apache.uima.ducc.rm.ClassBasedScheduler");
@@ -540,54 +559,6 @@ public class Scheduler
 
     }
 
-    void initClassesOld(String filename)
-        throws Exception
-    {
-        String methodName = "initClasses";
-        DuccProperties props = new DuccProperties();
-        props.load(ducc_home + "/resources/" + filename);
-
-        defaultClassName = props.getProperty("scheduling.default.name");
-
-        // read in nodepools
-        String npn = props.getProperty("scheduling.nodepool");
-        if ( npn != null ) {
-            String[] npnames = npn.split("\\s+");
-            for ( String nodepoolName : npnames ) {
-                @SuppressWarnings("unused")
-				int nporder = props.getIntProperty("scheduling.nodepool." + nodepoolName + ".order", 100);                
-                @SuppressWarnings("unused")
-				String npfile = props.getProperty("scheduling.nodepool." + nodepoolName).trim();
-                // jrc  Map<String,String> npnodes = readNodepoolFile(npfile);                
-                // jrc nodepool.createSubpool(nodepoolName, npnodes, nporder);                    
-//                 } catch (FileNotFoundException e) {
-//                     throw new SchedulingException(null, "Cannot open NodePool file \"" + npfile + "\": file not found.");
-//                 } catch (IOException e) {
-//                     throw new SchedulingException(null, "Cannot read NodePool file \"" + npfile + "\": I/O Error.");
-//                 }
-            }
-        }
-        
-        // read in the class definitions
-        String cn = props.getProperty("scheduling.class_set");
-        if ( cn == null ) {
-            throw new SchedulingException(null, "No class definitions found, scheduler cannot start.");
-        }
-        
-//        String[] classNames = cn.split("\\s+");
-        logger.info(methodName, null, "Classes:");
-        logger.info(methodName, null, ResourceClass.getHeader());
-        logger.info(methodName, null, ResourceClass.getDashes());
-//        for ( String n : classNames ) {
-//        	n = n.trim();
-//            ResourceClass rc = new ResourceClass(n); //, nodepool.getMachinesByName(), nodepool.getMachinesByIp());
-//            rc.init(props);
-//            resourceClasses.put(rc, rc);
-//            resourceClassesByName.put(n, rc);
-//            logger.info(methodName, null, rc.toString());
-//        }
-    }
-
     /**
      * Called only from schedule, under the 'this' monitor.
      *