Download RealityGrid QT Steerering Application User Manual
Transcript
RealityGrid Steering Application User Manual Mark Riding and Andrew Porter. SVE Group, Manchester Computing, University of Manchester. 29th April 2004. Change Log Author Andrew Porter Comments As released with v.1.1 of the RealityGrid steering software. Date 29th April 2004 Acknowledgements The RealityGrid Steerer is mainly the work of Sue Ramsden, with some further enhancements by Mark Riding and Andrew Porter. The steerer is built using the RealityGrid Steering API, by Andrew Porter. Introduction The RealityGrid Steerer is a generic user interface for performing computational steering on (computational) jobs which have been built using the RealityGrid Steering API. This document aims to give new users an overview of how to use the steerer, and to explain the functionality which it offers. 1 Starting the Steerer Environment set-up The steerer requires that some environment variables be set before it is executed. The main one of these is REG_STEER_HOME which should contain the path of the directory containing the steering library (e.g. /home/zzcguap/projects/reg_steer_lib). If the steering library is not available then any valid path will suffice. If local (file-based) steering is being used then REG_STEER_DIRECTORY should contain the path to the directory to use for steering communication. This should match the value of REG_STEER_DIRECTORY passed to the steered application. Alternatively, if remote steering (using Grid Services) is to be used then REG_SGS_ADDRESS should be set to the address of the Steering Grid Service of the steered application. The value given in this environment variable can be edited from within the steerer (see later) or, alternatively, specified on the command line. Launching Run the steering application by executing the command ‘steerer’ at the command prompt (assuming that it is in your path). You will be presented with a simple start-up screen: Steerer startup screen The Steerer menu Steerer menu The Steerer menu has four options: • Local Attach attach to a local steerable job, communicated with by means of a local, shared file system. Shortcut Ctrl+A • Grid Attach attach to a steerable job located on ‘any’ machine, communicated with by means of a Grid-Service interface. Shortcut Ctrl+G 2 • Set Polling Interval • Quit Set how often (in seconds) the steerer polls the computational job. Shortcut Ctrl+P Quits the application. Shortcut Ctrl+Q The Polling Interval is an important parameter since it controls how often the steerer checks for status messages from an attached application. If the steerer fails to “keep up” with the application then status messages will be lost which may result in strange behaviour. For applications that generate many status reports per second, the value of the “STEERING INTERVAL” steerable parameter should be increased in order to reduce the frequency with which the application generates status reports. (This steerable parameter is automatically generated by the steering library and is thus available for all applications that use the RealityGrid steering library.) Attaching to a steerable job Selecting Local Attach from the Steerer menu will take you straight to the main RealityGrid Steerer window. Should the steerer fail to find an application to attach to then the Steerer startup screen will be displayed with a “Failed to attach” message displayed. If this occurs then check that the REG_STEER_DIRECTORY environment variable in the steerer’s environment matches that set for the simulation and that the application is actually running. Selecting Grid Attach will bring up a small dialog box first: Grid Attach dialog The dialog lists available RealityGrid applications and their addresses (handles) in a table. Entries in the Handle column are fully editable. By selecting an entry in the table and clicking on the Attach button, a Steerer is created for the chosen application. Should the attach fail then check that the handle you’ve specified is correct and that the application you are attempting to connect to is up and running. It is also possible (on Linux systems) to specify the handle to connect to on the command line when launching the steerer. 3 Using the Steerer The Main Window Steerer main window in local-steering mode The Main Window is split into five conceptual sections: • Control Buttons • Monitored Parameters • Steered Parameters • Data IO • CheckPoint Types 4 Control Buttons The Control Buttons panel manages overall control of the steerable job’s state. Different buttons will be greyed out and unavailable depending on a job’s state; for instance, jobs that are not running cannot be stopped. • Pause button pauses a running job • Resume button causes a paused job to resume • Stop button ends the job • Detach button detaches the steerer from the job, leaving the job running • Close button closes the main window of the steerer, returning to the startup screen • Tell All button causes the steerer to pass any user updated parameters to the job, see Steered Parameters section, below Monitored Parameters The Monitored Parameters table lists parameters which are exposed by the steerable job, but are not themselves directly steerable. An example of a monitored parameter for a simulation job might be time per simulation step. Such a parameter is changed only by the steered application itself, not the user. The Steerer allows graphs to be drawn of monitored parameters. By right clicking on a monitored parameter, a context menu appears allowing the user to select a ‘Draw History Graph’ option. Draw History Graph context menu option 5 Parameter History Graphs Selecting the Draw History Graph option from the context menu causes a new window to appear, containing a simple 2D line plot of the selected parameter’s history. The graph is constructed simply by connecting adjacent ordinates with straight lines – no fitting is performed. Example Parameter History Graph There are two menu’s available in this window, the File menu, and the Graph menu. Parameter History Graph: File menu The File menu has four options: • Print requests a print-out of the image portion of the window. Shortcut Ctrl+P • Save saves the image portion of the window to disk. Shortcut Ctrl+S • Save data saves the raw data to file (pops up a file browser). Shortcut Ctrl+t • Close closes the window. Shortcut Ctrl+C 6 Parameter History Graph: Graph menu The Graph menu also has four options: • Auto Y Axis allows the application to automatically determine the extents of the y-axis. This menu item toggles on and off. Shortcut Ctrl+A • Define Y upper-bound if Auto Y axis is not selected, this menu item becomes available. By selecting it, a dialog appears (see below) allowing you to enter an upper bound for the Y axis. If Auto Y Axis is reselected, then this value is ignored. Shortcut Ctrl+U • Define Y lower-bound as ‘Define Y upper-bound’, but for the lower bound. Shortcut Ctrl+L • Toggle display of symbols enables/disables the display of symbols at data points. Shortcut Ctrl-D Symbols are displayed by default if the graph is of an appropriate scale – if resolution does not permit then they are automatically hidden. Y axis upper-bound dialog Note that the steering client automatically logs the values of all monitored parameters (irrespective of whether they are being plotted) and therefore if it is connected to a running simulation for an extended period it may accumulate a considerable amount of data. Displaying a history plot of a large data set obviously uses some computational resource, particularly if the plot is being updated frequently. Therefore it is recommended (in order to maximise the responsiveness of the steering client) that history plots be closed while not in use if the steering client is being used to continuously monitor long runs. 7 Steered Parameters The Steered Parameters list box contains a list of all steerable parameters exposed by the current job. The first column, ‘Name,’ lists the names of each of the parameters, the second, ‘Value,’ shows the current value for each parameter, and the third, ‘New Value,’ allows you to enter new parameters. Hovering the mouse over an entry in the third column brings up a tool tip showing the minimum and maximum allowable values for that parameter. If the steerable parameter is a string then the maximum allowable value gives the maximum length of the string. New values are only propagated to the running job once the entry has been completed (by pressing Enter or leaving the cell via the cursor keys) and the ‘Tell’ button is clicked. When this happens the entries in the ‘Value’ column are updated to reflect the new values, and any entries in the ‘New Value’ column are cleared. This action is also performed if you click on the ‘Tell All’ button in the Commands button panel. Note that the entries in the ‘Value’ column are only updated upon confirmation from the application – this thus provides confirmation that it has received the instruction(s). Steered Parameters tool tip 8 Data IO The Data IO table lists all data input and output channels supported by the current job. The ‘Name’ column lists the name of each channel, the ‘Freq’ column lists how often data is written to or read from the channel (in time steps), the ‘New Freq’ column allows you to specify a new frequency for each item, and the ‘IO Type’ column indicates whether the channel is for input or output. Each individual entry is either an input or an output, not both. As with the steered parameters table, updates made are not propagated to the current job until either the ‘Tell Freq’s’ button or the ‘Tell All’ button in the Commands button panel is clicked. It is possible to manually request that data be emitted/consumed, in addition to the automatic events. To do so, select an entry from the table, and click on the ‘Consume’ or ‘Emit’ button at the right of the table. Only one of the buttons will be available for each entry, depending on whether the data channel is for input or output. Main Window Data IO Table selection 9 CheckPoint Types The CheckPoint Types table lists the types of checkpoint that the running job supports. There can be many instances (checkpoints) of each checkpoint type, and a job may expose several checkpoint types which differ in the parameters and data values they record. The majority of jobs will only need a single checkpoint type. Main Window CheckPoint Type selection The ‘Name’ column lists the names of each checkpoint type, the ‘Freq’ column lists the frequency with which checkpoints are automatically taken (in time steps), and the editable ‘New Freq’ column allows you to enter new values for a checkpoint’s frequency. As with the Steered Parameter values, new frequency values are only propagated to the running job when either the ‘Tell Freq’s’ button or the ‘Tell All’ button in the Commands button panel is pressed. There are slight differences in the steerer main window depending on whether local (file-based) or remote steering (using the grid-service framework) is being performed. Checkpointing with local steering Checkpoints (checkpoint type instances) can be created or used to perform a restart by means of the ‘Create’ and ‘Restart’ buttons to the right of the main checkpoint table. These buttons will be 10 greyed out and unavailable by default, only becoming active if an appropriate checkpoint type has been selected. After clicking on the Create button for a valid checkpoint type, the application will be instructed to create a checkpoint instance of the selected checkpoint type. After clicking on the Restart button for a valid checkpoint type, a dialog is presented listing all the checkpoint instances for that type. You can select a checkpoint instance from the list, and instruct the application to restart from it by clicking on the ‘Restart’ button. Clicking on ‘Cancel’ quits the dialog without doing anything. CheckPoint Selector dialog In order to help differentiate between checkpoint instances, it is possible to inspect the parameters of each by clicking on the ‘Parameters’ button. This brings up another dialog, which lists the checkpoint instance’s parameters and their values at the time the checkpoint was taken. It is possible to have several Checkpoint Parameters Table dialog’s open at the same time, so that different checkpoint instances can be compared and contrasted. Again, clicking on the ‘Cancel’ button closes the dialog. CheckPoint Parameters Table dialog 11 Checkpointing with remote steering When remote steering is in operation, the main window of the steerer and the way in which a restart is performed is slightly different. Steerer main window in remote-steering mode A checkpoint is still created by selecting the appropriate checkpoint type from the checkpoint table and clicking the `Create’ button. However, the `Restart’ button is now located in the panel at the top of the window – this is because it is no longer necessary to select a checkpoint type before pressing it. Instead, on pressing `Restart,’ the user is prompted to enter the Grid Service Handle of a suitable checkpoint. How the user obtains this GSH is beyond the scope of this document since it relies upon the user browsing a checkpoint tree (using either a web interface or some tool such as the RealityGrid launching wizard). 12 Index A Attach · 2 C CheckPoint Types · 10 Checkpointing with local steering · 10 Checkpointing with remote steering · 12 Control Buttons · 5 D Data IO · 9 E Environment set-up · 2 I Introduction · 1 M Monitored Parameters · 5 P Parameter History Graph · 6 Polling Interval · 3 Printing graphs · 6 S Starting the Steerer · 2 Steered Parameters · 8 13