CS 258 System Architecture and Performance

This course has the primary goal to provide the students with knowledge of computing system aspects as they relate to performance, with a secondary goal of developing skills on how to evaluate performance and design hardware/software systems that perform efficiently. The the first part of the course reviews system architecture with focus on aspects that impact performance directly. These aspects include but not limited to: pipelining, cache memory design, virtual memory support, interconnect topologies, cloud computing support, virtualization, modern storage systems, and accelerators. The second part of the course covers low-level software aspects of systems, including runtime systems, programming language issues, power management, and general parallelization techniques . The third part covers performance evaluation techniques including spreadsheet models, experimental evaluation, simulation, and analytic modeling.

Credits

3

Prerequisite

Equivalent of computer architecture and logic design at the undergraduate level. Good programming skills are expected.