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 2013/04/10 22:56:08 UTC

svn commit: r1466663 - in /uima/sandbox/uima-ducc/trunk: uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/ uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/

Author: degenaro
Date: Wed Apr 10 20:56:08 2013
New Revision: 1466663

URL: http://svn.apache.org/r1466663
Log:
UIMA-2804 DUCC orchestrator (OR) CGroups support for JD and JPs

Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/CGroupManager.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/JobFactory.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateManager.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/CGroup.java

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/CGroupManager.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/CGroupManager.java?rev=1466663&r1=1466662&r2=1466663&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/CGroupManager.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/CGroupManager.java Wed Apr 10 20:56:08 2013
@@ -18,13 +18,15 @@
 */
 package org.apache.uima.ducc.orchestrator;
 
+import org.apache.uima.ducc.common.utils.id.IDuccId;
 import org.apache.uima.ducc.transport.event.common.CGroup;
 import org.apache.uima.ducc.transport.event.common.IDuccProcess;
 
 public class CGroupManager {
 
-	public static void assign(IDuccProcess process, long max_size_in_bytes) {
-		CGroup cgroup = new CGroup(max_size_in_bytes);
+	public static void assign(IDuccId primaryId, IDuccProcess process, long max_size_in_bytes) {
+		IDuccId secondaryId = process.getDuccId();
+		CGroup cgroup = new CGroup(primaryId, secondaryId, max_size_in_bytes);
 		process.setCGroup(cgroup);
 	}
 }

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/JobFactory.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/JobFactory.java?rev=1466663&r1=1466662&r2=1466663&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/JobFactory.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/JobFactory.java Wed Apr 10 20:56:08 2013
@@ -341,7 +341,7 @@ public class JobFactory {
 		DuccId duccId = jdIdFactory.next();
 		duccId.setFriendly(0);
 		DuccProcess driverProcess = new DuccProcess(duccId,nodeIdentity,ProcessType.Pop);
-		CGroupManager.assign(driverProcess, driver_max_size_in_bytes);
+		CGroupManager.assign(job.getDuccId(), driverProcess, driver_max_size_in_bytes);
 		driverProcess.setResourceState(ResourceState.Allocated);
 		driverProcess.setNodeIdentity(nodeIdentity);
 		driver.getProcessMap().put(driverProcess.getDuccId(), driverProcess);

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateManager.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateManager.java?rev=1466663&r1=1466662&r2=1466663&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateManager.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/StateManager.java Wed Apr 10 20:56:08 2013
@@ -827,7 +827,7 @@ public class StateManager {
 					}
 					DuccProcess process = new DuccProcess(duccId, node, processType);
 					long process_max_size_in_bytes = quantum_size_in_bytes * resource.countShares();
-					CGroupManager.assign(process, process_max_size_in_bytes);
+					CGroupManager.assign(duccWorkJob.getDuccId(), process, process_max_size_in_bytes);
 					orchestratorCommonArea.getProcessAccounting().addProcess(duccId, duccWorkJob.getDuccId());
 					processMap.addProcess(process);
 					process.setResourceState(ResourceState.Allocated);

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/CGroup.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/CGroup.java?rev=1466663&r1=1466662&r2=1466663&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/CGroup.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/CGroup.java Wed Apr 10 20:56:08 2013
@@ -27,12 +27,15 @@ public class CGroup implements Serializa
 	
 	private static final long serialVersionUID = 1L;
 	
-	private IDuccId id;
+	private IDuccId primaryId;
+	private IDuccId secondaryId;
 	private long maxMemoryLimit;  // in bytes
 	private boolean reservation;
 	private int shares;
 	
-	public CGroup(long max_size_in_bytes) {
+	public CGroup(IDuccId primaryId, IDuccId secondaryId, long max_size_in_bytes) {
+		setPrimaryId(primaryId);
+		setSecondaryId(secondaryId);
 		setMaxMemoryLimit(max_size_in_bytes);
 	}
 	
@@ -48,12 +51,38 @@ public class CGroup implements Serializa
 	public void setReservation(boolean reservation) {
 		this.reservation = reservation;
 	}
-	public IDuccId getId() {
-		return id;
+	
+	public String getId() {
+		String retVal = null;
+		if(primaryId != null) {
+			if(secondaryId != null) {
+				retVal = ""+primaryId.getFriendly()+"."+secondaryId.getFriendly();
+			}
+			else {
+				retVal = ""+primaryId.getFriendly();
+			}
+		}
+		else {
+			if(secondaryId != null) {
+				retVal = "."+secondaryId.getFriendly();
+			}
+		}
+		return retVal;
+	}
+	
+	protected IDuccId getPrimaryId() {
+		return primaryId;
 	}
-	public void setId(IDuccId id) {
-		this.id = id;
+	protected void setPrimaryId(IDuccId primaryId) {
+		this.primaryId = primaryId;
 	}
+	protected IDuccId getSecondaryId() {
+		return secondaryId;
+	}
+	protected void setSecondaryId(IDuccId secondaryId) {
+		this.secondaryId = secondaryId;
+	}
+	
 	public long getMaxMemoryLimit() {
 		return maxMemoryLimit;
 	}