首页 > 新闻中心 > 行业新闻

被评为KVM年度中心打破PMU improvements究竟是什么?

作者:江南体育电子游戏 来源:江南体育app下载 时间:2023-07-25 00:57:28

  在刚刚完毕的全球虚拟化尖端技能峰会KVM Forum上,2023年度全球企业KVM开源奉献榜正式发布。腾讯云接连七年入围,持续成为奉献度最高的中国企业。其间,腾讯云自研的PMU improvements计划,被评为KVM年度中心打破。

  经过为云上事务构建功用优化剖析的根底结构,为开发者供给值得信任的功用量化东西,以加快在不同事务上完成降本增效的方针。在业界,越来越多的云厂商也开端支撑在虚拟机中运用PMU东西来优化它们方针负载的功用。

  其间PMU improvements这项打破,其背面就包括了腾讯云曩昔一年参加的十几项奉献,包括:

  在腾讯云上一年奉献的Guest PEBS根底上,本年的Guest能够进一步取得两种Intel SPR渠道上的新才能。其间一种才能被称为准确分配指令退休(PDIR)特性被增强为指令准确PDIR(PDIR++),它的PEBS是直接在导致溢出的指令之后的下一条指令上生成。另一个新的准确散布(PDist)设备,消除了PEBS的任何滑动效应,PEBS记载将在导致计数器溢出的指令或操作完成后准确生成。上述两个新才能将协助PEBS成为现在最准确的功用与指令定位东西。

  与此一起,云核算商场现已留意到AMD核算渠道的优势,依据AMD的虚拟机实例数量呈指数添加,相应的vPMU需求也火烧眉毛。腾讯云运用在这方面的技能堆集,及时地向社区添加了AMD Zen4渠道上的功用剖析虚拟化支撑,其间一个新特性AMD PerfMon V2已被社区接纳,这将有助于咱们的客户在腾讯云的AMD实例上更高效低开支的方法运用PMU计数器,特别是在多计数器一起被运用的场景中下降PMU功用剖析东西对事务负载的搅扰。

  AMD Performance Monitoring V2 是AMD在Zen4渠道上推出的最新一代PMU硬件技能,将答应软件体系架构化地检测中心功用计数器数量而不是运用静态装备,另一个中心改变是其具有全新的 “大局操控” 寄存器,答应一起启用或禁用多个功用计数器,而在此之前软件想运用AMD 功用监控功用有必要逐个独自设置不同的功用计数器。上游Linux内核在v5.18开发周期中取得了母机上对AMD PerfMon V2的支撑。

  腾讯云的开源团队很快留意到了这项新特性,并意识到这项特性在虚拟化技能中具有更大的运用价值。

  在以往的AMD虚拟机实例中,PMU的软件署理(往往是PMU驱动),需求依据用户指定的功用事情来装备功用计数器(PMC)的事情挑选寄存器,并经过同一个事情挑选寄存器来启用该计数器,并在一段时间后再次经过同一个事情挑选寄存器来禁用计数器,经过启用和禁用这个时间段内,前后两次功用事情发生的次数改变,为当时负载供给功用剖析数据。

  此项流程在只运用单个功用计数器时能够按预期作业,但当PMU软件署理运用多个功用计数器时,就会呈现需求屡次拜访不同的事情挑选寄存器,并经过不同的事情挑选寄存器来启用不同的功用计数器。这儿就会引进计数器先后发动的差错,即在开始发动的功用计数器将包括后续发动功用计数器时履行的指令所发生的功用事情,这部分功用事情来自PMU软件署理,而非事务负载自身,即一部分功用事情并不来自方针事务负载,由此发生的功用剖析差错就会误导PMU数据的剖析者。这部分差错也会呈现在多个功用计数器被禁用的时分。

  PMU软件署理在向上层报告数据时需求提早感知到这部分差错并合理剥除,这在不同功用事情的通用性处理上并不简单。在虚拟化完成上,装备多个功用寄存器而发生的屡次事情挑选寄存器拜访,将会带来相同次数的虚拟化退出,这部分退出在虚拟机运用多个功用计数器时添加了虚拟化开支。

  在具有PerfMon V2的AMD渠道上,PMU软件署理能够先后装备好不同的事情挑选寄存器,再经过新引进的“大局操控” 寄存器,一致操控多个功用计数器的开关状况,在微架构层面完成多个计数器的一起启用与封闭,避免了之前计数器先后启用带来的功用事情差错。

  在虚拟化完成上,屡次功用计数器开关发生的屡次虚拟机退出能够兼并成单次“大局操控” 寄存器拜访发生的虚拟机退出,在虚拟机运用多个功用计数器的场景中,大幅度下降了虚拟机退出次数。此外在V2中引进的大局STATUS寄存器与大局OVF_CTRL寄存器,经过为每一个计数器添加溢出判别逻辑,优化了多个功用计数器在一起被运用时发生溢出之后的判别逻辑。运用AMD GuestPerfMon V2虚拟化技能,AMD虚拟机也能取得物理机等级的功用监控,一起大幅度下降了功用监控单元的虚拟化本钱、提高了多计数器运用场景的准确性。

  此类屡次转化为单次的优化思路,需求硬件拜访接口的规划改动,当实在硬件呈现此类规划改动时,也让虚拟化功用从中获益。在内核代码完成上,AMD Guest PerfMon V2将会呈现在v6.5内核中,腾讯云工程师还重构了AMD此前的vPMU完成,提高功用的一起,经过与Intel硬件同享虚拟化处理逻辑来下降上游社区的保护担负。

  透过层层阻隔的杂乱环境抽丝剥茧,咱们期望虚拟机的虚拟化开支更低、功用更强。也期望每一个咱们的客户不用搞懂这些深度笼统的底层技能,就能在腾讯云上把云用好。

  与此一起,腾讯云将持续投身开源社区以昌盛开源虚拟化技能栈,运用一项项技能打破持续推动腾讯云计的技能研制与开源奉献,持续供给业界抢先的云核算服务。