The standard Legion host object creates objects using the process creation interface of the underlying operating system. However, some systems require using a queue management system to take full advantage of local resources. For example, some parallel computers contain a small number of "interactive" nodes, which can be accessed through normal means, and a large number of "compute" nodes, which can only be reached by submitting jobs to a local queue management system.
To make use of hosts that are managed by local queuing systems, Legion provides a modified host object implementation called the BatchQueueHost. Instead of using the standard process creation interface of the underlying operating system, BatchQueueHost objects submit jobs to the local queuing system.
To start a BatchQueueHost object, the standard legion_starthost command is used with the -B flag to indicate the desired host object implementation. For example:
$ legion_starthost -B BatchQueueHost -N /hosts/SP2 \ SP2.university.edu
The BatchQueueHost can be used with a variety of queue systems ("LoadLeveler" and "Codine" are the currently supported queue types). The type of local queue a given BatchQueueHost object will use to manage the local objects is specified in an object attribute set on the BatchQueueHost.
To indicate that the host object started in the above example should use the local "LoadLeveler" queue, the following legion_update_attributes command would be used:
$ legion_update_attributes -c /hosts/SP2 \ -a "host_queue_type('LoadLeveler')"
Currently, each BatchQueueHost can use only one queue type at a time (i.e., if multiple local queuing systems are available, they can not all be used by the same BatchQueueHost--an individual BatchQueueHost would need to be started to represent each queue). Typically, though, individual machines are managed by a single queue.
Directory of Legion 1.5 Manuals