Name: TourRobotDance
Owner: Lawrence Livermore National Laboratory
Description: Make your tape library robots dance for the delight of tour groups in your data center
Created: 2017-07-07 15:57:32.0
Updated: 2017-10-10 15:42:20.0
Pushed: 2017-10-07 15:07:37.0
Size: 24
Language: Shell
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
Tours of high performance computer (HPC) data centers are an increasingly common activity. Most data centers aren't very dynamic: they're rows upon rows of similar racks of computing nodes and disk drawers. The most interesting visual component of these racks are either some blinking lights or large branding/logo skins applied to the outside rack row. Each cluster offers the same viewing experience. Essentially: you've seen one cluster, you've seen 'em all.
Robotic tape libraries can stand out from the crowd in an HPC data center. Unfortunately, well-tuned robotic tape libraries aren't much more active than their compute cluster counterparts. A smoothly running tape library achieves efficiency by moving its robots as little as possible.
So, for tour groups, it's desirable to put the robotic tape libraries into a tour mode. This software package is that tour mode; it makes the robots “dance” and move about. It strives to create visually interesting patterns of movement for the tour groups to observe.
There are three modules that make up this package:
trd_dance.bash
: The user interface. It's meant to able to run on any node, as long as it shares a filesystem (NFS, etc.) with the ACSLS server.trd_cron.bash
: Run this in cron ? frequently, say every five minutes ? on the ACSLS server as user acsss. This module starts the robot dance, by spawning off individual trd_move.exp
instances, and awaits the robot dance termination request. This module requires access to a filesystem (NFS, etc.) shared with the node used to run trd_dance.bash
.trd_move.exp
: An Expect script that is responsible for moving a pair of cartridges around an SL8500 complex to generate robotic movement. Many of instances of this script are run in parallel by trd_cron.bash
to create the overall robot dance. This module needs access to the same filesystem used by the two bash script modules.To run the robot dance:
% /path/to/trd_dance.bash --start
To stop the robot dance:
% /path/to/trd_dance.bash --stop
trd_dance.bash
will place a sentinel file in the filesystem shared by its host and the ACSLS server. It will log to syslog and HPSS that the robot dance is starting. trd_cron.bash
will look for the sentinel file and start up many instances of trd_move.exp
. trd_move.exp
uses the ACSLS command line processor (cmd_proc
) to issue the robotic movement commands. When stopping the robot dance, trd_dance.bash
removes the sentinel file and logs to HPSS and syslog that the robot dance is winding down. trd_cron.bash
and trd_move.exp
exit when the sentinel file disappears from the shared filesystem.
hpsssvc
that describes which servers provide which servicestrd_cron.bash
moduletrd_cron.bash
moduletrd_dance.bash
.