Linux:intel:Cache Allocation tech

https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/cache-allocation-technology-white-paper.pdf

Intel Cache Allocation Technology (CAT) 是一种硬件功能,允许操作系统或虚拟机管理器精细控制不同应用程序或虚拟机对 CPU 缓存(特别是 Last Level Cache, LLC)的访问和使用。

它使软件能够为特定的工作负载或应用程序预留或限制 CPU 的 Last Level Cache (LLC) 空间。

为什么需要 CAT?

在多核处理器系统中,多个应用程序或虚拟机共享同一个 LLC。如果一个"吵闹的邻居"应用程序大量使用缓存,它可能会挤占其他关键应用程序的缓存空间,导致这些关键应用程序的性能下降和不可预测性。CAT 旨在解决这种"缓存争用"问题,提供更好的性能隔离和可预测性。

CAT 如何工作?

CAT 将 LLC 划分为多个逻辑分区,称为"缓存分配位掩码"(Cache Allocation Bitmasks)。

类别服务 (Class of Service, COS): 每个分区对应一个"类别服务"。软件可以定义不同的 COS,每个 COS 关联一个特定的位掩码,表示该 COS 可以使用的缓存"路"(ways)。

操作系统或虚拟机管理器可以将特定的线程、进程或虚拟机分配给一个 COS。

当被分配到某个 COS 的线程访问 LLC 时,硬件会强制它只能使用该 COS 允许的缓存路,从而实现缓存空间的隔离。

主要优势

性能隔离: 防止关键工作负载受到其他工作负载的缓存争用影响。

性能可预测性: 为关键应用程序提供更稳定的缓存访问,从而提高其性能的可预测性。

资源优化: 允许管理员根据工作负载的优先级和需求,更有效地分配和管理缓存资源。

也起到部分安全防护的可能。

Resource Director Technology (RDT) 是 Intel 处理器提供的一套硬件功能,旨在帮助操作系统和虚拟机管理器更好地监控和控制共享平台资源,例如 CPU 缓存和内存带宽。

CAT是RDT的一个。

Resource Director Technology (RDT) 介绍

RDT 的核心目标是提高多租户环境(如云计算、虚拟化)中工作负载的性能隔离和可预测性。在这些环境中,多个应用程序或虚拟机共享处理器的缓存、内存控制器等资源,如果没有适当的管理,一个"吵闹的邻居"可能会占用过多资源,导致其他关键工作负载的性能下降。

RDT 主要包含以下两个关键技术:

Cache Allocation Technology (CAT) - 缓存分配技术:

CAT 允许软件对处理器中的 Last Level Cache (LLC) 进行精细控制。

它可以将 LLC 划分为不同的逻辑区域,并为特定的应用程序、进程或虚拟机分配专属的缓存空间。

通过这种方式,CAT 可以防止一个工作负载耗尽所有缓存,从而保护其他关键工作负载的性能,确保它们有足够的缓存可用。

Memory Bandwidth Monitoring (MBM) - 内存带宽监控:

MBM 提供了硬件级别的能力,用于实时监控不同应用程序或虚拟机所消耗的内存带宽。

它能够测量每个工作负载从主内存读取和写入数据的速率。

通过这些监控数据,系统管理员可以识别哪些工作负载是"内存带宽饥渴型"的,从而更好地进行资源调度和优化,避免内存带宽成为性能瓶颈。

总结

RDT 通过 CAT 提供了对缓存资源的分配能力,并通过 MBM 提供了对内存带宽的监控能力。这些功能共同使得系统能够更有效地管理和隔离共享资源,从而在复杂的、多工作负载的环境中实现更稳定、可预测的性能。

相关推荐
坤坤子吖2 小时前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
AI_Gump2 小时前
Harness篇|DeepSeek Harness 上手机:五条安卓移植路线与 App 内 Linux 拆解
android·linux·人工智能·智能手机·deepseek
星恒随风4 小时前
MySQL 从零入门(六):复合查询详解——多表查询、自连接、子查询与 UNION
linux·服务器·数据库·mysql
少司府4 小时前
嵌入式入门篇(二):初识STM32F103ZET6
linux·python·stm32·单片机·嵌入式硬件·mcu·嵌入式软件
无足鸟ICT5 小时前
【RHCA+】IO调度算法
linux·服务器
wacsii5 小时前
【Linux进程(四)】命令行参数与环境变量
linux·服务器
无奈笑天下5 小时前
银河麒麟上lsblk命令教程详解
linux·运维·服务器·数据库
科研邪修法6 小时前
培训PDF保护配置:把需求转换成可验收权限
linux·服务器·网络
Felven7 小时前
中科驭数100G网卡RDMA性能测试
linux·rdma·中科驭数·100g网卡
雪落漂泊9 小时前
Liunux进程(七):程序控制篇(中)
linux·运维·windows