wiki:Old/orbitHandler

Version 11 (modified by cmdavies, 18 years ago) ( diff )

Documentation | !orbitHandler

Orbit Handler

orbitHandler is an alternative framework for controlling the ORBIT lab. It consists of a series of console commands that that operate on subsets of nodes. The major features:

  • Precisely specifiy large, intricate node sets
  • Send specific commands to each node in the set
  • Distributed ftp equivilant
  • Entirely command line driven
  • No global grid operations
  • Easy to create repeatable experiments

Node Sets

Node sets are contained in a file. This file name is the first parameter for every function. For example:

joeuser@console.sb1:~$ ./orbitImage nodeset baseline.ndz

An example node set file looks like this:

# A node set file
[1..16,1..15]
[18,18..19]
[19..20,1..2]
-[10,2]
-[2..3,5..3]

Each line includes a different range of nodes. The lines are processed in order and the results are merged. Any node range with a '-' in front of it removes that range from the current set. This can be used to remove non-functional nodes, or a particular class of nodes (ie. those nodes using intel wifi cards).

Node Commands

The following are list of supported commands.

  • orbitImage - Images a set of nodes
  • orbitPower - Turns on or off a set of nodes
  • orbitPutFile - Copies a file from the console to a set of nodes
  • orbitGetFileMerged - Merges a file from each node into one file on the console
  • orbitCmd - Runs a user definable command that affects nodes in the set
  • orbitCmdSeq - The same as 'orbitCmd' except commands are run sequentially
  • orbitWait - Waits for a set of processes to finish
  • orbitRun - Executes a command on each node in the set
  • orbitRunWait - Executes a command on each nodes and blocks on completion
  • orbitKillAll - Kills all matching processes on each node in the set
  • orbitKillOne - Kills the first matching process on each node in the set

Repeatable experiments can be created by building a script file that contains a series of these commands. For Linux beginners, don't forget when creating the script file that you need to set the execute permissions on it:

joeuser@console.sb1:~$ chmod +x scriptFile

Command: orbitImage

Makes use of images created using 'saveNode' that is part of the original NodeHandler framework. Only one set of nodes may be imaged at the same time. The useage for the command is:

joeuser@console.sb1:~$ ./orbitImage nodeset baseline.ndz

Command: orbitPower

Allows the user to turn on and off a set of nodes on the grid without affecting those nodes not in the specified node set. This function will block and provide status updates until every node in the set has either turned on or off. The useage for the command is:

Turn on a set of nodes

joeuser@console.sb1:~$ ./orbitPower nodeset on

Turn off a set of nodes

joeuser@console.sb1:~$ ./orbitPower nodeset off

Command: orbitPutFile

Acts like a distributed ftp function. It allows a file to be copied from the console to every node in set. The useage for this command is:

Copy a file to the home directory of the node

joeuser@console.sb1:~$ ./orbitPutFile nodeset myFile

Copy a file to a particular directory of the node

joeuser@console.sb1:~$ ./orbitPutFile nodeset libApp.so /usr/lib

Command: orbitGetFileMerged

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.