Releases: jcsaezal/pmctrack
Releases · jcsaezal/pmctrack
Release list
v4.0
Most relevant changes:
- PMCSched subsystem now supports the execution of containerized applications. To register a Docker container write
"register_cgroup <PID>"to /proc/pmc/sched, so that PMCSched "sees" the container and all of its threads and processes. Containerized applications can be used in much the same way as a multi-threaded application from a PMCSched plugin's standpoint. They are represented with thesched_app_tdatatype. - Added support for L2 CAT, available in some Desktop Intel processors.
- Intel Raptor Lake processors are now supported.
- The
CONFIG_MINIMAL_PMCTRACKpreprocessor symbol was added to use additional fields in Linux task structure to store PMCTrack's thread-specific information. While this feature requires patching the kernel, it avoids the reliance on dummy perf software event to store that information, which can be unstable in some kernel versions.
v3.1
v3.0
-
The most relevant new feature that comes with this PMCTrack release is PMCSched, an open-source framework enabling rapid-prototyping of OS-level scheduling-related support in Linux without patching the kernel. Many thanks to Carlos Bilbao (aka @Zildj1an) for creating this new exciting and powerful subsystem of PMCTrack !
PMCSched currently supports systems with Intel, AMD or ARM (armv7) processors. Among other things, the framework allows:
- The creation of OS scheduling algorithms as separate scheduling plugins (implemented inside PMCTrack's kernel module). Because all these algorithms operate at kernel space, they could be leveraged in different scheduling scenarios, including workloads running natively on the system or inside containers, as well as handling multiple KVM-based virtual machines running on a single node
- The implementation of custom interaction mechanisms between the OS and a user-level runtime system for cooperative improved scheduling on symmetric and asymmetric multicore systems
- Experimenting with new hardware-aided technologies to assist a scheduler, such as Intel Thread Director.
- The rapid-prototyping of OS-level resource-management schemes, also as separate plugins within PMCTrack's kernel module. The implementation includes some sample LLC-partitioning algorithms (such as UCP and LFOC+).
-
PMCTrack support for newer kernels (latest version tested Linux v5.16.y)
-
Other new relevant features include:
- Support for Intel Alder Lake processors and AMD EPYC Rome processors
- A set of proof-of-concept PMCSched scheduling plugins
- Support for the Intel Enhanced Hardware Feedback Interface (aka Intel Thread Director)
- Support for latest Odroid kernel (v5.4.y)
v2.0
- Thanks to our efforts towards the future PMCSched scheduling framework, PMCTrack now works on top of vanilla Linux kernels (no kernel patch needed anymore). Many thanks to Lazaro Clemen for his contributions to this important enhancement of the PMCTrack tool!
- Extended functionality of the perf backend:
- Now it supports Intel, AMD, ARMv7 and ARMv8 processors
- All events provided by Perf Event's kernel subsystem are now accessible thanks to substantial improvements in the backend and on PMCTrack's user-space components
- PMCTrack support for newer kernels (latest version tested Linux v5.10.y)
- A new framework has been created for prototyping OS-level resource-management schemes (e.g., cache-partitioning strategies) within PMCTrack's kernel module. The implementation includes some sample partitioning algorithms such as UCP, LFOC and LFOC+.
v1.5
- Added experimental perf backend to access hardware performance counters via Perf Event's kernel API
- PMCTrack support for newer kernels (latest version tested Linux v5.4.y)
- The Huawei’s HiKey 960 board is now supported via the ARM64 PMCTrack backend
- Added new kernel API to conveniently manage cache partitions on systems featuring Intel CAT (to prototype resource-management schemes with PMCTrack)
- Additional support for Intel Resource Director Technology
v0.5
v0.4
- PMCTrack can be now attached to a running process
- New
-poption inpmctrackcommand-line tool - Enhanced Time-Based Sampling (TBS) support
- USB Driver and monitoring module to gather power/energy consumption readings with ODROID Smart Power on ARM boards
v0.3
v0.2.1
v0.2
- Added support for Odroid XU3 and XU4 boards
- New features in PMCTrack-GUI
- Capability to store in a separate file the values of high-level metrics observed over time
- Each graph can be assigned a different style during a monitoring session
- Outstanding performance optimizations