当前位置: 首页 > 专利查询>英特尔公司专利>正文

使用硬件队列管理器的功率感知负荷平衡制造技术

技术编号:23557562 阅读:27 留言:0更新日期:2020-03-25 03:21
示例可包括计算平台中的功率感知负荷平衡的方法。该方法包括计算处理所接收分组的预计业务的已启用工人核的数量。至少部分基于已启用工人核的数量来调整活动消费者队列的数量,其中消费者队列与工人核关联。工人核轮询与工人核关联的消费者队列,基于消费者队列不为空,从消费者队列获得并且处理描述所接收分组的分组描述符,以及在消费者队列为空时进入低功率状态,并且对正进入消费者队列的新分组描述符进行挂起。

Power aware load balancing using hardware queue manager

【技术实现步骤摘要】
使用硬件队列管理器的功率感知负荷平衡本专利文档的公开的部分可含有服从版权保护的资料。版权所有者不反对任何人对本专利文档或专利公开的再现,因为它出现在专利和商标局专利文件或记录中,但是在其他方面无论如何保留全部版权。版权声明适用于如以下所述的全部数据,并且适用于其附图中,也适用于以下所述的任何软件:Copyright©2018,IntelCorporation,版权所有。
技术介绍
分组处理应用通常提供在处理器核(称作“工人核”)上运行的多个“工人”处理线程以执行应用的处理工作。工人核消耗来自专用队列的分组,在一些情形中通过一个或多个网络接口控制器(NIC)或者通过输入/输出(I/O)线程对所述专用队列进行馈送。所提供的工人核的数量通常是最大预测吞吐量的函数。但是,实际分组业务在短时长(例如秒)中并且在较长时间周期内(例如许多网络在夜间或者在周末经历明显更少的业务)广泛改变。这产生效率的时机。如果一些工人核在业务负荷允许时能够被放入低功率状态,则能够得到功率节省。备选地,不被需要的工人核能够重定向到其他任务(例如用于其他执行上下文中),并且仅在被需要时才被再调用。一些现有方式允许应用暂时下降到更低功率状态或者使用等待语义对下一个队列条目进行休眠。工作上下文与某个背景上下文之间的上下文切换也可能使用中断方案。能够应用这些技术,而不管正写入到队列的实体。但是,改变工人核的数量是成问题的。必须修改查找表,并且在变化时进行中的一些分组可因此丢失或者乱序。分组分发方案假定全部工人核始终是可用的,这具有缺点。工人核能够在它们没有工作可用时转变成低功率状态,但是到/从低功率状态(或者另一个执行上下文)的转变所花费的时间能够是显著的,特别是对于更深功率状态。过度频繁转变的核具有对转变本身花费太多循环的风险,并且因此不是有效的。允许全部处理核进行转变的方案更可能容易遭受这个问题。对于必须等待核唤醒或切换上下文的分组引起时延。通过等待方案,难以使处理核保证低功率状态驻留(因为下一个分组可唤醒核),并且间断业务可使核花费它的时间跳进和跳出低功率状态。支持多个并发操作(超)线程的CPU使问题进一步复杂化。为了节省大量功率,通常需要使核中的全部同属超线程处于低功率状态。在没有改变工人核的数量的能力的情况下,难以最大化这个发生的可能性。这个缺点在每核的超线程数量增加时变得更加显著。附图说明图1示出示例计算系统。图2示出处理核的示例布置。图3示出示例硬件队列管理器(HQM)。图4示出使分组描述符入队和出队的过程的示例流程图。图5示出由工人核来访问分组描述符的过程的示例流程图。图6示出操控信用的过程的示例流程图。图7示出控制负荷平衡的第一过程的示例流程图。图8示出控制负荷平衡的第二过程的示例流程图。图9示出存储介质的示例。图10示出另一种示例计算平台。具体实施方式本专利技术的实施例提供用于处理核的功率感知负荷平衡(PALB)的方式。这种方式利用硬件队列管理器(HQM)的负荷平衡能力,以有效和动态地缩放计算平台中的已启用工人核的数量,以便在保持性能(例如吞吐量、时延)要求的同时按照有效方式来匹配变化工作负荷。不仅是功率有效的,实施例也能够用于部署在大小方面能够放大和缩小的数据中心系统中的“云化”应用。本专利技术的实施例利用HQM的负荷平衡能力,以动态缩放用来处理时变工作负荷的已启用工人核的数量,以便在保持性能(例如吞吐量、时延)要求的同时改进效率。工人线程是来自HQM的消费者,以及工作在工人核上的工人线程之间均匀地分布。通过某个过程来监测活动,该过程响应于业务等级的变化或者至少部分基于外部因素和/或条件来动态调整已启用工人核的数量。不在使用中的工人核进入休眠状态以用于总功率降低,或者它们上下文切换到其他任务。在本专利技术的实施例中,从已启用工人核池中已经去除的工人核不在唤醒与休眠状态之间重复转变。高等级业务的短突发在HQM中缓冲,而不一定使新工人核被激活。因此,未使用的工人核能够进入深度休眠状态并且节省大量功率,而没有引起对系统分组时延的影响。实施例能够适应在多线程化的系统上同时添加/去除同属超线程,以改进功率节省。与先前方式相比,本专利技术的实施例能够提供低功率状态休眠占用时间的增加(取决于状态转变时间)。这对应于工人核的有功功率的等效节省。实施例还证明了比其他方式更好的确定性(例如更低最大)时延。当上下文经由中断进行切换时,实施例还提供更好的效率和时延。虽然本文所含有的描述引用工人核,但是本专利技术的实施例也可适用于在工人核上运行的工人线程。即,按照本专利技术的实施例,也能够动态地激活和去活工人线程。图1示出示例计算系统100。如图1所示,计算系统100包括耦合到网络170(其例如可以是因特网)的计算平台101。在一些示例中,如图1所示,计算平台101经由网络通信信道175并且经过具有连接或耦合到网络通信信道175的一个或多个端口的至少一个网络I/O装置110(例如网络接口控制器(NIC))来耦合到网络170。在实施例中,网络通信信道175包括PHY装置(未示出)。在实施例中,网络I/O装置110是以太网NIC。网络I/O装置110通过网络170将数据分组从计算平台101传送给其他目的地,并且从其他目的地接收数据分组以用于转发到计算平台101。按照一些示例,如图1所示,计算平台101包括电路120、主存储器130、网络(NW)I/O装置驱动140、操作系统(OS)150、至少一个应用160和一个或多个存储装置165。在一个实施例中,OS150是Linux™。在另一个实施例中,OS150是Windows®Server。网络I/O装置驱动140进行操作,以初始化和管理由网络I/O装置110所执行的I/O请求。在实施例中,传送给网络I/O装置110和/或从网络I/O装置110所接收的分组和/或分组元数据存储在主存储器130和/或存储装置165的一个或多个中。在至少一个实施例中,应用160是分组处理应用。在至少一个实施例中,存储装置165可以是硬盘驱动器(HDD)和/或固态驱动器(SSD)中的一个或多个。在实施例中,存储装置165可以是非易失性存储器(NVM)。在一些示例中,如图1所示,电路120可经由通信链路155通信地耦合到网络I/O装置110。在一个实施例中,通信链路155是符合由PCI特殊兴趣组(PCI-SIG)在pcisig.com所发布的PCIe标准的版本3.0或其他版本的快速外设部件接口(PCIe)总线。在一些示例中,操作系统150、NWI/O装置驱动140和应用160至少部分经由主存储器130中包括的一个或多个存储器装置(例如易失性或者非易失性存储器装置)、存储装置165以及诸如处理核122-1至122-m(其中“m”是大于2的任何正整数)之类的电路120的元件之间的协作来实现。在实施例中,OS150、NWI/O装置驱动140和应用160由一个或多个处理核122-1至122-m来运行。在一些示例中,计算平台101包括但不限于本文档来自技高网...

