Wednesday
you are in: HOME :: CURRICULUM :: CS PERFORMANCE ENGINEERING : :
Performance engineering takes a proactive approach to designing and building systems that meet stated performance requirements. This stands in sharp contrast to the reactive approach of "build it and then fix it".
Performance engineering has evolved over the last 40 years as a collection of tools, techniques, methodologies, and best practices, all of which are the subject of this course.
The course is intended for people who are becoming performance engineers, for people working as performance engineers and interested in learning new techniques, for people who want to develop a greater appreciation of the importance of system performance and how to achieve good performance, and for people who will be working closely with performance engineers and need to understand how they do their jobs.
This course attempts to be self-contained. We will deal with some mathematical notation and formulas, but no math beyond elementary algebra will be used. Basic familiarity with computer systems is expected. Some programming experience will make the commercial tool demonstrations more meaningful.
This course is designed to have breadth. Many of the topics covered could easily be expanded into entire courses by themselves.
We begin with an overview of ways to quantify the performance of systems and create meaningful performance requirements and goals. We then focus on meeting those requirements using bottleneck identification, capacity planning, simulation and analytic modeling, data gathering and analysis, workload characterization, and experimental design.
This course takes a somewhat holistic view of systems, which considers hardware, software, and workloads to be intimately related in determining system performance. The ideas we discuss will apply to a wide range of system types and should be useful for decades to come.
The course will feature demonstrations of several commercial performance engineering tools that support the concepts presented in the lectures.
Jeff Brumfield is Associate Dean for Information Technology at the University of Texas at Austin.
In the past 20 years, Dr. Brumfield has taught more than 200 industry courses, served as a consultant to major corporations, and developed performance measurement and modeling tools.
Dr. Brumfield hold a PhD from Purdue University and the is recipient of six teaching excellence awards. His research interests include bottleneck analysis, analytic modeling, and simulation.