Using PROOF via the Graphical User Interface
Since ROOT v5.04 a dedicated GUI is available to control PROOF sessions. The GUI allows starting a session, to handle packages, to define and run queries and to handle the results of queries. To start the GUI use
root[0] TProof::Open()
This opens the Session Viewer (TSessionViewer) Interface, used to manage local and PROOF sessions. The window looks like this:
Figure 1: Startup Screen
First one has to create a session. For this, select the “Sessions” item in the left list tree and fill in the needed information in the right pane (figure 2).
Figure 2: Creating a New Session
Fields are:
- Session Name: name used to identify the session.
- Server name: address (URL) of the server on which the connection will be established.
- Port: port number used for the connection.
- Configuration file: the configuration file name that must be used (on the server. i.e.: proof.conf). Typically leave the default value as this is set up by the cluster system manager.
- Log level: level of log (debug) information.
- User Name: name used for authentication.
- Process mode : synchronous / asynchronous
Once the fields have been filled in, save the connection information, it will then be added to the session list in the left pane. The full configuration (including the list of sessions, queries, packages and options) is automatically saved on exit. It is also possible to save and load different configuration files via the menu “File” or with the buttons on the toolbar.
Connection
To connect to a server, just select the corresponding item in the tree view and click on the “Connect” button (figure 3), or use the “Session” menu, or click the button on the toolbar, or just double-click on the item itself.
Figure 3: Connecting to a server
A “Password Dialog” will popup (figure 4) allowing authentication on the selected cluster.
Figure 4: Provide a password via the "Password Dialog"
While connecting, a progress bar shows the percentage of worker nodes that have been connected so far (figure 5).
Figure 5: Progress Bar showing percentage of workers connected
Queries
Once connected, the session icon is updated to reflect the connected state (figure 6) and the right pane looks like in the figure 7.
Figure 6: Connected Icon
Figure 7: Session Status Screen
Now one can create a new query by clicking the “New Query…” button via the “Session” menu, or with the button on the toolbar or directly via the “New Query…” button on the Status tab. This action will pop up a “Query Dialog” (figure 8).
Figure 8: Query Dialog
A new query is created in a few simple steps:
- Select a Chain by a simple click on the “Browse..” button on the right of the Chain’s text entry
- A new “Chain Selection Dialog” appears (figure 9), where you can create a chain by executing a macro. Just double-click on the macro name in the file list in the bottom pane to execute the macro. The chain(s) created by the macro will appear in the top pane (list of in memory chain definitions).
_Figure 9: Chain Selection Dialog_
- Next select the desired in memory chain and click Ok. This closes the dialog, and returns to the “Query Dialog”.
- Choose the selector to be used for this query by clicking on the “Browse...” button on the right of the Selector text entry. This opens a standard “File Open" dialog (figure 10), where the desired macro can be selected.
Figure 10: File Open Dialog
- At the end, when all fields are populated, click the “Add” button in order to add this query to the list of queries of the current session (figure 11). When no more queries have to be prepared close the dialog with the “Close” button.
Figure 11: Newly Created Query
Now one can submit the queries to the server via the “Submit” button in the right pane of the Query panel (figure 12), via the “Query” menu or with the button on the toolbar.
Figure 12: Submit Query
A progress bar will show the processing status and feedback histogram for this query (figure 13).
Figure 13: Processing Status: Feedback Histogram & Progress bar
Once the processing has finished, the input and output lists are received and a summary of the results is shown in the “Results” tab in the right pane (figure 14).
Figure 14: Query Results Summary
The output list contains the query results and feedback histograms (figure 15), in case the feedback option had been selected (see section on Feedback below).
Figure 15: Output List
Feedback
A few predefined system performance feedback histograms can be selected BEFORE submitting the query. They are:
- Packets processed per node (TH1D).
- Events processed per node (TH1D).
- Slaves per file serving node (TH1D).
- Packet latency per node (TH2D).
- Packet processing time per node (TH2D).
- Packet CPU Time per node (TH2D).
These histograms can be selected via the “Options” menu. In order to get Feedback Histograms during the processing of a query, the menu entry “Feedback Active” must be selected (checked), in addition to one or more entries in the “Feedback Histos” submenu (figure 16).
Figure 16: Options Menu: Feedback Histograms
TOOLS
PROOF Archive (PAR) Manager
The “Packages” tab allows user to manage PAR (PROOF ARchive) files from the GUI (figure 17).
Figure 17: The Package Manager tab
The GUI allows to:
- Upload packages.
- Enable packages.
- Disable packages
- Show all available packages
- Show which packages are enabled
It is possible to change the order in which the packages are uploaded to the cluster using the buttons “Move Up” and “Move down”. This is important in case packages depend on other packages that must be loaded in a specific order. There is also an option to automatically enable packages at the startup of a session.
Commands
The “Command” tab allows you to execute any ROOT command on each PROOF worker node via the GUI. There is a text entry for the command line and output is redirected to a text view (figure 18).
Figure 18: Commands Tab
Bertrand Bellenot - 2009