You are here

PROOF GUI

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:

Untitled_1.gif

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).

Untitled_3.gif

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.

Untitled_4.gif

Figure 3: Connecting to a server

A “Password Dialog” will popup (figure 4) allowing authentication on the selected cluster.

Password_Dlg.gif

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).

Progress_connection.gif

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.

Icon_connected.gif

Figure 6: Connected Icon

Tab_Status.gif

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).

Untitled_8.gif

Figure 8: Query Dialog

A new query is created in a few simple steps:

  1. Select a Chain by a simple click on the “Browse..” button on the right of the Chain’s text entry
  2. 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).
     Chain_Dialog.gif
     _Figure 9: Chain Selection Dialog_
  3. Next select the desired in memory chain and click Ok. This closes the dialog, and returns to the “Query Dialog”.
  4. 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.
     Untitled_14.gif
     Figure 10: File Open Dialog
  5. 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.
     Icon_Query.gif
     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.

Button_Submit.gif

Figure 12: Submit Query

A progress bar will show the processing status and feedback histogram for this query (figure 13).

Untitled_17.gif

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).

Untitled_18.gif

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).

Untitled_19.gif

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).

Menu_Options2.gif

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).

Packages.gif

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).

Commands.gif

Figure 18: Commands Tab

Bertrand Bellenot - 2009