Computer architecture is forever evolving, fighting to keep pace with the deceleration of Dennard scaling and Moore’s Law and serve new applications in machine learning and graphics. With all of this innovation, computer scientists, software developers, and data scientists working at the frontier of their fields can’t ignore what’s happening under the hood.
Taking advantage of computer architectures requires a principle-based view of both computer performance and computing technologies, such as caches, explicit parallelism and accelerators. This is a radical departure from the mechanistic and empirical way that computer architecture has been taught for decades.
To address this need, William Eckhardt Distinguished Service Professor Andrew A. Chien authored a new textbook, “Computer Architecture for Scientists.” Released electronically in March by Cambridge University Press (a physical copy will be available in April), the book covers a number of key topics in the field, including how size drives performance, implicit parallelism, dynamic locality, and parallelism. The book is aimed at software-oriented computer scientists and data scientists, but suitable for upper level undergraduates in these fields.
“The dramatic increase in computer performance has been extraordinary, but not for all computations: it has key limits and structure,” the book summary states. “Software architects, developers, and even data scientists need to understand how to exploit the fundamental structure of computer performance to harness it for future applications.”
With chapters on topics such as “how small is fast,” parallelism in multi-core architectures and the cloud, and accelerators customized for performance on specific tasks, Chien provides the key pillars for understanding architectures from the past, present, and future.
Reviews from esteemed members of the field including Azer Bestavros, Tony Hey, and Rajesh Gupta praise the textbook for its timeliness and how it connects the fundamental principles of computer architecture to the performance outcomes that are important to software engineers and data scientists.
“’Hurray for Computer Architecture for Scientists!,” wrote Rob A. Rutenbar – Distinguished Professor of Computer Science and Electrical and Computer Engineering at the University of Pittsburgh. “Finally, a book aimed squarely at the rising complexities at the intersection of Moore’s Law scaling of technology and the dizzying array of diverse computer architectures that have resulted. General versus special-purpose, programmable versus configurable, and a growing basket of colors and flavors of parallelism. While these make sense to working computer architects and chip designers – what of scientists and engineers just trying to get stuff done? Chien does a splendid job of translating and demystifying why and how computer architectures matter, how users can understand them, and use these insights to wrestle them into submission to do good science.”
“Computer Architecture for Scientists” is Chien’s second book after “Concurrent aggregates – supporting modularity in massively programs,” written in 1993. Chien also serves as Editor-in-Chief for Communications of the ACM, where he writes regular editorials on topics such as environmental sustainability and the geopolitical pressures on the global computing community.
“Computing is essential to nearly every discipline as providing intellectual ‘power tools,’ so it’s not enough to just do great research, but making computing knowledge clear and accessible to broader scientific communities is a critical task for computer scientists,” Chien said.