Skip to content

Releases: jcsaezal/pmctrack

v4.0

Choose a tag to compare

@jcsaezal jcsaezal released this 10 May 11:59

Most relevant changes:

  1. 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 the sched_app_t datatype.
  2. Added support for L2 CAT, available in some Desktop Intel processors.
  3. Intel Raptor Lake processors are now supported.
  4. The CONFIG_MINIMAL_PMCTRACK preprocessor 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

Choose a tag to compare

@jcsaezal jcsaezal released this 26 Mar 19:09

Added PMCTrack/PMCSched support for Linux kernel v6.2.y

v3.0

Choose a tag to compare

@jcsaezal jcsaezal released this 04 Jan 10:37
  • 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

Choose a tag to compare

@jcsaezal jcsaezal released this 29 Jul 22:33
  • 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

Choose a tag to compare

@jcsaezal jcsaezal released this 15 Sep 11:06
  • 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

Choose a tag to compare

@jcsaezal jcsaezal released this 17 Jun 09:34
  • Added remote monitoring support via ADB (for Android devices) in PMCTrack-GUI
  • Bug fixed in self-monitoring support (related to kernel timer handling)

v0.4

Choose a tag to compare

@jcsaezal jcsaezal released this 06 Feb 01:41
  • PMCTrack can be now attached to a running process
  • New -p option in pmctrack command-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

Choose a tag to compare

@jcsaezal jcsaezal released this 06 Feb 01:33

New batch (multi-app) mode added to PMCtrack-GUI

v0.2.1

Choose a tag to compare

@jcsaezal jcsaezal released this 25 Sep 12:26

Improved support for virtual counters in PMCTrack-GUI

v0.2

Choose a tag to compare

@jcsaezal jcsaezal released this 23 Sep 11:03
  • 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