com.ace.moab.api.node
Enum NodeAllocationPolicy

java.lang.Object
  extended by java.lang.Enum<NodeAllocationPolicy>
      extended by com.ace.moab.api.node.NodeAllocationPolicy
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<NodeAllocationPolicy>

public enum NodeAllocationPolicy
extends java.lang.Enum<NodeAllocationPolicy>


Enum Constant Summary
CONTIGUOUS
          This algorithm will allocate nodes in contiguous (linear) blocks as required by the Compaq RMS system.
CPULOAD
          Nodes are selected which have the maximum amount of available, unused cpu power, i.e.
FASTEST
          This algorithm will select nodes in 'fastest node first' order.
FIRSTAVAILABLE
          Simple first come, first served algorithm where nodes are allocated in the order they are presented by the resource manager.
LASTAVAILABLE
          This algorithm selects resources so as to minimize the amount of time after the job and before the trailing reservation.
LOCAL
          This will call the locally created contrib node allocation algorithm.
MAXBALANCE
          This algorithm will attempt to allocate the most 'balanced' set of nodes possible to a job.
MINRESOURCE
          This algorithm prioritizes nodes according to the configured resources on each node.
NONE
          No node allocation policy is specified.
PRIORITY
          This algorithm allows a site to specify the priority of various static and dynamic aspects of compute nodes and allocate them with preference for higher priority nodes.
 
Method Summary
static java.util.Vector<java.lang.String> getNames()
          Returns a collection of all the names of the enum values NodeAllocationPolicy type.
static NodeAllocationPolicy parseNodeAllocationPolicyString(java.lang.String nodeAllocationPolicyString)
          Parses a string and converts it into a NodeAllocationPolicy enum value if possible.
 java.lang.String toString()
          Returns a string representation of this object
static NodeAllocationPolicy valueOf(java.lang.String name)
          Returns the enum constant of this type with the specified name.
static NodeAllocationPolicy[] values()
          Returns an array containing the constants of this enum type, in the order they're declared.
 
Methods inherited from class java.lang.Enum
clone, compareTo, equals, getDeclaringClass, hashCode, name, ordinal, valueOf
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Enum Constant Detail

NONE

public static final NodeAllocationPolicy NONE
No node allocation policy is specified. Moab defaults to MINRESOURCE when this is the case


FIRSTAVAILABLE

public static final NodeAllocationPolicy FIRSTAVAILABLE
Simple first come, first served algorithm where nodes are allocated in the order they are presented by the resource manager. This is a very simple, and very fast algorithm.


LASTAVAILABLE

public static final NodeAllocationPolicy LASTAVAILABLE
This algorithm selects resources so as to minimize the amount of time after the job and before the trailing reservation. This algorithm is a best fit in time algorithm which minimizes the impact of reservation based node-time fragmentation. It is useful in systems where a large number of reservations (job, standing, or administrative) are in place.


MINRESOURCE

public static final NodeAllocationPolicy MINRESOURCE
This algorithm prioritizes nodes according to the configured resources on each node. Those nodes with the fewest configured resources which still meet the job's resource constraints are selected.


CPULOAD

public static final NodeAllocationPolicy CPULOAD
Nodes are selected which have the maximum amount of available, unused cpu power, i.e. [# of CPU's] - [CPU load]. Good algorithm for timesharing node systems. This algorithm is only applied to jobs starting immediately. For the purpose of future reservations, the MINRESOURCE algorithm is used.


LOCAL

public static final NodeAllocationPolicy LOCAL
This will call the locally created contrib node allocation algorithm.


CONTIGUOUS

public static final NodeAllocationPolicy CONTIGUOUS
This algorithm will allocate nodes in contiguous (linear) blocks as required by the Compaq RMS system.


MAXBALANCE

public static final NodeAllocationPolicy MAXBALANCE
This algorithm will attempt to allocate the most 'balanced' set of nodes possible to a job. In most cases, but not all, the metric for balance of the nodes is node speed. Thus, if possible, nodes with identical speeds will be allocated to the job. If identical speed nodes cannot be found, the algorithm will allocate the set of nodes with the minimum node speed 'span' or range.


PRIORITY

public static final NodeAllocationPolicy PRIORITY
This algorithm allows a site to specify the priority of various static and dynamic aspects of compute nodes and allocate them with preference for higher priority nodes. It is highly flexible allowing node attribute and usage information to be combined with reservation affinity.


FASTEST

public static final NodeAllocationPolicy FASTEST
This algorithm will select nodes in 'fastest node first' order. Nodes will be selected by node speed if specified. If node speed is not specified, nodes will be selected by processor speed. If neither is specified, nodes will be selected in a random order.

Method Detail

values

public static final NodeAllocationPolicy[] values()
Returns an array containing the constants of this enum type, in the order they're declared. This method may be used to iterate over the constants as follows:
for(NodeAllocationPolicy c : NodeAllocationPolicy.values())
        System.out.println(c);

Returns:
an array containing the constants of this enum type, in the order they're declared

valueOf

public static NodeAllocationPolicy valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Parameters:
name - the name of the enum constant to be returned.
Returns:
the enum constant with the specified name
Throws:
java.lang.IllegalArgumentException - if this enum type has no constant with the specified name

toString

public java.lang.String toString()
Returns a string representation of this object

Overrides:
toString in class java.lang.Enum<NodeAllocationPolicy>

parseNodeAllocationPolicyString

public static NodeAllocationPolicy parseNodeAllocationPolicyString(java.lang.String nodeAllocationPolicyString)
                                                            throws java.lang.IllegalArgumentException
Parses a string and converts it into a NodeAllocationPolicy enum value if possible.

Parameters:
nodeAllocationPolicyString - the string to be parsed.
Returns:
the corresponding NodeAllocationPolicy enum value.
Throws:
java.lang.IllegalArgumentException - if the String cannot be parsed.

getNames

public static java.util.Vector<java.lang.String> getNames()
Returns a collection of all the names of the enum values NodeAllocationPolicy type.

Returns:
a collection of all the names of the enum values NodeAllocationPolicy type.


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