Computer Architecture for Scientists
The dramatic increase in computer performance has been extraordinary, but not for all computations: it has key limits and structure. Software architects, developers, and even data scientists need to understand how exploit the fundamental structure of computer performance to harness it for future applications. Ideal for upper level undergraduates, Computer Architecture for Scientists covers four key pillars of computer performance and imparts a high-level basis for reasoning with and understanding these concepts: Small is fast – how size scaling drives performance; Implicit parallelism – how a sequential program can be executed faster with parallelism; Dynamic locality – skirting physical limits, by arranging data in a smaller space; Parallelism – increasing performance with teams of workers. These principles and models provide approachable high-level insights and quantitative modelling without distracting low-level detail. Finally, the text covers the GPU and machine-learning accelerators that have become increasingly important for mainstream applications.
- Offers a high-level, approachable view of computing performance: how size scaling drives performance, implicit parallelism, dynamic locality, and parallelism
- Presents principles and models for understanding and reasoning about how hardware architecture has enabled and continues to increase computing performance
- Suitable for software-oriented computer scientists, data scientists, and anyone who needs to effectively exploit computing
- Uses a simple subset of RISC-V to avoid instruction set complexities and provide access to a range of simple instructional tools
- Coverage of parallelism and accelerators is unified, bridging hardware architecture features, and showing their connection to multicore and cloud programming
- Impacts of fundamental scaling are well covered, providing an accessible and practically useful framework for software and data-science oriented computing students to understand future changes in the field
Reviews & endorsements
'Andrew Chien's Computer Architecture for Scientists: Principles and Practice is a timely and much-needed treatment of how computer architecture impacts the scalability and performance of the computing systems and the data-driven processes that operate at the upper levels of the software stack. Aimed at software engineers and data scientists, this book provides a holistic and principled coverage of technology-agnostic concepts that govern the interplay between hardware capabilities and software performance. Understanding this interplay is crucial as it allows practitioners not only to reason about the performance of the systems they develop, but in fact to design these systems in a way that leverages the architectural features of the hardware systems on which they are built.' Azer Bestavros, Associate Provost for Computing and Data Sciences, Boston University
'This is a very timely book on computer architecture aimed at the new generation of computational scientists and data scientists. The end of Dennard Scaling, coupled with the breakthrough of Deep Neural Networks in Machine Learning, has led to the need for a radical re-think in the teaching of computer architecture. Andrew Chien's book addresses this need and gives scientific software developers a high-level understanding of the emerging computer architectures and the design principles they require to obtain maximum computer performance from their programs.' Tony Hey, Chief Data Scientist, Rutherford Appleton Lab, U.K.
'Hurray for Computer Architecture for Scientists! 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.' Rob A. Rutenbar, Distinguished Professor of Computer Science and Electrical and Computer Engineering, University of Pittsburgh
'Andrew Chien's book connects the dots from interdependent architectural choices to underlying calculus of performance and in the process strikes a balance between high-level view of the machine and its realizations. 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. The book provides such insights through its succinctly stated principles that both educate and enlighten about fundamental abstractions in computing.' Rajesh Gupta, Professor of Computer Science and Engineering, University of California, San Diego
Product details
No date availableHardback
9781316518533
264 pages
250 × 174 × 16 mm
0.64kg
Table of Contents
- Preface
- 1. Computing and the transformation of society
- 2. Instruction sets, software, and instruction execution
- 3. Processors: small is fast and scaling
- 4. Sequential abstraction, but parallel implementation
- 5. Memories: exploiting dynamic locality
- 6. The general-purpose computer
- 7. Beyond sequential: parallelism in multi-core and the Cloud
- 8. Accelerators: customized architectures for performance
- 9. Computing performance: past, present, and future
- References, Index.