Blame pqos/README

Packit bcb633
Packit bcb633
Packit bcb633
========================================================================
Packit bcb633
README for PQoS/Intel(R) RDT utility
Packit bcb633
Packit bcb633
February 2018
Packit bcb633
Packit bcb633
========================================================================
Packit bcb633
Packit bcb633
Packit bcb633
Contents
Packit bcb633
========
Packit bcb633
Packit bcb633
- Overview
Packit bcb633
- Requirements and Installation
Packit bcb633
- Usage
Packit bcb633
- Legal Disclaimer
Packit bcb633
Packit bcb633
Packit bcb633
Overview
Packit bcb633
========
Packit bcb633
Packit bcb633
This software package provides basic support for
Packit bcb633
Cache Monitoring Technology (CMT), Memory Bandwidth Monitoring (MBM)
Packit bcb633
and Cache Allocation Technology (CAT).
Packit bcb633
This release supports last level cache occupancy monitoring and
Packit bcb633
memory bandwidth monitoring on a per core or logical thread basis.
Packit bcb633
MBM supports two types of events reporting local and remote
Packit bcb633
memory bandwidth.
Packit bcb633
Both events are reported on a per core or logical thread basis.
Packit bcb633
Local memory bandwidth reports the bandwidth of a thread accessing
Packit bcb633
memory associated with the local socket.
Packit bcb633
In a dual socket system, the remote memory bandwidth reports the
Packit bcb633
bandwidth of a thread accessing the remote socket.
Packit bcb633
The monitoring utility does not track application migration across
Packit bcb633
cores as this would require scheduler integration.
Packit bcb633
Instead, applications should be pinned to cores to track
Packit bcb633
last level cache occupancy and memory bandwidth.
Packit bcb633
Scheduler-integrated alternatives such as cgroups and perf are being
Packit bcb633
researched to track the application PID (and all associated TIDs)
Packit bcb633
rather than static assignment. The monitoring utility currently associates
Packit bcb633
a Resource Monitoring ID (RMID) per hardware thread or group of hardware
Packit bcb633
threads when monitoring is started. By default, PID tracking is not enabled.
Packit bcb633
Details on enabling this feature can be found in INSTALL and lib/README.
Packit bcb633
Packit bcb633
The command line utility provides the necessary functionality to set
Packit bcb633
up the CAT capabilities. The software provides flags to configure the
Packit bcb633
class of service (CLOS) and associate cores / logical threads with a
Packit bcb633
class of service.
Packit bcb633
Packit bcb633
Use of concurrent monitoring instances is possible as long as each
Packit bcb633
instance monitors exclusive set of cores. Library APIs are also thread safe.
Packit bcb633
Packit bcb633
For additional CMT, MBM and CAT details please see refer to the Intel(R)
Packit bcb633
Architecture Software Development Manuals available at:
Packit bcb633
http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html
Packit bcb633
Specific information with regard to CMT, MBM and CAT can be found in
Packit bcb633
Chapter 17.18 and 17.19 (SDM version 065).
Packit bcb633
Packit bcb633
Packit bcb633
Requirements and Installation
Packit bcb633
=============================
Packit bcb633
Packit bcb633
For installation of the Intel(R) RDT utility, ensure the library is
Packit bcb633
installed and follow below instructions to create pqos executable.
Packit bcb633
Packit bcb633
To compile Intel(R) RDT utility:
Packit bcb633
        "make" or "make all" for building utility.
Packit bcb633
        "make all DEBUG=y" for building utility for debugging.
Packit bcb633
        "make clean" for clearing even more files than "make rinse".
Packit bcb633
        Note: Having both local and installed copies of the library
Packit bcb633
        may cause undefined behaviour when building the utility.
Packit bcb633
Packit bcb633
To install the Intel(R) RDT utility (optional), first compile, then:
Packit bcb633
        "sudo make install" to install below /usr/local.
Packit bcb633
        "sudo make install PREFIX=/some/where" to install below /some/where.
Packit bcb633
Packit bcb633
Packit bcb633
Note: For installation of the PQoS utility on FreeBSD, simply follow the steps
Packit bcb633
      above for Linux installation replacing "make" with "gmake".
Packit bcb633
Packit bcb633
Currently verified configuration is:
Packit bcb633
- FreeBSD 9.1
Packit bcb633
- GNU Compiler Collection 5 (gcc 5.3.1)
Packit bcb633
- GNU Make 4.1
Packit bcb633
Packit bcb633
Packit bcb633
Usage
Packit bcb633
=====
Packit bcb633
Packit bcb633
After compilation the PQoS executable can be used to configure the
Packit bcb633
last level cache allocation feature and monitor the last level cache
Packit bcb633
occupancy as well as memory bandwidth.
Packit bcb633
Packit bcb633
Usage: For pqos utility:
Packit bcb633
        "./pqos -h"    This option will display extensive help page.
Packit bcb633
                       Please refer to "-h" option for usage details.
Packit bcb633
        "./pqos -s"    Shows current Intel(R) RDT configuration.
Packit bcb633
        "./pqos -d"    Shows detected Intel(R) RDT capabilities (-D for verbose mode).
Packit bcb633
        "./pqos -T"    Starts CMT and MBM monitoring on all detected
Packit bcb633
                       cores (depends of hardware feature availability).
Packit bcb633
        Note: It may be necessary to set "LD_LIBRARY_PATH=path/to/libpqos.so"
Packit bcb633
              when running the utility with local shared library.
Packit bcb633
Packit bcb633
Legal Disclaimer
Packit bcb633
================
Packit bcb633
Packit bcb633
THIS SOFTWARE IS PROVIDED BY INTEL"AS IS". NO LICENSE, EXPRESS OR
Packit bcb633
IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS
Packit bcb633
ARE GRANTED THROUGH USE. EXCEPT AS PROVIDED IN INTEL'S TERMS AND
Packit bcb633
CONDITIONS OF SALE, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL
Packit bcb633
DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR
Packit bcb633
USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO
Packit bcb633
FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT
Packit bcb633
OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.