Not so long ago designers and users of what most people saw as
science-fiction-like supercomputers developed systems using parallel processing
and exotic computer hardware to make their application programs run ever faster.
Today, developers of mission-critical software are turning to parallel
programming techniques to achieve the performance required to remain
competitive. Perhaps the most important software development technique being
employed is referred to as "threaded code."
The advantages of employing threads are many, but they can be overshadowed by
the unique challenges that accompany this technique. Threaded code creates or
"spawns" many different and frequently invisible sub-programs, or processes,
often called "child threads" or "worker threads." Without the proper tools,
programmers find the complexity of this spawned code extremely difficult to
follow and debug.
The same debugger, TotalView, that has helped developers in the scientific
community to debug complex applications in defense, aerospace, engineering,
automotive, etc., is now sought after to work with the complex codes of
e-business and m-commerce.
TotalView 5 gives developers, for the first time, complete control over their
programs--down to the thread level. Other new capabilities include visualization
of MPI (Message Passing Interface) queues, support for new compilers including
Lahey Computer Systems' Fujitsu F90 and F95 for Linux, an enhanced Graphical
User Interface, and a host of other features that make it easier than ever to
uncover the most difficult to find bugs in complex code.
In addition to the breakthrough thread-level controls, the new debugger also
offers enhancements for those developing applications with MPI. The new Message
Queue Graph depicts the contents of message queues visually, making
process-to-process communication much easier to understand, particularly when
dealing with hundreds or even thousands of processes. With TotalView 5, software
engineers can find MPI deadlocks that are otherwise extremely difficult to find.
Other features of TotalView 5 include support for new compilers, an updated
Graphical User Interface, the addition of a dynamic call tree graph, and help
for displaying complex objects in C++ and F90 that typical debuggers simply
can't handle.