英特尔性能混合体系结构

(本文根据Intel相关文章编制)
英特尔性能混合体系结构的原英文表述是:Intel® performance hybrid architecture 。
英特尔的一项有关多核CPU的研究表明,大多数计算工作负荷的扩展范围不超过4个内核,少数工作负荷可以扩展到8个内核,更少的工作负荷可以扩展到10个内核以上。那些可以扩展到多个内核的应用程序,往往能够获得更好的效能。
为此,英特尔设计了一种片上系统(SoC)架构,在该架构中,使用更大的内核,用于满足单线程和有限线程的需求,而高效能的多线程内核,则应用于可扩展性能的需求。这就是Intel性能混合体系结构。
英特尔性能混合体系结构是计算领域中的一次创新。它将最大的计算能力应用到最需要的领域,以满足最苛刻的工作负荷需求。
英特尔的第12代处理器采用了性能混合体系架构。其中合并了两种现有的架构:性能内核(P-Core)和效能内核(E-Core)。这两种内核相辅相成,单线程和多线程操作同时执行,为客户和最终用户提供最佳体验。
英特尔线程控制器(Intel Thread Director)是第12,代英特尔处理器上的一项新的硬件功能。用于帮助操作系统调度程序,使系统能够做出关于线程调度更智能的数据处理决策。
通过同时具有P核和E核,性能混合架构可以根据应用程序生成更有效的核心使用分布。这是因为P核提高了处理复杂工作负载的性能(通常是线程有限的工作负载)。同时,E核专注于多线程吞吐量和功率受限的场景。
如下图所示,在更高的功率包络下,P核与E核相比提供了更高的性能。在较低的功率包络下,E核具有比P核更好的PnP特性。
在这里插入图片描述
在所有功率包络下,E核模块的多线程性能吞吐量都优于P核。在类似的功率包络下,E核模块的性能优于支持SMT的P核,吞吐量可以显著提高,如下图所示。
在这里插入图片描述
出于这些原因,对于优先级任务和受限线程应用,P核是优选的,而E核可用于在功率受限的场景和/或能够满足其服务质量(QoS)要求的后台应用中执行。通过在我们的性能混合架构中混合这两者,“英特尔线程控制器”可以帮助调度器处理复杂的多层工作负载。“英特尔线程控制器”可以将这些工作负载引导到适当且最高效的内核。
总之,性能混合架构P核和E核协同工作。可以在单线程和多线程应用程序上运行良好。这就是英特尔如何实现一代又一代的性能:通过“英特尔线程控制器”实现高效的混合线程调度,通过uArch实现IPC改进,以及相关的操作系统优化。
指令集体系结构(ISA)支持
第12代Intel Core处理器为P核和E核提供了一个通用的ISA子集。P核不支持AVX512,以确保我们在平台上的E核和P核之间具有对称ISA。
与前几代Intel CPU相比,第12代Intel Core处理器增强了对各种指令的支持。最近的一个例子是将AVX512矢量神经网络(VNNI)指令移植到AVX,以允许第12代Intel Core处理器在所有可用的E核和P核上高效运行和扩展此ISA。
除了AVX支持,第12代Intel Core处理器ISA还通过已启用的线程库添加了优化等待指令(UMWAIT、TPAUSE)支持。与使用Sleep(0)、SwitchToThread或sched_eyield调用的传统繁忙旋转相比,这些ISA可用于创建具有较低延迟的轻量级旋转。此外,这些自旋更倾向于在E核上运行,以确保它们不会占用更高需求的计算资源。
下表列出了第12代Intel Core处理器体系结构的ISA支持。
在这里插入图片描述
在第12代Intel Core处理器上,已仔细检查了不平衡的线程执行情况,以尝试解决可能出现并影响性能的问题。为了解决这些问题,Intel、操作系统(OS)供应商、独立软件供应商和其他工具开发人员合作完成了以下工作:
•通过特定优化,优化操作系统调度,并在调度决策中添加“英特尔线程控制器”反馈。
•准备线程库,以确保混合平台上线程的最佳调度。
两个主要特性帮助OS调度增强功能确定线程QoS和引导调度:应用程序是前台应用程序还是后台应用程序,以及应用程序是否对客户或用户体验有影响。这是为了通过提供最佳性能和吞吐量的最佳线程调度来减轻启用这些应用程序的负担。人们的期望是,软件开发人员通常不需要进行重大更改,因为操作系统优化是现成的。
在第12代Intel Core处理器上,已仔细检查了不平衡的线程执行情况,以尝试解决可能出现并影响性能的问题。为了解决这些问题,Intel、操作系统(OS)供应商、独立软件供应商和其他工具开发人员合作完成了以下工作:
•通过特定优化,优化操作系统调度,并在调度决策中添加“英特尔线程控制器”反馈。
•准备线程库,以确保混合平台上线程的最佳调度。
两个主要特性帮助OS调度增强功能确定线程QoS和引导调度:应用程序是前台应用程序还是后台应用程序,以及应用程序是否对客户或用户体验有影响。这是为了通过提供最佳性能和吞吐量的最佳线程调度来减轻启用这些应用程序的负担。人们的期望是,软件开发人员通常不需要进行重大更改,因为操作系统优化是现成的。
•以纳秒级精度监控每个线程 运行时指令组合 以及每个内核的状态。
•运行时向操作系统提供反馈,以便为任何工作负载或工作流做出最佳调度决策。
•根据热设计点、运行条件和功率 设置动态调整指南,无需任何用户输入。
•有关工作负载和配置,请访问英特官网。结果可能有所不同。
通常情况下,操作系统会基于静态、预编程线程和核心分配来做出这些决定。为了避免软件产生这种开销,我们希望开发一种硬件解决方案,通过“英特尔线程控制器”帮助操作系统实现最佳运行时调度,从而通过监控指令组合、每个内核的当前状态以及相关的微体系结构遥测,以比通过检测更精细的方式向操作系统提供更多信息,为更直接、更智能的性能提供了多种机会。希望可以减少软件开发人员重写现有的代码,同时消除软件调度任务的开销。
我们已经有了一个性能监控单元(PMU),它提供了业内最好的硬件遥测。通过开发类似第12代Intel Core处理器这样的硬件解决方案,并将其与Intel Thread Director配对,我们允许此新解决方案仍然访问PMU,并为OS提供急需的遥测数据。“英特尔线程控制器”可以直接与Windows操作系统调度程序通信,向调度程序提供关于哪个内核应该处理什么任务的“提示”。通过提高前台和后台任务的效率,“英特尔线程控制器”可以向Windows操作系统调度程序提供提示,以确保每个任务都分配到正确的内核。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值