Difference between revisions of "ParaView/Memory Inspector Panel"

From KitwarePublic
Jump to navigationJump to search
Line 1: Line 1:
 
== User Interface and Layout ==
 
== User Interface and Layout ==
[[File:Meminsp-pv-gui.png|width724|frame|border|Figure 1: The main features of the memory inspector panel.]]
+
[[File:Meminsp-pv-gui.png|thumb|1024px|border|Figure 1: The main features of the memory inspector panel.]]
 
The memory inspector panel displays information about the current memory usage on the client and server hosts. Figure 1 shows the main UI features of the Memory Inspector Panel.  
 
The memory inspector panel displays information about the current memory usage on the client and server hosts. Figure 1 shows the main UI features of the Memory Inspector Panel.  
 
<ol style="list-style-type: upper-alpha;">
 
<ol style="list-style-type: upper-alpha;">
 
   <li> Process Groups </li>
 
   <li> Process Groups </li>
   <li> per Host statistics </li>
+
   <li> Per-Host statistics </li>
   <li> per Rank statistics </li>
+
   <li> Per-Rank statistics </li>
 
   <li> Update controls </li>
 
   <li> Update controls </li>
 
</ol>
 
</ol>
  
=== Process Groups ===
+
=== A: Process Groups ===
 
The panel is organized by groups, depending on the connection type. There are a few classes of groups,
 
The panel is organized by groups, depending on the connection type. There are a few classes of groups,
  
Line 17: Line 17:
 
; Render Sever  : When running in client-data-render server mode a render server group reports statistics about the hosts where pvrenderserver processes are running.
 
; Render Sever  : When running in client-data-render server mode a render server group reports statistics about the hosts where pvrenderserver processes are running.
  
=== Per-Host Statistics ===
+
=== B: Per-Host Statistics ===
 
Per-host statics are reported for each host where a ParaView process is running. Hosts are organized by host name which is shown in the first column. Two statics are reported: total memory usage of all processes on the host, and ParaView's cumulative usage by all processes on this host. ParaView's cumulative memory usage is displayed as a percentage of the total available to it. On systems where job-wide resource limits are enforced, ParaView is made aware of the limits via the '''PV_HOST_MEMORY_LIMIT''' environment variable in which case, the percentage used is computed using the smaller of the host total and resource limit.
 
Per-host statics are reported for each host where a ParaView process is running. Hosts are organized by host name which is shown in the first column. Two statics are reported: total memory usage of all processes on the host, and ParaView's cumulative usage by all processes on this host. ParaView's cumulative memory usage is displayed as a percentage of the total available to it. On systems where job-wide resource limits are enforced, ParaView is made aware of the limits via the '''PV_HOST_MEMORY_LIMIT''' environment variable in which case, the percentage used is computed using the smaller of the host total and resource limit.
  
=== Per-Rank Statistics ===
+
=== C: Per-Rank Statistics ===
 
