CUP: Welcome Andrew, and thanks for taking the time today to speak to us. It’s great to have the chance to meet and find out a bit more about you. Let’s begin with your new book. What inspired you to write it?
AC: I’ve taught computer architecture for my entire career, and coming to University of Chicago in 2011, I became increasingly aware that the engineer’s “from the transistor up” approach did not serve software-oriented computer scientists, computational scientists, and rapidly growing data scientists well. They didn’t benefit from low-level understanding, but rather needed high-level principles and models to reason about performance. I searched and couldn’t find any textbooks or curricula meeting this need. So, this book is an attempt to meet that large and growing need.
CUP: That’s interesting and it fits with what we’ve been hearing from people who have reviewed the book. Tony Hey, from the Rutherford Labs described your book as: “… a very timely book on computer architecture aimed at the new generation of computational scientists and data scientists.” Azer Bestavros from Boston University, called it: “… a timely and much-needed treatment of how computer architecture impacts the scalability and performance of the computing systems…” There is a clear sense here that there is a strong demand for your new approach. Why do you think that is?
AC: We’re in the midst of explosive growth in computing (data science, computer science) and of course AI (Machine Learning). This community needs to understand how to use computers well – for their application! And, this “hockey stick” growth means there are 10–100 times more students who need to learn computer architecture – in a fashion that is useful to them! In short, they don’t need to learn how to design them, but to use them effectively for their own work.
CUP: To play devil’s advocate for a second: with computer processors and hardware getting faster all the time, how much do we really need to worry how to use computers well?
AC: There’s a common misperception that computers make all computations fast – they don’t! The current and emerging computer structures of multicore, cloud, and accelerators all require software/applications to be designed well to deliver performance! The simple and enduring principles and models in Computer Architecture for Scientists aim to empower data scientists and computer scientists with the computer architecture insights to do so!
CUP: Professor Rajesh Gupta from the University of California at San Diego said in his review of your book: “…it is essential that users of these tools have an intimate understanding of the principles and mechanisms that make computing machines deliver efficient and high performance without becoming hardware designers themselves.”
What is the benefit of understanding not just how to use the tools, but how they work?
AC: In my view, it’s more “when they work” that is the key insight for users of computing. The principles and models we present attempt to codify what types of application and software structures can benefit from todays and the future (multicore, cloud, and accelerators) performance. By understanding and applying the fundamental principles covered, high-level computer users can achieve efficiency, parallel scalability, and even a degree of “future proofing” of their software and applications!
CUP: Thanks for telling us about your book. It looks like a timely and welcome new approach to teaching a key topic. I‘d now like to ask about you and your research. Looking at your biography, it’s clear that you’ve had a long and varied career. What do you enjoy most about your work?
AC: The intersection of cutting-edge computing technology – which is shaping the future – and working with curious, enthusiastic, brilliant students. Together, can envision and shape the future as they learn! Across my multiple faculty roles and being VP of Research for Intel, this potent mix continues to be the greatest source of inspiration and satisfaction!
CUP: That does sound inspiring! You obviously keep an eye out for future trends. What do you think is the ‘next big thing’ in your area?
AC: Beyond computer architecture, I’ve been working on sustainability in computing, and how to eliminate both the carbon-emission footprint and also the e-waste footprint of computing. We’ve got some bad habits as a field/industry, but there are good ideas and emerging opportunities to change our future for the benefit of the planet and ourselves.
CUP: That’s an important point, and it’s good to hear that it’s being tackled as an issue. Looking outside computing, I would like to ask: if you hadn’t become a computer scientist, what might you have done instead?
AC: I almost didn’t become a computer scientist. I fell into computer science as a freshman in college when a housemate at MIT told me about “this amazing instructor” that I had to see. As a curious undergrad, I went along to see. That professor, Gerald Sussman, deserves credit for inspiring me to study computer science. But to answer your question, I have long standing interests in political economy, which was my minor in my PhD program, and biology/systems biology. These, and computer science, are fascinating because of the multi-disciplinary mix that is transforming the world!
CUP: It’s remarkable how often people can point to a few figures from their past who have had a big influence on their careers. Apart from Professor Sussman, who are the people who have inspired you most?
AC: My father, Dr. Robert T. Chien, was a distinguished scientist and researcher, known for his contributions “The Chien Search”, and “System Level Fault Diagnosis”. He inspired me with his belief in new ideas and the progress of scientific understanding to change the world.
CUP: And finally, I’d like to ask if you have any advice for students who want to go into research?
AC: Sure! There’s too much focus on what’s useful NOW in computing. Honestly if you study that in university, in most cases it will already be done by the time you graduate – industry is too fast! If you want to do high impact research, you need to find areas where it’s a bit too exotic for industry interest. “That will never work.” “We don’t do things that way.” But areas that have the depth and power to really change things if they become a success. For example, I started working in parallel computing in 1984. It really took until 2000 (cloud) or 2005 (multi-core) before it took over the mainstream.
CUP: That sounds like excellent advice, but I’m afraid that’s all we have time for today. Once again thank you for speaking to us today, and good luck with your new book.
AC: Thank you. It’s been a pleasure.
Computer Architecture for Scientists by Andrew Chien is available now.
About the Author: Andrew A. Chien is the William Eckhardt Distinguished Service Professor in Computer Science, and founding Director of the CERES Center for Unstoppable Computing at the University of Chicago. He is also Senior Computer Scientist at the Argonne National Laboratory and currently serves on the National Science Foundation’s CISE Advisory Committee.