Module Description
From the college website…
Performance engineering is the area of computer science ensuring that computer systems (comprised of hardware as well as software) are responsive, scalable, and efficient. The course aims at introducing fundamental principles and techniques used in performance management of modern computer systems, either purpose-built applications or generic system (single-node as well as distributed). In particular, in this module you will have the opportunity to learn to:
- Design, conduct and interpret a meaningful performance assesments for a given system or application through benchmarking, monitoring and profiling
- Provision computing resources to meet performance requirements for a given system or application
- Resolve performance bottlenecks in software and hardware systems using the appropriate tools and techniques
- Trade-off different resources for each-other to achieve balance in their utilization
This module covers the following topics:
- Performance engineering methodology
- Profiling systems to find bottlenecks
- Macro and micro-benchmarking
- Critical sections
- Cost modeling
- Resource management
- Scaling (up and out)
- Single-thread, multi-thread and multi-process performance (analysis and optimization)
- Performance-critical operating system features used by applications
- Specialized devices
Lecturers
First Half: Dr Holger Pirk
Second Half: Dr Luis Vilanova
Resources
Back to main notes