Usage

Mounting pipelinefs

To mount a pipelinefs filesystem, the pipelinefs program may be used as follows:

pipelinefs [mountpoint]

Standard FUSE filesystem options are also available in the pipelinefs command, but default values for some of these options are automatically set. Be aware that the filesystem depends on a few of the FUSE options to work properly, but you may of course experiment with alternative values.

A mounted pipelinefs filesystem will appear in the /proc/mounts file, but will not appear in the output of the df command.

Unmounting pipelinefs

A pipelinefs filesystem may be unmounted by using the fusermount system command as

fusermount -u [mountpoint]

Starting up and/or connecting to a running compute node pipeline instance

To create a compute node pipeline instance under a pipelinefs filesystem , or to “connect” a running compute node pipeline instance to the filesystem, simply write a “host:port” address value to a new file in the top-level directory of the pipelinefs filesystem. Upon creating such a “file” in the filesystem, a trial WCBE_NAME_MSG message is first sent to the given address in an attempt to contact a running compute node pipeline instance on the given node listening on the given port. If no response to the trial message is received, a new compute node pipeline is spawned on the given host by logging in to that host, and running the wcbe application. After spawning a new compute node pipeline instance, a sequence of WCBE_NAME_MSG messages are sent to verify that the instance started up correctly. The following shell command example creates and/or connects to a compute node pipeline instance on the host compute0 with a control socket on port 9000, and creates the instance's filesystem entries under the name node0 in the pipelinefs filesystem mounted at pipelines.

echo compute0:9000 > pipelines/node0

Shutting down a compute node pipeline instance

To shut down a compute node pipeline instance that is under a pipelinefs filesystem, simply remove the instance's directory from the filesystem. Note that the directory need not be empty for the remove operation to succeed. The following shell command example would shut down the compute node pipeline instance started in the previous example.

rmdir pipelines/node0

Restarting pipelinefs

A list of connected compute node pipeline instances is created in the pipelinefs mount point directory when the filesystem is unmounted in order to facilitate the compute node connection process upon remounting the pipelinefs filesystem. Every compute node instance with an entry in the pipelinefs filesystem just before it is unmounted is written to the .state file in the mount point directory. When the pipelinefs filesystem is remounted on the same directory, the .state file in that directory is read, and an attempt is made to reconnect to each of the compute node pipeline instances listed in the file. For example, after the following sequence of commands

pipelinefs pipelines
echo compute0:9000 > pipelines/node0
fusermount -u pipelines
pipelinefs pipelines

the directory node0 should be present under the pipelines directory. If the pipelinefs filesystem is once more unmounted, one will find the file .state under the pipelines directory with the content

compute0:9000  node0

The .state file is merely a convenience, and is not essential to the proper functioning of the pipelinefs filesystem.

Creating a compute node pipeline instance configuration

Configurations are created by copying the contents of a local configuration file to a new file name under the configurations directory of a compute node pipeline instance. In the following example, we create a new configuration named config0 using the file testconf.xml.

cat testconf.xml > pipelines/node0/configurations/config0

Destroying a compute node pipeline instance configuration

A configuration is destroyed by removing the configuration's directory from the pipelinefs filesystem. Note that the configuration directory need not be empty for the “destroy” action to succeed. For example, to destroy the configuration created in the previous example, the following command is sufficient.

rmdir pipelines/node0/configurations/config0

Be aware that a destroyed configuration may not immediately disappear from the pipelinefs filesystem, which will occur if the targeted configuration is active when it is destroyed. This behavior is a consequence of the manner in which configuration destruction is handled by the compute node pipelines. A sign that an active configuration has received the “destroy” command and will be removed from the filesystem after its deactivation is that the contents of the configuration's status file is “active-retired”.