Autopin+ is a framework for automatic detection and application of the best binding between threads of a running application and processor cores based sensor information like CPU performance counters or energy consumption.
This is especially important within the scope of multicore architectures with shared cache levels. We demonstrated that many applications from the SPEC OMP benchmark show quite sensitive runtime behavior depending on the thread/core
In our tests, the proposed framework is able to find the best binding in nearly all cases. The proposed framework is intended to supplement job scheduling systems for better automatic exploitation of systems with multicore processors, as well as making programmers aware of this issue by providing measurement logs.
autopin+ is a further development of autopin. It is not based on the perfmon patch, but uses perf instead. Autopin+ is available at Github.
Autopin is a thread to core pinning tool, based on perfmon. To use this tool, the perfmon patch must be installed. Furthermore for NUMA-architectures the automatic page migration patch by Lee Schermerhorn must be installed.
The original autopin is not longer maintained, however it is still available at Github.