Originally Printed in Winter/Spring 2009 Newsletter
Kim Hazelwood is an assistant professor in the Department of Computer Science at the University of Virginia. Her research interests are in aspects of optimizing compilers and computer architecture, with a particular focus on infrastructures for and applications of dynamic binary modification and virtual machines. She earned a B.S. in Computer Engineering from the Clemson University, an M.S. in Computer Engineering from North Carolina State University, and a Ph.D. in Computer Science from Harvard University. After receiving her Ph.D., she spent a year as a postdoctoral researcher at Intel Massachusetts before join-ing the faculty of Computer Science at the University of Virginia. You can learn more about Kim.
Q: How did you become interested in research in optimizing compilers and computer architecture?
I realized very early on that I loved working at the boundary of hardware and software. I took several computer architecture courses as an undergraduate, and felt that designing future mi-roprocessors was an extremely exciting prospect. During my sophomore year, I had a great professor (Dr. Walt Ligon) who approached me about doing an honors thesis with his research group (the Parallel Architecture Research Lab). I worked with his PARL group for the next two years, and the great experience cemented my interest in graduate school and a research-oriented career. I then refined my research focus when, during the summer after my first year of graduate school, I took an internship at Hewlett-Packard. I worked on a dynamic binary optimizer for the IA-64. I realized that modifying programs while they run was extremely intriguing. The applications seemed endless.
Q: You are working with many different organizations. How can your work be applied in practice?
Throughout my career, I have kept close ties with industry. It keeps my work current and relevant, and gives me access to the latest production-level tools. It also keeps my students fed and employed after graduation! My work has always been much more practical than theoretical. I look for ways to have various layers (the architecture, the OS, a virtualization layer, the software itself) work together to provide cohesive solutions to some of the more pressing issues today, including performance, power, temperature, reliability, heterogeneity, profiling, and scheduling. Having these layers work together using well-defined communication channels almost always results in “the whole being greater than the sum of its parts.” One layer must be responsible for collating information from various layers and orchestrating a unified solution. I feel that a virtualization layer / run-time system is the place to perform this task, so a lot of my work incorporates the Pin dynamic instrumentation system, which I use as a process-level virtualization layer. Of course, the performance of the virtualization layer becomes critical, so I also dabble in performance optimizations of dynamic binary translation systems. If my work is successful, we’d live in a world where virtualization and cross-layer integration are ubiquitous. Computer architects, OS designers, and compiler writers would all get along. We’re almost there today.
Q:What do you think are the biggest challenges for researchers in your area How does your work address them?
The multicore era has completely changed the landscape of the interaction between hardware and software. Until now, we have had the luxury of being able to separate the “hardware people” from the “software people” except for a handful of researchers (like me) who have been able to leverage the opportunities that span several layers. But now, in the multicore era, programmers are being exposed to the minute details of the underlying architecture, and have to change the way they do their jobs as a result. Optimizing their programs is no longer as simple as an –O3 optimization flag at compile time – programmers have to be aware of the amount and type of parallelism on the underlying machine and they must program accordingly if they want the performance gains they have grown accustomed to. Suddenly, my work in optimizing across system layers has become not only relevant, but extremely critical.
Q: What do you enjoy most about your career right now?
Being a faculty member is a much more dynamic job than most people realize. I am a research scientist, a manager, a teacher, a writer, a public speaker, a systems administrator, a sales rep, a travel agent, and a therapist, all rolled into one. It never gets boring. As far as research goes, I have ultimate freedom to explore the problems that interest me.
Q: What’s the most difficult aspect of your career right now?
One of my biggest challenges has been prioritizing the many opportunities that arise, and actually learning to say no to things that I really want to do, but simply cannot possibly squeeze into my schedule. I have found that women in computing are exposed to a disproportionate number of opportunities for service, and it would be easy to fill our schedules with service alone. While that might be a fun and rewarding way to spend our time, it’s probably not the best choice in the long run (especially for a junior faculty member).
Q: How has your interaction with CRA-W impacted your career?
During graduate school, I participated in several CRA-W workshops. I found that the workshops filled many roles. Aside from the very useful information presented (on surviving graduate school, finding a job, etc.), I made a great number of personal contacts. Some of the contacts were senior women who would serve as letter writers throughout my career. Others were women at my level who would serve as friends, confidants, and later colleagues. These days, I attend these workshops as a speaker and panelist, so it has been exciting to be able to give back to the organization that helped me so much.
Q: How do you balance work and family, especially with the birth of your daughter in fall 2008?
I do have to credit my very supportive husband of eight years for helping to provide all of the work-life balance I have ever wanted. Matt has always taken care of nearly all of the aspects of my life outside of work (including all of the cooking!) and he doesn’t mind if I work all of the time, as long as I work from home after 7PM. I love my research, so it’s easy for me to put in 80+ hour work weeks. But I clearly recognize that my drive is mostly internal, and that it is very possible to have a successful career while working fewer hours if you want to. Meanwhile, the importance of maintaining your own sense of work-life balance cannot be overemphasized because it impacts others as well. It really hit home for me a couple years ago when one of our female Ph.D. students said she didn’t want to go into academia because she didn’t want our lifestyle (she was speaking to my female department chair and me). I had thought that my focus and drive would encourage other women, but it turned out that my “live to work” attitude and long hours were actually driving women (or at least this one) off of the academic track! I decided that it was important for me to prove to myself and others that it is still possible today to have a family and a successful career. Life after a baby turned out to be much more manageable (and fun) than I had expected. Anastasia joined the family at the beginning of my research sabbatical (sponsored by the Woodrow Wilson Fellowship Foundation) which provided teaching “buy out” for the fourth year of my tenure-track position. I had also just received the CAREER award, a Microsoft award, a Google award, and a couple other grants, so I was at a stable point in my career. I wasn’t able to take a formal “maternity leave” since I have six graduate students and various departmental and community service commitments, but the teaching buy-out afforded some flexibility in my daily schedule to dedicate to the newborn, and I was able to continue my research program without disruption. As added bonuses, Anastasia turned out to be the easiest baby in history, and my husband has had a light and flexible work schedule, so I’ve been able to maintain a healthy work-life balance even with an infant in the house. I’ve just had to learn to use my time efficiently, which is a good thing any way you look at it.