【技术保护点】
1.一种方法,包括:/n计算处理所接收分组的已启用工人核的数量;/n至少部分基于已启用工人核的所述数量来调整活动消费者队列的数量,消费者队列与工人核关联;/n由至少一个工人核来监测与所述至少一个工人核关联的所述消费者队列;/n在所述消费者队列不为空时,由所述至少一个工人核从所述消费者队列来获得并且处理描述所接收分组的分组描述符;以及/n基于所述消费者队列为空,由所述至少一个工人核来进入低功率状态,并且对正进入所述消费者队列的新分组描述符进行挂起。/n

【技术特征摘要】
20180914 US 16/1317281.一种方法,包括:
计算处理所接收分组的已启用工人核的数量;
至少部分基于已启用工人核的所述数量来调整活动消费者队列的数量,消费者队列与工人核关联;
由至少一个工人核来监测与所述至少一个工人核关联的所述消费者队列;
在所述消费者队列不为空时,由所述至少一个工人核从所述消费者队列来获得并且处理描述所接收分组的分组描述符;以及
基于所述消费者队列为空,由所述至少一个工人核来进入低功率状态,并且对正进入所述消费者队列的新分组描述符进行挂起。


2.如权利要求1所述的方法,包括在所述新分组描述符进入所述消费者队列时,由所述至少一个工人核来离开所述低功率状态。


3.如权利要求1所述的方法,包括通过运行等待指令,所述至少一个工人核进入所述低功率状态。


4.如权利要求1所述的方法,包括所述至少一个工人核切换到除了分组描述符处理之外的任务,并且建立中断以便在新分组描述符添加到所述至少一个工人核的消费者队列时进行触发,而不是进入所述低功率状态。


5.如权利要求1所述的方法,包括在不需要所述至少一个工人核来处理所述所接收分组时设置所述至少一个工人核的禁用标志。


6.如权利要求5所述的方法,包括在所述消费者队列为空并且设置所述至少一个工人核的禁用标志时,由所述至少一个工人核进入低功率状态,并且对正进入所述消费者队列的所述新分组描述符进行挂起。


7.如权利要求1所述的方法,其中计算处理所述所接收分组的已启用工人核的所述数量包括对先前预定时间窗口中在消费者队列中入队的分组描述符的数量进行计数,并且将入队的分组描述符的所述数量与目标时延值相互关连,以确定已启用工人核的所述数量。


8.如权利要求1所述的方法,其中计算处理所述所接收分组的已启用工人核的所述数量包括确定与在先前预定时间窗口期间从消费者队列已经出队的分组描述符相比,是否有更多的分组描述符已经入队到消费者队列中,以及如果是这样的话,则启用一个或多个工人核。

【专利技术属性】
技术研发人员:ND麦克唐奈周筑J曼根
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1