rxGetNodeInfo: Provides information about all nodes on a cluster.
Provides information about the capabilities of the nodes on a cluster.
rxGetNodeInfo( computeContext = NULL, ..., namesOnly = FALSE, makeRNodeNames = FALSE, getWorkersOnly = TRUE )
A distributed compute context (preferred), a jobInfo object, or (deprecated) a character scalar containing the name of the Microsoft HPC cluster head node being queried. If you are interested in information about a particular node, be sure that node is included in the group specified in the compute context, or that the compute context has
groups=NULL (HPC compute contexts). Setting
queue="all" in the compute context is the best way to ensure getting information on all nodes.
additional arguments for modifying the compute context before requesting the node information. These arguments must be in the compute context constructor.
TRUE, only a vector containing the names of the nodes will be returned.
TRUE, names of the nodes will be normalized for use as R variables. See rxMakeRNodeNames for details on name mangling.
TRUE, returns only those nodes within the cluster that are configured to actually execute jobs (where applicable; currently LSF only.).
This function will return information on all the nodes on a given cluster if the
slot of the compute context is
queue are not
specified in the compute context. If either
queue is specified,
information is provided only for nodes within the specified groups or queue,
using the normal rules described in the compute context for taking the unions of node sets
and nodes in queues. The best way to get information on all nodes is to ensure that both
the nodes and groups slots are set to
NULL for HPC, and that nodes and
queues are set to
"all", respectively, for LSF.
Note that unlike
rxGetAvailableNodes, the return value of this function will
contain all nodes in the compute context regardless of their state.
(rxGetAvailableNodes returns only online nodes).
If the return value of this function is used to populate node names elsewhere and
makeRNodeNames should be set to the default
nodeName element of each list element should
be used, not the names of the list element, given that the list element names will be
mangled to be proper R names.
This operation is performed because names with a dash (-) are not permitted as variable names (the R interpreter interprets this as a minus operation). Thus, the mangling process replaces the dashes with an underscore _ to form the variable names. See rxMakeRNodeNames for details on name mangeling.
Also, note that
node names are always forced to all capital letters (node names should be case agnostic, but in some cluster related software, it is necessary to force them to be upper case. In general, however, machine names are always treated as being case insensitive.
No other changes are made to node names during the mangling process. )
TRUE, a character vector containing the names of the nodes.
TRUE, these names will be normalized for use as R variables.
FALSE, a named list of lists, where each top level name is a node name
on the cluster, normalized for use as an R variable. See rxMakeRNodeNames for
Each named element in the list will contain some or all of the following:
character scalar. The true name of the node (as opposd to the list item name).
float. The processor speed in MHz for Microsoft HPC, or the CPU factor for LSF.
integer. The amount of RAM in MB.
integer. The number of cores.
integer. The number of CPU sockets.
character scalar. May be either "online", "offline", "draining" (shutting down, but still with jobs in queue), or "unknown".
logical. Determines if there is an operational network path between the head node and the given compute node.
list of character scalars. The node groups (on MS HPC) or queues (under LSF) to which the node belongs.
Microsoft Technical Support
## Not run: # Returns list of lists with information about each specified node rxGetNodeInfo(myCluster, nodes = "comp1,comp2,comp3") rxGetNodeInfo(myCluster, nodes = c("g1","g2","g3")) # Returns a vector with the names of the nodes in the cluster, excluding the # head node if computeOnHeadNode is set to FALSE in the compute context rxGetNodeInfo(myCluster, namesOnly = TRUE) # Node names in the returned vector are converted to valid R names rxGetNodeInfo(myCluster, namesOnly = TRUE, makeRNodeNames = TRUE) ## End(Not run)