TotalView Remote Display Client

The TotalView Remote Display Client lets you specify the information you need to launch TotalView on a remote system. After launching the client, the Remote Display Viewer Window appears and you can now interact with the TotalView running on that remote server. You will find details on how this happens in Using Remote Display. This part of the help tells you what the individual controls and commands do within the Client Window

The TotalView Remote Display Client Window: Session Profiles Area

This part of the TotalView Remote Display Client Window has two parts. The first has four icons. From left to right they are:

Creates a new profile using the current settings. If you do not use this button, the Client automatically writes the changes you've made back into the selected profile when you press the Launch Debug Session button at the bottom of the window.
Deletes the selected profile.
Displays a file explorer window. Use this explorer to locate the profile you wish to load into the Client. After you import a profile, it remains within your Client profile until you delete it.
Displays a file explorer window. Use this explorer to locate a directory which the Client will write the selected profile.

The second part names the profiles that you have either created or imported. After selecting a profile, its attributes are displayed in the right-hand side of the window.

The TotalView Remote Display Client Window: Remote Host and Routing Area

This top right portion of the TotalView Remote Display Client Window lets you:



Remote Host
Type in the name of the machine upon which TotalView or MemoryScape will execute. TotalView or MemoryScape must be installed on that machine.
 
User Name
Type in your user name for the remote host.
 
Commands
Type in commands in a comma separated list to execute on the remote host before TotalView/MemScape executes.
 
Host
If you cannot directly reach the machine upon which TotalView or MemoryScape will execute, enter the the name of the route the Client will take, the Access By type used to reach this remote host, and the Acesss Value information required by the Acesss By entry.
 
Access By and Access Value
Select one of the three options.

User Name is what you would enter to a shell command such as rsh to login to the Host machine. You would enter this name in the Access Value field.

Public Key File tells the client that access information is entered into file entered into the Access Value field

Other SSH options indicates the SSH arguments needed to access the intermediate host. These are the arguments you normally add to the ssh command.

Commands
In the column following the Access Type type in commands in a comma separated list to execute when connected to the remote host before connecting to the next host.
 
Route management controls
Add an additional row into which you can enter a host, Access By method, and an Access Value.
Delete a row from the table.
Move the selected row up one row.
Move the selected row down one row.

The TotalView Remote Display Client Window: Product Area

This part of the Remote Display Client Window is where you specify information needed to start TotalView or MemoryScape on the remote host. The information you enter when the MemoryScape tab is selected is identical to that shown in the following figure, differing only in that the labels display "MemoryScape" rather than "TotalView."



TotalView Directory on Remote Host
Enter the directory name in which the TotalView executable resides. If you have changed the name of the TotalView executable, it will not be found. In the above figure, the pathname ends with /bin.
 
Arguments for TotalView
Enter TotalView command-line options. These are the options described in the "TotaView Debugger Command Syntax" chapter of the TotalView Reference Guide.
 
Your Executable (path & name)
Enter either a complete or relative pathname to the program being debugged. "Relative" means relative to your home directory.
 
Arguments for Your Executable
If your program needs arguments, enter them in this field. If you were executing TotalView directly, these are the arguments that follow the -a command-line option.
 
Submit job to Batch Queuing System



This pull down list the queuing systems that you can select. This will be explained in the Submit to Batch Queueing System topic.
 
Launch Debug Session
Pressing this button starts the process of creating the Remote Display Viewer. Typically, you will see an xterm window into which you can type passwords for each of the systems. All connections in the route are made using ssh.

Using the Submit to Batch Queuing System Entries

If you are sending the debugging job to a batch queuing system, you need to select an entry in the Submit job to Batch Queuing System pull down. After selecting an entry, the lower right portion adds a section into which you can enter information that is needed by the batch system. The following figure shows these changes:

The items unique to this area of the form are.

PBS or LoadLeveler Submit Command
The default values are qsub for PBS Pro and llsubmit for LoadLeveler.
 
