com.ace.moab.api.jobs
Class DynamicJobInformation

java.lang.Object
  extended by com.ace.moab.api.jobs.DynamicJobInformation

public class DynamicJobInformation
extends java.lang.Object

This class describes the extending information that can be found on a dynamic job.

For all ranges (with the exception of TARGETTHROUGHPUT) that apply to a dynamic job, if the actual value drops below the minimum, resources are released. If the actual value exceeds above the maximum, resources will be allocated. TARGETTHROUGHPUT is the opposite. If the throughput exceeds the maximum, resources are released from the dynamic. Conversely, if throughput drops below the minimum, resources are allocated to the dynamic job.


Constructor Summary
DynamicJobInformation()
           
 
Method Summary
 long getAllocationDelay()
          Get the duration in seconds between subsequent allocation changes.
 long getAllocationSize()
          Get the number of tasks to allocate/deallocate in a single chunk.
 java.lang.Number getCurrentValue(DynamicJobAttribute jobAttribute)
          Get the current value for the dynamic job attribute given.
 long getMaxAllocationSize()
          Get the max number of tasks to allocate/deallocate at time.
 MoabLimits<? extends java.lang.Number> getMoabLimits(DynamicJobAttribute jobAttribute)
          Get the specified MoabLimits for the given DynamicJobAttribute.
 double getSLAViolationValue()
           Returns the worst-case violation of a job's target SLA information as reported in a percentage.
 boolean isSelectable()
          If true, the template is selectable during a job submission.
 void setAllocationDelay(long allocationDelay)
          Set the duration in seconds between subsequent allocation changes.
 void setAllocationSize(long allocationSize)
          Set the number of tasks to allocate/deallocate in a single chunk.
 void setCurrentValue(DynamicJobAttribute jobAttribute, java.lang.Number currentValue)
          Set the current value for the dynamic job attribute specified.
 void setMaxAllocationSize(long maxAllocationSize)
          Set the max number of tasks to allocate/deallocate at time.
 void setMoabLimits(DynamicJobAttribute jobAttribute, MoabLimits<? extends java.lang.Number> limits)
          Set MoabLimits for the job attribute specified.
 void setSelectable(boolean isSelectable)
          Sets If the template is selectable during a job submission.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DynamicJobInformation

public DynamicJobInformation()
Method Detail

getCurrentValue

public java.lang.Number getCurrentValue(DynamicJobAttribute jobAttribute)
Get the current value for the dynamic job attribute given. Can be null.

Parameters:
jobAttribute - The dynamic job attribute
Returns:
The current value for the dynamic job attribute.

getMoabLimits

public MoabLimits<? extends java.lang.Number> getMoabLimits(DynamicJobAttribute jobAttribute)
Get the specified MoabLimits for the given DynamicJobAttribute. Can be null.

Parameters:
jobAttribute - The job attribute to get the Moab Limits.
Returns:
the specified MoabLimits for the given DynamicJobAttribute. Can be null.

setCurrentValue

public void setCurrentValue(DynamicJobAttribute jobAttribute,
                            java.lang.Number currentValue)
Set the current value for the dynamic job attribute specified. Can be null.

Parameters:
jobAttribute - the job attribute to set.
currentValue - the current value of the job attribute specified.

setMoabLimits

public void setMoabLimits(DynamicJobAttribute jobAttribute,
                          MoabLimits<? extends java.lang.Number> limits)
Set MoabLimits for the job attribute specified.

Parameters:
jobAttribute - The job attribute to have the moab limits set.
limits - the limits for the job attribute specified.

getAllocationDelay

public long getAllocationDelay()
Get the duration in seconds between subsequent allocation changes.

Returns:
The duration in seconds between subsequent allocation changes.

getAllocationSize

public long getAllocationSize()
Get the number of tasks to allocate/deallocate in a single chunk.

Returns:
The number of tasks to allocate/deallocate in a single chunk.

getMaxAllocationSize

public long getMaxAllocationSize()
Get the max number of tasks to allocate/deallocate at time. If this is non-zero, it should be greater than the allocation size. If set, Moab will allocate somewhere between allocationSize and max allocation size tasks at a time (inclusive)

Returns:
the max number of tasks to allocate/deallocate at time. If this is non-zero, it should be greater than the allocation size. If set, Moab will allocate somewhere between allocationSize and max allocation size tasks at a time (inclusive)

isSelectable

public boolean isSelectable()
If true, the template is selectable during a job submission.

Returns:
True if the template is selectable during a job submission.

setAllocationDelay

public void setAllocationDelay(long allocationDelay)
Set the duration in seconds between subsequent allocation changes.

Parameters:
allocationDelay - The duration in seconds between subsequent allocation changes.

setAllocationSize

public void setAllocationSize(long allocationSize)
Set the number of tasks to allocate/deallocate in a single chunk.

Parameters:
allocationSize - The number of tasks to allocate/deallocate in a single chunk.

setMaxAllocationSize

public void setMaxAllocationSize(long maxAllocationSize)
Set the max number of tasks to allocate/deallocate at time. If this is non-zero, it should be greater than the allocation size. If set, Moab will allocate somewhere between allocationSize and max allocation size tasks at a time (inclusive)

Parameters:
maxAllocationSize - the max number of tasks to allocate/deallocate at time. If this is non-zero, it should be greater than the allocation size. If set, Moab will allocate somewhere between allocationSize and max allocation size tasks at a time (inclusive)

setSelectable

public void setSelectable(boolean isSelectable)
Sets If the template is selectable during a job submission.

Parameters:
isSelectable - If true, the template is selectable during a job submission.

getSLAViolationValue

public double getSLAViolationValue()

Returns the worst-case violation of a job's target SLA information as reported in a percentage.

Looking at the four target ranges of a dynamic job, this will return a negative percentage if the actual value is lower than the minimum target. Similarly, it will return a postive percentage if the actual value is higher than maximum target. If no values are outside the targets or the SLA targets are not used, then 0 is returned.

Returns:
the worst-case violation of the job's target SLA information as reported as a percentage.


Copyright © 2001-2009 Cluster Resources, Inc. All Rights Reserved.