Introduction
This article provides a snapshot of some of the software-enabling collateral available for the Cache Allocation Technology (CAT) feature. This list is likely incomplete and will be updated over time.
Basic details on the hardware and software interface that CAT uses can be found in Intel’s Software Developer’s Manuals:
https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html
CAT is discussed in volume 3b, chapters 17.16 and 17.17.
CAT Software Enabling
A number of open- and closed-sourced software packages support CAT, including:
-
Linux* Kernel – The Linux Kernel uses cgroups to enable CAT, and patches can be found at https://github.com/fyu1/linux/tree/cat16.1 which can be applied atop kernel version 4.6-RC1.
-
Xen* – The Xen hypervisor supports CAT: https://www.carbon60.com/?pag
-
AppFormix orchestration suite – Includes a solution guide, testimonials, and additional collaterals: https://www.juniper.net/documentation/product/us/en/contrail-insights/
-
A new cgroups patch, which also supports Resource Director Technology monitoring (CMT, MBM), has been posted to the Linux Kernel Mailing List (LKML). Links include http://marc.info/?l=linux-kernel&m=146196423706937&w=2 or https://lkml.org/lkml/2016/4/29/734
As a starting point for evaluation, the pinned use model can be evaluated using the RDT utility from 01.org (and GitHub*). This utility works with generic Linux operating systems to provide per-thread monitoring and control via associating Resource Monitoring IDs (RMIDs) and Classes of Service (CLOS) with each hardware thread.
Additional usage examples are available here: https://github.com/01org/intel-cmt-cat/wiki/Usage-Examples
Conclusion
CAT software development is ongoing, and while this page provides initial links, additional details will be added as support for additional environments becomes available.