Per-rank statistics are reported for each rank on each host. Ranks are organized by MPI rank number and process id, which are shown in the first and second columns. Each rank's individual memory usage is reported as a percentage used of the total available to it. On systems where either job-wide or per process resource limits  are enforced,  ParaView is made aware of the limits via the '''PV_PROC_MEMORY_LIMIT''' environment variable or standard through standard usage of Unix resource limits in which case, the percentage used is computed using the smaller of the host total, job-wide, or Unix resource limits.
 
Per-rank statistics are reported for each rank on each host. Ranks are organized by MPI rank number and process id, which are shown in the first and second columns. Each rank's individual memory usage is reported as a percentage used of the total available to it. On systems where either job-wide or per process resource limits  are enforced,  ParaView is made aware of the limits via the '''PV_PROC_MEMORY_LIMIT''' environment variable or standard through standard usage of Unix resource limits in which case, the percentage used is computed using the smaller of the host total, job-wide, or Unix resource limits.
 +
 +
=== D: Update Controls ===
 +
By default, when the panel is visible, memory use statistics are updated automatically as pipeline objects are created, modified, or destroyed, and after the scene is rendered. Updates may be triggered manually by using the refresh button. Automatic updates may be disabled by un-checking the '''Auto-update''' check box.
  
 
<br clear=all>  
 
<br clear=all>  
Line 38: Line 41:
 
$PV_HOST$ ; The hostname where the selected process is running.  
 
$PV_HOST$ ; The hostname where the selected process is running.  
 
$PV_PID$ ; The process-id of the selected process.
 
$PV_PID$ ; The process-id of the selected process.
 
 
  
 
=== Host Properties ===
 
=== Host Properties ===

Revision as of 17:32, 30 November 2012

User Interface and Layout

Figure 1: The main features of the memory inspector panel.

The memory inspector panel displays information about the current memory usage on the client and server hosts. Figure 1 shows the main UI features of the Memory Inspector Panel.

  1. Process Groups
  2. Per-Host statistics
  3. Per-Rank statistics
  4. Update controls

A: Process Groups

The panel is organized by groups, depending on the connection type. There are a few classes of groups,

Client 
There is always a client group which reports statistics about the ParaView client
Sever
When running in client-server mode a server group reports statistics about the hosts where pvserver processes are running.
Data Sever
When running in client-data-render server mode a data server group reports statistics about the hosts where pvdataserver processes are running.
Render Sever
When running in client-data-render server mode a render server group reports statistics about the hosts where pvrenderserver processes are running.

B: Per-Host Statistics

Per-host statics are reported for each host where a ParaView process is running. Hosts are organized by host name which is shown in the first column. Two statics are reported: total memory usage of all processes on the host, and ParaView's cumulative usage by all processes on this host. ParaView's cumulative memory usage is displayed as a percentage of the total available to it. On systems where job-wide resource limits are enforced, ParaView is made aware of the limits via the PV_HOST_MEMORY_LIMIT environment variable in which case, the percentage used is computed using the smaller of the host total and resource limit.

C: Per-Rank Statistics

Per-rank statistics are reported for each rank on each host. Ranks are organized by MPI rank number and process id, which are shown in the first and second columns. Each rank's individual memory usage is reported as a percentage used of the total available to it. On systems where either job-wide or per process resource limits are enforced, ParaView is made aware of the limits via the PV_PROC_MEMORY_LIMIT environment variable or standard through standard usage of Unix resource limits in which case, the percentage used is computed using the smaller of the host total, job-wide, or Unix resource limits.

D: Update Controls

By default, when the panel is visible, memory use statistics are updated automatically as pipeline objects are created, modified, or destroyed, and after the scene is rendered. Updates may be triggered manually by using the refresh button. Automatic updates may be disabled by un-checking the Auto-update check box.


Debugging Features

The Memory Inspector Panel provides a number of additional features via specialized context menus. The Client and Server groups, Host items, and Rank items all have specialized context menus.

Local and Remote Commands

Figure 1: The remote command dialog.

The Memory Inspector Panel provides a local/remote command feature allowing one to execute a shell command on a given host. This feature is exposed via a specialized Rank item context menu. Because we have information such as a rank's process id, individual processes may be targeted. For example this allows one to remotely attach a debugger to a specific pvserver rank. If the target rank is not on the same host as the client then the command is considered remote otherwise it is consider local. The difference between local and remote commands are that remote commands are executed via ssh while local commands are not.

Commands are stored as templates which when executed have instances of special tokens replaced. The following tokens are provided for use in command templates: $TERM_EXEC$ ; The terminal program which will be used execute commands. On Unix systems typically xterm is used, while on Windows systems typically cmd.exe is used. If the program is not in the default path then the full path must be specified. : $TERM_OPTS$ ; Command line arguments for the terminal program. On Unix these may be used to set the terminals window title, size, colors, and so on. : $SSH_EXEC$ ; The program to use to execute remote commands. On Unix this is typically ssh, while on Windows one option is plink.exe. If the program is not in the default path then the full path must be specified. : $FE_URL$ ; Ssh URL to use when the remote processes are on compute nodes that are not visible to the outside world. This token is used to construct command templates where two ssh hops are made to execute the command. : $PV_HOST$ ; The hostname where the selected process is running. $PV_PID$ ; The process-id of the selected process.

Host Properties

Meminsp-host-props.png

Stack Trace Signal Handler


SMP Considerations