Theme: Programming

Expert performance tuning

Level: Advanced

Typical duration: 2 days

Lectures: 10h

Labs: 6h

Course code: PR10

This class covers expert aspects of performance tuning.

Training topics

Hardware performance monitors
System configuration

We provide an advanced overview of tuning facilities in raw hardware and VMs, as well as an advanced introduction to performance tool hacking. We discuss how more functionality and report types might be added to tools, such as for example the instruction mix of a piece of software, obtaining a call argument profile, or built-in self monitoring which enables programs to monitor and report on their own execution.

In the second part, we discuss the numerous control points of a modern computing platform, from BIOS to operating system tuning, and how they relate to data that can be measured in a system.

Extensive hands-on labs put the students in touch with the course concepts, enabling them for instance to write their own performance monitor.



After the course, the students will:
- Tune expert options of platforms and processors
- Understand the operation and characteristics of hardware performance monitors on raw hardware and in virtual machines
- Write code that produces performance reports on its own
- Extend existing tools such as perf or PIN to suit their needs with new analysis types

Training concepts

Operation and internals of hardware performance monitors in raw hardware and VMs
Mass deployments
Building custom performance monitors for existing or new software, methods of performance monitoring
Caveats and gotchas, do's and don't, Intel, ARM and AMD platforms
Taking control of all the available customization options in a modern platform