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.
*