TotalView PBS or LoadLeveler Script to run
The default values are tv_ PBS.csh for PBS Pro and tv_LoadLeveler.csh for LoadLeveler. For more information, see the Scripts topic.
 
Additional PBS or LoadLeveler Options
If you need additional command-line options to either PBS or LoadLeveler, enter them here. What you enter here will override a setting for that option in the tv_PBS.csh or tv_LoadLeveler.sh values. For more information, see the Scripts topic.

File > Profile > Save

After selecting this command, the Client asks that you name the profile information it is about to create. The values contained within this profile are those currently being displayed in the Client Window. After pressing OK, the Client saves the profile and places its name in the Session Profiles area. You do not need to save changes you make to the current profile as the Client automatically saves them.

File > Profile > Delete

Use this command to delete the currently selected profile. You need to confirm that you really want to delete the profile.

File > Profile > Import

Select this command to tell the Client that it should import a profile previously written into a file. The Client responds by displaying a file explorer window so that you can select the profile being imported.

File > Profile > Export

Select this command to tell the Client that it should export the selected profile. The Client responds by displaying a file explorer window so that you can select a directory into which the Client writes the profile.

File > Exit

Select this command to shut down the Client Window. If sessions are open, the Client displays the following question:

Using Remote Display

TotalView Remote Display let you view TotalView as it is executes on another system. For example, if you are using a Microsoft Windows XP or Vista, invoking the Remote Display Client (this will be explained in a moment) displays a window into which you can enter information about how Remote Display can go from Windows to the system upon which TotalView will execute. Remote Display is bundled into all TotalView releases beginning at version 8.6. No license is need to run the client and you can install it on all supported operating systems. However, the TotalView being executed must have a license. While the client only runs on 4 operating systems, the TotalView being run can be on any operating system upon which TotalView runs.

TotalView Remote Display has three components: a Client, a Server, and a Viewer.

Installing the Client

Before you install the Client, either TotalView or MemoryScape must already be installed.

You can find the files used to install the client in two places.

Because Remote Display is built into TotalView and MemoryScape, you do not need to have a separate license for it. Remote Display works with your product's license. If you have received an evaluation license, that license lets you use Remote Display.

Installing on Linux

The installation procedure for the Client is simple and straight-forward. The remote_display directory contains three files. Two are tar files that are used on a linux-x86 or a linux x86-64 system. (The third is an exe file used to install Remote Display on Microsoft Windows.)

  1. Place a tar file within your toolworks installation directory. You can install the Client on on as many Linux x86 and Linux x86-64 as you want as the Client is unlicensed. This means TotalView or MemoryScape can be run from any Client and more than one person can be running different Clients simultaneously. The only licensing requirement is that you have a license for the platform upon which TotalView or MemoryScape will run. Of course, the number of users who can run TotalView or MemoryScape simultaneously is specified in that product's license.

  2. Type tar xvf name_of_remote_display_file.tar. This creates and populates a remote_display directory.

  3. Place the remote_display directory in your PATH environment variable.

If you placed this directory in your PATH, typing remote_display_client.sh invokes the Client.

Installing on Microsoft Windows

Before you install the Client, you must have installed TotalView or MemoryScape. The Client file, contained in your remote_display directory, is named TVT_RDC_Installer.<release_number>.exe. Here is how you use the installer:

  1. Either copy the exe file to your Windows XP or Vista system or place it in a location that is directly accessible from your Windows machine
    .
  2. Using File Explorer, navigate to the directory containing the installer and then double-click on the installer the exe file. The installer responds by displaying the following window:



  3. All you need do is click the Next button and follow the instructions on the displayed screen. You are, of course, asked if the installer should create an entry in the start menu and place an icon on your desktop that, when clicked, invokes the Client. The very last screen has a check box that you should leave checked. This lets you confirm that Remote Display works on the remote host.

Sample Session

The TotalView Remote Display Client is quite simple to use. All you need do is fill in some information, the Client program does the rest.

