PTLIB Review of Totalview

See the PTLIB Review of Parallel Debuggers and Performance Analyzers which includes this evaluation of Totalview for the review criteria and methodology as well as a comparison with other similar tools.

Performance

Acceptable monitoring overhead
N/A

Intrusion compensation
N/A

Acceptable response time
Yes, totalview reacts quickly when you issue commands and the windows pop up almost immedietly.

Memory/disk requirements
Disk requirements are average taking up only 4 megs of space which includes the man pages, and the binaries (no source).

Scalable data collection
N/A

Scalable data presentation
N/A

Versatility

Languages/programming models/ communication libaries supported
Supports C,C++, Fortran. HPF(available end of 96).

Runs on currently popular platforms
Sun4 with SunOS operating system, version 4.1.x, Sun4 with Solaris operating system versions 2.2, 2.3, 2.4, 2.5, Digital Alpha with Digital UNIX operating system, versions 2.0, 3.0, 3.2, 3.2, C, 3.2D, T4.0 (Note: version 3.2 requires a kernel patch or workaround). IBM RS6000 with AIX operating system versions 3.2, 4.1 LynxOS-hosted version is available from Lynx Real-Time Systems Also Cray Research, Inc. and Meiko Scientific have licensed TotalView for use with their products. So contact them for information on their TotalView implementations. Also Etnus Inc. will port Totalview if they can to suit you needs. Fujitsu VPP version is being worked on now.

Platform dependencies isolated
No.

Support for heterogeneous environment
No.

Interacts with current or soon-to-be standards (e.g., PVM, MPI, HPF)
PVM, HPF. MPICH is being worked on currently as well as Fortran 90.

Uses SDDF
N/A

Change/customize/add new views easily
No.

Ease of Use

Documentation
The documentation was easy to read and thorough. The only bad things I could say is that they should have included a walk through tutorial.

Ease of installation
Installation is easy. It is already compiled for you all that is required is an Enviromental variable and installing the license.

Command-line interface
No.

Window-based interface
Yes, Xwindow based type system.

GUI common look-and-feel (OSF/Motif Style Guide)
Yes.

Privilege-free installation
Yes, you don't need special privileges to install this package.

Reports information at source code level
Yes at source code level and if source code is not available it will show it at the machine code level.

Automated instrumentation
This does not require instrumentation except for links to PVM if you are running a PVM application.

Compile without special linking
No, you only need to compile with -g option to get source code level or you can get the machine code without the -g option.

Maturity

Runs without crashing the monitored program
Yes, it did not crash the programs I monitored. I monitored both parallel and non-parallel applications.

Reports and recovers from error conditions
Yes.

Support
While I did not need any support for this product all my questions were responded to quickly and informatively.

Capabilities

Support for multiple threads per node
No.

Presents different levels of abstraction, from global to individual threads, procedures, or data structures
Yes.

Single point control for parallel debugging
Yes.

Attach/detach to/from running program
Yes.

Breakpoints and data watchpoints
Yes, you can set breackpoints across processes as well.

Program state examination
Yes, this is a very nice option they have. You just type in the variable and it gives you what is at that location or the address of the space if you want it. Also you can view the variable by clicking on a variable to see its value.

Program state modification
Yes, you can change the values of variables as well as added snippets of code to your program and recompile it while in totalview. Also on some architectures you can add machine code in as well.

Event tracing mechanism
N/A

Cache and memory reference tracking/display
No.

Remote data access pattern analysis
N/A

Message tracing/display
This will be included in their MPI support which is in work currently.

Input/output characterization
N/A

Real-time monitoring
Yes.

Post-mortem analysis
Yes through core files.

Profiling at level of subprocedures and coarse blocks
N/A

Utilization display (communications/idle/IO/computation)
N/A

Performance prediction
N/A

Comparisons between different runs
N/A

Other

Commercial/research
Commercial

Cost
Pricing for Basic TotalView License (no parallel)

Pricing
Number of Users USA Price per Users International Price per User
1 $975 $1,225
2-4 $875 $1,075
5-9 $775 $925
10-24 $675 $775
25-49 $625 $700
50+ $575 $625

Pricing for Distributed Parallel/Remote Debugging Option License

Pricing for Parallel License
Number of Users USA Price per Users International Price per User
1-9 $1,500 $1,800
10-24 $3,000 $3,600
25+ $4,500 $5,500

Pricing for Additional Copies of Documentation

USA $125
International $150

Pricing for Additional Distribution Kits USA $200
International $250

Maintenace Pricing
Maintance programs are available for periods of 1,2, or 3 years. Maintenance prices are calculated as a percentage of the license list price. There is a $400 minimum price ($500 outside the United States) for a TotalView maintenance program. Maintenance includes phone support, corrective code releases, and product updates.

Pricing for Maintenace
Period (years) USA % of List International % of list
1 year 20% 22%
2 years 36% (18%/year) 40% (20%/year)
3 years 45% (15%/year) 54% (18%/year)

Academic Pricing Academic discounts are availabe by phone.

Email
toolworks@etnus.com

Webpage
http://www.etnus.com/tw/tvover.htm

Version Date
March 1995

Version
3.4

Summary

Totalview is a debugger that reports to the source code or machine code level if source code is not available. While Totalview is robust and is able to debug over a heterogenious network it does lack the ability to debug over a heterogenious network. This seems to be its biggest weakness. I found that totalview is very easy to use and that it found bugs in the code more reliably than other packages I have used. Totalview also has a nice feature of being able to add snippets of code into your program and recompiling it without having to start totalview up again. Totalview can either monitor a running program or post-mortiem via a core file. The gui is based on xwindows and is easy to learn. The one thing I didn't like was that when you were viewing a variable it popped up a new window each time. It would have been nice if you could have viewed the variables in one window. Also Totalview is expensive, but if you have need for a good debugger and have the money to spend Totalview is one of the best on the market. There current research efforts for a new release of Totalview include HPF support, new architectures.

Ratings (Worse 1 ... 5 Better)

Click here to view a screen shot
Reviewed by Kevin London, london@cs.utk.edu
Oct., 7 1996