Computing systems have become an integral part of most facets of our
daily lives; whether it is the economy, health care, science and
technology, or home conveniences. Our increasing dependence on
software applications, hardware devices, and distributed computing
systems underscores the need for these systems to perform well.
Systems Performance Analysis refers to the field of
understanding/estimating the expected performance of a system, as a
function of its usage. This course will focus on the fundamental
concepts needed in conducting performance analysis and apply these in
several case studies.
Specific goals for the course include:
Introduction of concepts in
System Modeling
Measurement Techniques
Experimental Design
Workload Design
Simulations
Data Analysis and Visualization
Familiarization with tools that can be used to monitor/profile
systems, analyze data, and present results. This goal will be
achieved through brief tutorials, assignments and projects.
Examples of target applications to be analyzed include:
a web server (apache),
a database server (mysql),
a game server (quake), and
a video player (mpeg).
Familiarization with performance analysis practices in the research
and industrial communities. This goal will be achieved by:
Reviewing research papers from published literature on performance
analysis
Scheduling guest lectures by industrial performance analysts.