Invoke the Client by typing the following on a Linux system:

    remote_display_client.sh

If you are running on Windows, either click the desktop icon or go to the TVT Remote Display item in the start menu.

You'll soon see the following window:

If you ignore the edges of the window, there are no differences in the way the Client window displays on Linux or Windows.

Begin by entering the following information:

You can optionally add any command-line options that you would use if you were running on the remote system. You can also add any command-line options that your program requires.

If the host machine is not directly connected to the machine upon which you are running the Client, you need to specify the route the Remote Displayer will take to the remote host.

All you need do now is press the Launch Debug Session button. In a moment, you'll se a window that asks for your password:

Depending upon the way you are connecting, you may be prompted twice for you password. The first prompt occurs when Remote Display is searching ports on a remote system. The second can differ due to the way you acess the remote host.

After entering your remote host password, a window opens on the Client's system. This window contains TotalView or MemoryScape as well as an xterm that you can use for any other purpose. If you do not add an executable name, TotalView displays its File > New Program dialog box and MemoryScape displays its Add Program to Your MemoryScape Session page. If you do enter a name, TotalView displays it's Process > Startup Parameters dialog box and MemoryScape displays it Memory Debugging Session page.

When your done using TotalView or MemoryScape, go back to the Client and terminate the Viewer and Server by pressing the End Debug Session button. (The Launch Debug Session button changes to this button after you launch the session.) A second method is by clicking the close button on the Viewer's window. This removes the Viewer Window but does not end the debugging session. You still need to select the Client's End Debug Session button. The second method might seem less useful as you still need to click the End Debug Session button. If your desktop has many windows running on it, this can be the easiest way because the Viewer may be obscuring the Client.

Naming Intermediate Hosts

If the Client system does not have direct access to the remote host, you must specify the path to the remote host. The order in which you enter hosts is the path Remote Display takes to reach the remote host. Buttons immediately to the left of this area let you change the order, and add and delete lines.

The most common access method is by entering your user name. If this is wrong for you environment, click on the downward facing arrow in the Access By area. The following figure shows your choices:



Submitting a Job to a Batch Queuing System

TotalView Remote Display lets you submit jobs to the PBS Pro and LoadLeveler batch queuing systems.



Begin by selecting a batch system by clicking on the Submit job to Batch Queuing system pull down list. From this list, select either PBS Pro (which is the option shown) or LoadLeveler. Default values for the submit command and the script that Remote Display runs are filled in. The scripts for PBS Pro and LoadLeveler were installed when you installed the Client.

You can, of course, change both of these values if that is what your system requires. Additional information about these scripts can be found in Scripts..

The Additional Options area lets you enter arguments that are sent to the batch system.

You're ready to launch. Do this by pressing the Launch Debug Session button. Behind the scenes, a job is submitted that will launch the Server and the Viewer when it reaches the head of the batch queue.

Setting Up Your Systems and Security

In order to maintain a secure environment, Remote Display uses SSH. The Remote Display Server, which will run on the remote host, allows only RFB (Remote Frame Buffer) connections from and to the remote host. No incoming access to the Server is allowed and the Server can only connect back to the Viewer over an established SSH connection. In addition, only one Viewer connection is allowed to the Server.

As Remote Display connects to systems, you are asked to enter your password. If you are allowed to use keyless ssh, you can simplify the connection process. You should check with your system administrator to confirm that this kind of connection is allowed and the ssh documentation for how you go about generating and storing key information.

Here are three things that must occur before the Client can connect to the remote host:

Session Profile Management

The Client lets you save the information you enter. At a later time, you can restore these settings by clicking on the profile name in the Session Profile.

The Client initially saves the information you first enter into a profile whose name is what you entered in the remote host area. The following figure shows two saved profiles:

After you click on a profile, the Client writes this previously saved information into the its text fields.

The four icons within the Session Profiles area have the following meaning:

Creates a new profile using the current settings. If you do not use this button, the Client automatically writes the changes you've made back into the selected profile when you press the Launch Debug Session button at the bottom of the window.
Deletes the selected profile.
Displays a file explorer window. Use this explorer to locate the profile you wish to load into the Client. After you import a file, it remains within your Client profile until you delete it.
Displays a file explorer window. Use this explorer to locate a directory into which the Client will write a profile.

If you make changes to the data in a text field, the Client automatically changes the information in the profile. If this is not what you want, click on the "Create" icon. The client will then display a dialog box into which you can type a new session profile name. The Client will write this existing data the new profile instead of saving it the original profile.

Sharing Profiles with Others

Here's how you share a profile with others::

  1. Select a profile.
     
  2. Write it to a file.
     
  3. Give the filename to others so they can import the file.

Remote Display Server and Viewer

The Remote Display Server is started by the Client on the remote host. It creates a virtual window on the remote host and send that virtual window back to the Remote Display Viewer window. The Viewer is a nothing more than a window that appears on the Client's system..

You can interact with the Viewer window in the same way you interact with any window that runs directly on your system. Behind the scenes, your interactions are sent back to the Server, and the Server interacts with the virtual windows running on the remote host.

The server looks for (in order) the following window managers on the remote host:

If you want to use another window manager, use the -wm window_manager_name in the Arguments for TotalView (or MemScape if invoking MemScape) text field. If you do this, the path of the window manager must be named in your PATH environment variable.

If you need to specify a font path on your remote host, use the -fp pathname in the Arguments for TotalView (or MemScape if invoking MemScape) text field. While Remote Display checks the obvious places, these places may not be obvious on some architectures when they use a window manager on the remote host.

If you want to change the size of the Remote Display Viewer window created, use the -geometry widthxheight in the Arguments for TotalView (or MemScape if invoking MemScape) text field. The default is 1024x768.

If you need to specify a path for the rgb file on your remote host, use the -co pathname in the Arguments for TotalView (or MemScape if invoking MemScape) text field. While Remote Display tries the defualt location, this place may not be the same on some architectures when they use a window manager on the remote host.

If you are running the Client on a Windows system, you'll see icons at the top of the window:

From left to write, the commands associated with these icons are:

 

Scripts

The actions that occur when you select PBS Pro or LoadLeveler within the Submit job to Batch Queueing System are defined in two files: tv_PBS.csh and tv_LoadLeveler.csh. If the actions performed are not correct for your environment, you can either change one of these scripts or add a new script, which is the recommended way.

After you create the script and place it in the installation_dir/totalview_version/batch directory, any Remote Display user can enter it into the TotalView/MemoryScape Script to run text area. For example, you could place a new script file called Run_Large.csh into the path_to_toolworks/toolworks/totalview.8.6.0/batch directory.

tv_PBS.csh Script

Here is the contents of the tv_PBS.csh script file:

#!/bin/csh -f 
# 
# Script to submit using PBS 
# 
# These are passed to batch scheduler:: 
# 
# account to be charged 
##PBS -A VEN012 
# 
# pass users environment to the job 
##PBS -V 
# 
# name of the job 
#PBS -N TotalView 
# 
# input and output are combined to standard  
##PBS -o PBSPro_out.txt 
##PBS -e PBSPro_err.txt 
# 
##PBS -l feature=xt3 
# 
#PBS -l walltime=1:00:00,nodes=2:ppn=1 
# 
# 
# Do not remove the following: 
TV_COMMAND 
exit  

#
# end of execution script 
# 

You can uncomment and change any line and you can add other commands to this script. The only lines you cannot change are:

TV_COMMAND
exit
    

tv_LoadLeveler.csh Script

Here is the contents of the tv_Loadleveler.csh script file:

#! /bin/csh -f 
# @ job_type = bluegene 
# @ output = tv.out.$(jobid).$(stepid)  
# @ error = tv.job.err.$(jobid).$(stepid)  
# @ queue
TV_COMMAND

You can uncomment and change any line and you can add other commands to this script. The only line you cannot change is:

     TV_COMMAND