CMSC 22240-1: Computer Architecture for Scientists (and other non-engineers)
Winter 2020, TuTh 930-1050am, Ry 276

Designed to provide an understanding of the key scientific ideas that underpin the extraordinary capabilities of today’s computers, including speed (gigahertz), illusion of sequential order (relativity), dynamic locality (warping space), parallelism, keeping it cheap - and low-energy (e-field scaling), and of course their ability as universal information processing engines. These scientific "miracles" are robust, and provide a valuable longer-term understanding of computer capabilities, performance, and limits to the wealth of computer scientists practicing data science, software development, or machine learning. Students may not receive credit for both CMSC 22200 and 22240. This course is an optional prerequisite for CMSC 23000 (parallel to others)

Students will read the lecture notes, discuss lectures, perform case studies in performance and scalability, and also pursue connections to other science principles. The scientific principles behind performance and scalability in computer architecture will enable them to reason about energy/power and performance in systems ranging from smartphones to cloud datacenters.

    Syllabus
    • Introduction and Overview: Computers are ubiquitous, and amazing powerful and cheap
    • Basics of Computer Execution
    • Small is Fast! (and Scaling)
    • The Sequential Computing Abstraction, Parallel Implementation
    • Exploiting Dynamic Locality
    • Practically Universal and Practical General-Purpose Computing
    • Beyond Sequential: Parallelism and Scaleout
    • Exemplar Systems: CPU's, GPU's, and the Cloud
    • Summary and Computing Futures
    Coursework
    • Laboratory #1: Instruction Execution, Simulating the ARM architecture
    • Homework #1: Computing and Society, Size Scaling, Dennard Scaling
    • Homework #2: Sequential Abstraction, Instruction-level Parallelism
    • Homework #3: Speculative Execution, Dynamic Locality, Reuse Distance
    • Homework #4: Accelerators, Application Scaleout in Cloud
    • Report: Scaleup, Scaleout, and Applications
    Resources
    • Course Notes
Andrew A. Chien
Andrew A. Chien Teaching
Large-Scale Systems Group