Etnus’ Chris Gottbrath speaks on the TotalView Debugger at SC06

By Tyler O’Neal – As more companies adopt HPC technologies, there is an increasing interest for the Etnus TotalView debugger in various commercial markets. Following the trend in multi-core processors, multi-processor servers and cluster architectures into the commercial space, Etnus is demonstrating the competency of its debugger for a wide variety of multi-threaded software. Increasingly their customers come from the entertainment, financial, oil & gas and e-commerce industries. Companies in these industries are combining Linux and other open source software with the HPC competency of vendors like Etnus to build their solutions. In fact, Etnus has experienced double digit growth in the number of license shipped over the past year. To learn more about Etnus’ efforts, Supercomputing Online interviewed Chris Gottbrath, Product Manager for the TotalView debugger at SC06 in Tampa, FL. SC Online: Please tell our readers about major product enhancements, new products and new licensing options introduced by Etnus in the last year, and the implications for developers in the HPC space. Gottbrath: 2006 has been a great year so far for Etnus. We've seen steadily increasing interest in TotalView both within HPC and in the broader commercial marketplace. We attribute growing interest to a combination of three factors. First HPC-style technologies like computational clusters are being used by larger and more diverse set of users. Second we have seen a remarkable amount of interest in our memory debugging technology this year. Our users tell us that TotalView is easy to use, both for serial and parallel jobs, and that looking at memory problems within a debugger makes it easy to understand the root cause and actually fix problems. Third, and I think most fundamentally, we're seeing a huge shift in computer architectures with the almost universal introduction of multicore processors in both HPC and mainstream computing. With these broad trends in play we've found ourselves very busy here at Etnus. We've released two versions of our TotalView debugger and we will be demonstrating a third this week at supercomputing. Recent improvements to TotalView that readers might not be familiar with include: * Support for Sun's Solaris on AMD64 * Support for Apple OS X (both Intel and Mac) * A simple way to start MPI jobs under TotalView by specifying the program you want to run, the MPI starter you want to use, and the number of rank processes you want to be part of the job. * A more powerful and easy to use GUI for attaching to already running jobs both on the local machine and those running off in the far corners of a cluster. * Cycle detection capabilities within the MPI message queue graph display. * Integrated memory debugging capabilities for platforms including the IBM BlueGene/L * New graphical displays for memory usage among all the MPI tasks that make up a large job * A more powerful way for the developer to look at the raw data behind complex data structures and objects. * Extended breakpoints that work more smoothly with shared libraries and allow the user to break on all methods of a C++ class or more than one of the set of overloaded functions with a given name. We've introduced a new product by the name of TotalView Individual. TotalView Individual enables developers working on a laptop or small workstation to take advantage of TotalView's powerful source code debugging features without the cost or complexity of the full version of TotalView. At the same time, we've introduced new, more flexible, licensing options for the full version of TotalView. TotalView is now available as TotalView Enterprise and TotalView Team, depending on what license model makes the most sense for a given customer situation. The implication for HPC users is that this is a great time to be doing HPC. As the 'multicore age' dawns on mainstream computing I think we have the opportunity to apply the lessons that we have learned about concurrency, scalability, reliability, and usability with our supercomputers to a much wider range of problems and applications. Collectively, we are in a great position to make a significant impact on computing and ultimately on productivity generally. HPC techniques, technologies, tools, and the human resources that make up the HPC community (i.e. those of you reading this) represent valuable answers to challenges like concurrency and scalability. As those challenges become the challenges of mainstream software development we all have that more to offer to a wider range of potential partners, customers, and employers. This is true for Etnus as a company, TotalView as a product and as a technology, and for those of us doing HPC as a human resource pool. SC Online: There are challenges of debugging in the "multicore age", what's needed in a debugger to address these challenges, and how does TotalView address those requirements? Gottbrath: The challenge of the multicore age is fundamentally the challenge of concurrency. Everything we are seeing in the market suggests that we are entering a period of time where we are not going to be able to count on steady clock speed increases from one generation of computer hardware to the next. In the multicore age we will see improvements in processor technology come primarily in the form of chips with more and more processing cores. At the most fundamental level that means that developers are going to need to look at their applications and look for places where their workload can be parallelized and then find a way to schedule that work across multiple processor cores. Those of us in HPC know that this is a non trivial task. When it is done, the application will contain different threads of execution that share some resources. Any architecture that relies heavily on shared access to resources can be subject to a particularly subtle class of errors that fall under the category of race conditions and deadlocks. TotalView's unique asynchronous thread control gives the user the ability to specify exactly which threads run within a single process. This is a qualitatively better approach to trying to track down a race condition than bringing up the program in a debugger that lacks this degree of control and running the program again and again and again -- in the "hope" that the sequence of context switches that lead to the race condition occur while the developer is watching. SC Online: TotalView helps to identify challenging source code and memory problems. TotalView has reduced debugging time by about 20%, and you expect this figure to grow to 40%. What will help to reduce that figure? Gottbrath: We have had customers tell us that TotalView reduces debugging time by up to 20%. Several product features contribute to this productivity improvement. * parallel process acquisition * parallel process control * advanced breakpoints & watchpoints * flexible display capabilities for looking at variables, arrays and structures * scripting * testing fixes on the fly We will be expanding our product offerings will include features to allow programmers working with large parallel systems with enhanced graphical representations of program state. Users will be able to quickly recognize problems and zoom in to identify root causes. SC Online: TotalView has proven to be a valuable tool for debugging data-intensive reservoir modeling and simulation software. As demands for supercomputing grow, what role will Etnus play for the commercial sector? Gottbrath: We've seen TotalView adoption follow hand in hand as various commercial markets have adopted HPC techniques. This is because the fundamental challenges of application development on clusters, large SMP systems, and multi-core systems are quite similar across different commercial domains. As demands for supercomputing grow in new business sectors we expect that software specific to those sectors will need to be written or adapted to the concurrent nature of the parallel architecture. During development, testing, and deployment developers of these programs will need debugging tools that are built to provide control and visibility over a set of independent processes or threads. TotalView's proven strengths in these areas have enabled it to provide a strong return on investment for organizations in a wide range of commercial domains. SC Online: Its scalability, multi-language support and built-in interactive memory debugger make it an indispensable tool for your product. What features will be added to TotalView in the future? Gottbrath: TotalView's development has historically been driven by evolving customer needs. As we look to the future we are talking with both existing and prospective customers in a wide variety of markets and looking for the additions that are most valuable to them. Areas we are investigating include expanding our user interface, enhancing our memory debugging capabilities, and adding performance analysis to our portfolio. SC Online: Tell us about the record numbers Etnus has experienced in the last year and let us in on why you think you've been so successful? Gottbrath: We've experienced double digit increases in the number of license shipped over the past year. This is due to the rich functionality in our products and the increasing demand for debugging tools that reduce the time to get multi-core applications to market. SC Online: Is there anything you'd like to add? Gottbrath: We've been really please with the market acceptance of TotalView. With the new features and capabilities we will be introducing over the next year, we expect TotalView to be adopted by even more new customers as they tackle the complexities of debugging multi-core applications. Supercomputing Online wishes to thank Chris Gottbrath for his time and insights.