This article describes software support available for the Memory Bandwidth Monitoring (MBM) feature. Prior blogs in this series have included an overview of the MBM feature and architecture and usage models, and detailed examples of proof points.
MBM is part of a larger series of technologies called Intel® Resource Director Technology (Intel® RDT). More information on the Intel RDT feature set can be found here, and an animation illustrating the key principles behind Intel RDT is posted here.
MBM Software Support
As described in the Cache Monitoring Technology (CMT) software enabling article, two approaches are possible for software enabling of the monitoring features: either pinning RMIDs to hardware threads then affinitizing applications to those threads, or enabling the OS/VMM scheduler, which then keeps Resource Monitoring IDs (RMIDs) up to date on threads at swap-on, enabling threads to migrate and provides better flexibility.
A number of operating systems/VMMs have been enabled to support MBM via scheduler and infrastructure changes, including the Linux* kernel (support is trending into version 4.6-rc1). Specific examples include the following:
The Intel® Resource Director Technology utility from 01.org (and GitHub*) also provides real-time monitoring metrics for CMT and MBM, and the utility works with generic Linux* operating systems and the read/write Model-Specific Register Tools package to provide per-thread monitoring and control via associating RMIDs and Classes of Service (CLOS) with each hardware thread. An example of the output of this utility is shown in the proof points article.
This article provided an overview of initial software support for the MBM feature. Additional software support work is in progress, and updates will be posted as they are available.
Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.
Notice revision #20110804