About me

Research Staff Member
Research lab: Watson Research Center (Hawthorne)
I am a researcher here at IBM's T.J. Watson Research Center, in Hawthorne, New York. My focus has been on tools that aid in the analysis of performance and memory problems in Java programs. Since I've been at IBM, I have worked on Jinsight, which helps you explore performance and memory problems with a collection of visual and quantitative views. More recently, I have been tackling the variety of memory problems that show up when you use a garbage collected language, such as Java, to run your large scale commercial server applications. Leakbot is a tool we've developed to automate in finding memory leaks and footprint problems in these kinds of applications. The memory analysis engine we developed is now part of Rational Application Developer as of version 6.0, and a tool called Memory Dump Diagnostic for Java.
A big challenge we have faced is the design algorithms that work for the scenarios that show up in actual applications. Benchmarks don't capture anywhere near the complexity of large-scale applications, especially those that make heavy use of reusable frameworks. Because of the extensive reuse of framework code, the problems in real applications tend to be diffuse, complex in structure, and filled with details few entirely understand. So, we have to design algorithms that automate analysis as much as possible, and that aggregate in more clever ways than just tables of methods or classes. The algorithms also have to live within fairly tight resource constraints, and still tackle applications that run on servers with giant address spaces, serving many requests in parallel.
I joined IBM Research in October 2000 after completing my Ph.D. from UCSD. My advisors were Larry Carter and Jeanne Ferrante. Primarily, I worked on optimizations and performance modeling for scientific applications. In addition, I did some work on scheduling and performance issues on multithreaded processor architectures, such as the Tera MTA and SMT (simultaneous multithreading) processors; on these, I worked with Allan Snavely and Dean Tullsen. In 1997, I was an intern at DEC Western Research Lab, where I worked with Jennifer Anderson and Jeffrey Dean on profile-guided optimizations, as part of the DCPI project. Finally, as an undergraduate at UC Berkeley, I worked with Richard Fateman on parsing scanned integral tables. We hoped to augment a symbolic arithmetic engine, called Mockmma, with the wealth of knowledge embodied in the many tables of integral equations.
Last updated 9 Mar 2007
