org.gridlab.gat.resources
Class HardwareResourceDescription

java.lang.Object
  extended by org.gridlab.gat.resources.ResourceDescription
      extended by org.gridlab.gat.resources.HardwareResourceDescription
All Implemented Interfaces:
Serializable

public class HardwareResourceDescription
extends ResourceDescription

An instance of this class is a description of a hardware resource, a physical entity, which a may be required by a hardware or software component.

To clarify the concept of a HardwareResourceDescription, let us give various examples. Memory is described by a HardwareResourceDescription; a network is described by a HardwareResourceDescription; disk space is described by a HardwareResourceDescription; a monitor is described a HardwareResourceDescription\ldots However, an application is not described by a HardwareResourceDescription. In general any resource which corresponds to a physical entity is described by a HardwareResourceDescription.

Hardware is generally useless without software. For example, a disk drive without the appropriate software driver is all but useless. Similarly, hardware often depends upon other hardware. For example, having a disk drive without a computer again is not of much use. Hence, in describing a hardware component one needs to also describe the software and hardware that this hardware component requires. This is reflected in the fact that a HardwareResourceDescription contains in addition to a description of a hardware component a list of HardwareResourceDescriptions, each element of which describes a hardware component upon which the parent hardware component depends. It also contains a list of SoftwareResourceDescriptions, each element of which describes a software component upon which the parent hardware component depends. Hence, the entire structure is recursive.

To construct an instance of a HardwareResourceDescription one requires three quantities:

The GAT-API defines a minimum set of supported name/value pairs which can be included in the Map used to construct a HardwareResourceDescription instance. This minimum set of name/value pairs MUST be supported by any implementation of the GAT-API. This minimum set of supported name/values is given in the table.

Minimum set of supported name/value pairs
Name Type Description
memory.size Float The minimum memory in GB.
memory.accesstime Float The minimum memory access time in ns.
memory.str Float The minimum sustained transfer rate in GB/s.
machine.type String The machine type as returned from uname -m
machine.node String The machine node as returned from uname -n, alternatively, this can be an array of Strings, if the job can run on multiple hosts.
cpu.type String The generic cpu type as returned from uname -p
cpu.count Integer the number of proccessors to use
cpu.speed Float The minimum cpu speed in GHz.
disk.size Float The minimum size of the hard drive in GB.
disk.accesstime Float The minimum disk access time in ms.
disk.str Float The minimum sustained transfer rate in MB/s.

See Also:
Serialized Form

Field Summary
static String CPU_COUNT
          the number of proccessors to use.
static String CPU_SPEED
          The minimum cpu speed in GHz.
static String CPU_TYPE
          The generic cpu type as returned from uname -p.
static String DISK_ACCESSTIME
          The minimum disk access time in ms.
static String DISK_SIZE
          The minimum size of the hard drive in GB.
static String DISK_STR
          The minimum sustained transfer rate in MB/s.
static String MACHINE_NODE
          The machine node as returned from uname -n.
static String MACHINE_TYPE
          The machine type as returned from uname -m.
static String MEMORY_ACCESS_TIME
          The minimum memory access time in ns.
static String MEMORY_SIZE
          The minimum memory in GB.
static String MEMORY_STR
          The minimum sustained transfer rate in GB/s.
 
Constructor Summary
HardwareResourceDescription()
          Constructs a HardwareResourceDescription associated without attributes and dependencies.
HardwareResourceDescription(Map<String,Object> attributes)
          Constructs a HardwareResourceDescription associated with the passed attributes.
HardwareResourceDescription(Map<String,Object> attributes, List<ResourceDescription> resourceDescriptions)
          Constructs a HardwareResourceDescription associated with the passed objects.
 
Method Summary
 
Methods inherited from class org.gridlab.gat.resources.ResourceDescription
addResourceAttribute, addResourceDescription, equals, getDescription, getResourceAttribute, hashCode, removeResourceAttribute, removeResourceDescription, setDescription, toString
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

MEMORY_SIZE

public static final String MEMORY_SIZE
The minimum memory in GB.

See Also:
Constant Field Values

MEMORY_ACCESS_TIME

public static final String MEMORY_ACCESS_TIME
The minimum memory access time in ns.

See Also:
Constant Field Values

MEMORY_STR

public static final String MEMORY_STR
The minimum sustained transfer rate in GB/s.

See Also:
Constant Field Values

MACHINE_TYPE

public static final String MACHINE_TYPE
The machine type as returned from uname -m.

See Also:
Constant Field Values

MACHINE_NODE

public static final String MACHINE_NODE
The machine node as returned from uname -n. Alternatively, this can be an array of Strings, if the job can run on multiple hosts.

See Also:
Constant Field Values

CPU_TYPE

public static final String CPU_TYPE
The generic cpu type as returned from uname -p.

See Also:
Constant Field Values

CPU_COUNT

public static final String CPU_COUNT
the number of proccessors to use.

See Also:
Constant Field Values

CPU_SPEED

public static final String CPU_SPEED
The minimum cpu speed in GHz.

See Also:
Constant Field Values

DISK_SIZE

public static final String DISK_SIZE
The minimum size of the hard drive in GB.

See Also:
Constant Field Values

DISK_ACCESSTIME

public static final String DISK_ACCESSTIME
The minimum disk access time in ms.

See Also:
Constant Field Values

DISK_STR

public static final String DISK_STR
The minimum sustained transfer rate in MB/s.

See Also:
Constant Field Values
Constructor Detail

HardwareResourceDescription

public HardwareResourceDescription()
Constructs a HardwareResourceDescription associated without attributes and dependencies.


HardwareResourceDescription

public HardwareResourceDescription(Map<String,Object> attributes)
Constructs a HardwareResourceDescription associated with the passed attributes. There are no further dependencies

Parameters:
attributes - A Map<String, Object>, which describes the attributes of this Resource.

HardwareResourceDescription

public HardwareResourceDescription(Map<String,Object> attributes,
                                   List<ResourceDescription> resourceDescriptions)
Constructs a HardwareResourceDescription associated with the passed objects.

Parameters:
attributes - A Map<String, Object>, which describes the attributes of this Resource.
resourceDescriptions - A List, which is a list of ResourceDescriptions each of which describes a software component upon which this software component depends.