umich.cac.data
Class NodesField

java.lang.Object
  extended byumich.cac.data.Field
      extended byumich.cac.data.NodesField

public class NodesField
extends Field

This class encapsulates Nodes fields, which is pretty complex, the most complex of all fields. A node consists of just the number of nodes, like Resource_List.nodes=2. The nodes resource_list item (i.e. the node configuration) declares the node requirements for a job. It is a string of individual node specifications separated by plus signs, +. For example,

  3+2:fast
 
requests 3 plain nodes and 2 ``fast'' nodes. A node specification is generally one of the following types the name of a particular node in the cluster,
  1. a node with a particular set of properties (e.g. fast and compute),
  2. a number of nodes,
  3. a number of nodes with a particular set of properties.
In the last case, the number of nodes is specified first, and the properties of the nodes are listed afterwards, colon-separated. For instance,
  4:fast:compute:db
 

Two important properties that may be specified are: shared indicates that the nodes are not to be allocated exclusively for the job. If this property is not specified, the PBS scheduler will allocate each processor exclusively to the job. * Note: The shared property may only be used as a global modifier. ppn=<number of processors per node> requests a certain number of processors per node be allocated. The node configuration may also have one or more global modifiers of the form # property appended to the end of it which is equivalent to appending property to each node specification individually. That is,

  4+5:fast+2:compute#large
 
is completely equivalent to
  4:large+5:fast:large+2:compute:large
 
: The following are some possible configurations.

specified number of nodes:

  nodes=<num nodes> nodes=<num nodes>#shared
 
specified number of nodes with a certain number of processors per node:
  nodes=<num nodes>:ppn=<num procs per node> nodes=<num nodes>:ppn=<num procs per node>#shared
   *
specific nodes:
  nodes=hosta+hostb+hostc nodes=hosta+hostb+hostc#shared
   *
specified number of nodes with particular properties
  nodes=num nodes:property1:property2#shared
 
or I have found
  nodes=hostname:ppn=2
 
Example encoding is as follows
  <neednodes> <globalproperty> shared</globalproperty> <nodegroup numnodes="10" ppn="8"></nodegroup> <nodegroup numnodes="1"> <nodename>hostname</nodename> </nodegroup> <nodegroup numnodes="12" ppn="2"> <property>bigdisk</property> <property>fatmemory</property> </nodegroup>
 

Version:
$Header: /cvsroot/pbsaccounting/pbsaccounting/doc/javadoc/umich/cac/data/NodesField.html,v 1.3 2003/10/21 20:33:47 rodmach Exp $
Author:
rmach@umich.edu

Field Summary
 
Fields inherited from class umich.cac.data.Field
childrenFields, fieldName, fieldType, nl, rawValue
 
Constructor Summary
NodesField(FieldName fieldName, java.lang.String rawValue)
          Constructor for Nodes field, for a RESOURCE_LIST field type
NodesField(FieldName fieldName, java.lang.String rawValue, FieldType fieldType)
          Constructor for Nodes field
 
Methods inherited from class umich.cac.data.Field
addAttribute, addChild, getAttributes, getChildren, getFieldName, getFieldType, getRawValue, setRawValue, toXML
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NodesField

public NodesField(FieldName fieldName,
                  java.lang.String rawValue,
                  FieldType fieldType)
Constructor for Nodes field

Parameters:
fieldName - Name of this field
rawValue - the raw value of this field from PBS accounting data
fieldType - Description of the Parameter

NodesField

public NodesField(FieldName fieldName,
                  java.lang.String rawValue)
Constructor for Nodes field, for a RESOURCE_LIST field type

Parameters:
fieldName - Name of this field
rawValue - the raw value of this field from PBS accounting data