Resource Management
Altair Accelerator includes a subsystem for managing computing resources. This allows the design team to factor in various constraints regarding hardware and software resources, as well as site policy constraints.
- Resources required by jobs
- Resources offered by taskers
- Resource maps, as described in the file
resources.tcl
There are several types of resources, which are listed below:
Resource type | Representation | Explanation |
---|---|---|
Job Resources | name |
A resource required by a job. If the quantity is not shown, the default is 1; "unix" is the same as "unix#1". |
Uncountable Resources (also called Attributes) | name |
These resources represent attributes of a tasker that are not countable. For example, a tasker may have attributes such as "unix" or "linux". The quantity is not shown for these resources and it defaults to MAXINT; "unix" is equivalent to "unix#MAXINT". |
Quantitative Resources | name#quantity |
Example: The resource RAMTOTAL#2014 on a
tasker indicates the total amount of RAM on
that machine. On a job, it says that the job requires at least the
shown amount of RAMTOTAL. |
Consumable Resources | name/quantity |
Example: RAM/500 assigned to a job indicates that the job consumes 500 MB of the consumable resources RAM. |
Negated Resources | !name |
Example: "unix !linux" on a job indicates that the job requires a UNIX machine but not a Linux one. |
The unit of measure is determined by convention for each resource. For
example, the resource RAMTOTAL
is measured in MB. By default,
quantity is assumed to be 1; the notation foo
is equivalent to
foo#1
.
RAMTOTAL#128 unix !linux
<blank space>
,
&
, |
, OR
,
AND
, !
, and NOT
. The
operators are defined in the table below. AND
has
precedence over logical OR
operations. - Operator
- Description
<blank space>
- implicit logical AND
&
- explicit logical AND
AND
- explicit logical AND
|
- explicit logical OR
OR
- explicit logical OR
!
- explicit logical negation
NOT
- explicit logical negation
RAMTOTAL#128 unix !linux | RAMTOTAL#512 & linux
This job requires either a UNIX host with at least 128 MB
of RAM, but not a linux
host or a Linux host with at least 512MB of
RAM.