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

NFVS和其他生产者‑消费者工作负载VM间通信性能和能量改进的硬件/软件协同优化制造技术

技术编号:16112638 阅读:42 留言:0更新日期:2017-08-30 05:59
实现硬件/软件协同优化以改进NFVS和其他生产者‑消费者工作负载的VM间通信的性能和能量的方法和装置。该装置包括具有多级高速缓存层次结构的多核处理器,该多级高速缓存层次结构包括用于每个核心的L1和L2高速缓存和共享的最后一级高速缓存(LLC)。提供了一个或多个机器级指令,以用于主动地将高速缓存行从较低级别高速缓存级别降级到较高级别高速缓存级别,包括将高速缓存行从L1/L2高速缓存降级到LLC。还提供了用于在多插槽的NUMA架构系统中实现硬件/软件协同优化的技术,其中高速缓存行可以选择性地被降级并且被推送到远程插槽中的LLC。另外,技术被公开以用于在多插槽的系统中实现早期监听,从而在存取远程插槽上的高速缓存行时减少延迟。

【技术实现步骤摘要】
【国外来华专利技术】NFVS和其他生产者-消费者工作负载VM间通信性能和能量改进的硬件/软件协同优化
技术介绍
访问计算机网络已成为当今计算机使用的普遍存在的一部分。无论是访问企业环境中的局域网(LAN)以访问共享的网络资源,或是经由LAN或其他接入点访问因特网,似乎用户总是登录到经由计算机网络访问的至少一个服务。此外,基于云的服务的迅速扩张已经引起计算机网络的更进一步的使用,并且这些服务被预计将变得比以往更加流行。包括路由器、交换机、网桥、网关和接入点的各种类型的装备是有利于实现网络的。大型网络基础结构典型地包括电信级网络元件的使用,包括由以下公司制作的交换机和路由器:CiscoSystems、JuniperNetworks、AlcatelLucent、IBM和Hewlett-Packard。这样的电信交换机非常复杂,在非常高的带宽下工作并且提供高级的路由功能,以及支持不同的服务质量(QoS)级别。私有网络(例如,局域网(LAN))最普遍地用于商业和家庭用户。许多商业网络采用基于硬件和/或基于软件的防火墙等也是普遍的。近年来,计算机系统的虚拟化已经在迅速增长,特别是在服务器部署和数据中心方面。在常规方法下,服务器直接在以下物理硬件资源上运行操作系统的单个实例:例如,CPU、RAM、存储设备(例如,硬盘)、网络控制器、I/O端口等。在使用虚拟机(VM)的一个虚拟化方法下,采用物理硬件资源以支持虚拟资源的相对应的实例,从而使得多个VM可以在服务器的物理硬件资源上运行,其中每个虚拟机包括其自身的CPU分配、存储器分配、存储设备、网络控制器、I/O端口等。然后,相同或不同操作系统的多个实例在多个VM上运行。此外,通过虚拟机管理器(VMM)或“虚拟机管理程序(hypervisor)”的使用,在服务器运行时虚拟资源可以被动态地分配,使VM实例能够被添加、关闭、或重用,而不需要将服务器关闭。这向服务器使用提供了更大的灵活性,并且更好地使用了服务器处理资源,特别是针对多核处理器和/或多处理器服务器。在另一虚拟化方法下,使用了采用虚拟化的“容器”而不使用VMM或虚拟机管理程序的基于容器的OS虚拟化。不是在相应的虚拟机上托管操作系统的独立的实例,基于容器的OS虚拟化横跨多个容器共享单个OS核心,具有用于每个容器的系统和软件库的独立的实例。与VM一样,同样存在被分配到每个容器的虚拟资源。软件定义的网络(SDN)和网络功能虚拟化(NFV)的部署也已经在过去几年中迅速增长。在SDN下,针对将流量发送到哪做出决策的系统(控制平面)与将流量转发到选定的目的地的底层系统(数据平面)进行解耦。可以采用SDN概念以有利于实现网络虚拟化,使服务提供方能够经由软件应用和API(应用程序接口)来管理其网络服务的各种方面。在NFV下,通过将网络功能虚拟化为软件应用,网络服务提供方可以获得网络配置中的灵活性,实现显著的益处,包括可用带宽的优化、节省成本、以及加快新服务的上市时间。当今存在大量的专属网络设备,其使添加和升级越来越困难。这样的网络装置包括:维持订户移动性的实时状态、语音和媒体呼叫、安全性、上下文的内容管理等的路由器,防火墙等。NFV技术将这些网络功能合并到通用X86服务器上,并且可以大大减少配置和更新复杂性。当若干NFV被合并时,例如,被实现为在一个平台中的一组虚拟机(VM),由于工作负载的本质以及当前(10千兆比特每秒(Gbps))和未来(40Gbps和100Gbps)的网络接口的高线路速率,需要非常高效的网络分组处理。在多核X86服务器上,这些分组(经由VM间通信)被转发,并且由在不同核上的VM中的NFV模块进行处理。在常规实现方式的近来的测试下,已经观察到:VM间通信的分组吞吐量,特别针对小分组(例如,64B,其对电信公司而言是重要的)远不能令人满意。针对软件和硬件低效率,存在若干性能瓶颈。当前的解决方案主要关注解决软件瓶颈。这些VM间通信方案的总体思路包括:通过减少分组数据的副本的数量,例如使用共享的存储器,来减少存储器复制开销。然而,使用这些纯软件方法的性能改进是有限的。附图说明当结合附图时,通过引用以下具体实施方式,本专利技术的前述方面以及伴随的优点中的许多优点将变得更容易理解,附图中遍及各种视图,相似的附图标记指的是相似的部分,除非另有规定:图1是示出了包括平台硬件和包括NFV组件的各种基于软件的组件的示例性主机平台配置的示意图;图2是示出了采用共享的存储器的生产者-消费者模型的示意图;图3是对插槽内与插槽间通信的数据传输带宽进行比较的图;图4a是示出了在常规方法下通过生产者应用来存取高速缓存行的示意图,其中该生产者应用当前不存储在任何高速缓存级别中并且是从系统存储器被存取的;图4b是示出了在常规方法下从执行生产者应用的核心的L1高速缓存中取回高速缓存行的消费者应用的示意图;图5是示出了由图4a和图4b中所示的平台采用的存储器一致性架构的抽象视图的示意图;图6是示出了在常规方法下生产者核心存取保存在L3高速缓存中的高速缓存行并且对其进行修改,并且消费者核心在高速缓存行被修改之后存取该相同的高速缓存行的消息流图;图7是示出了根据一个实施例的由其中使用高速缓存行降级的生产者核和消费者核心存取类似的高速缓存行的消息流图;图8是采用了NUMA架构的双插槽平台的示意图;图8a是示出了在常规方法下如何存取远程插槽上的高速缓存行的示意图;图8b是示出了根据一个实施例的使用早期监听方案如何存取远程插槽上的高速缓存行的示意图;图9是示出了根据一个实施例的实现针对共享的存储器区的早期监听所采用的操作的流程图;图10是示出了根据一个实施例的用于实现其中在高速缓存行中采用标签的早期监听方案的操作和逻辑的流程图;图11a-图11c示出了采用多个哈希算法和单一维度比特向量的布隆过滤器是如何工作的;图12a-图12c示出了采用多个哈希算法和相应的比特向量的布隆过滤器是如何工作的;图13是示出了根据一个实施例的用于双插槽NUMA平台的高速缓存层次结构的示意图;图13a是示出了根据一个实施例的将高速缓存行降级并推送到远程插槽的第一示例的示意图;图13b是示出了根据一个实施例的将高速缓存行降级并推送到远程插槽的第二示例的示意图;图13c是示出了根据一个实施例的对远程插槽上的高速缓存行进行降级并且将该高速缓存行推送到本地插槽的示例的示意图;以及图14是采用四个高速缓存级别的高速缓存层次结构的示意图。具体实现方式本文描述了实现硬件/软件协同优化以对NFV和其他生产者-消费者(producer-consumer)工作负载的VM间通信的性能和能量进行改进的方法和装置的实施例。在以下的描述中,阐述了许多具体细节以提供对本专利技术的实施例的全面理解。然而,相关领域的技术人员将认识到,可以在没有一个或多个具体细节的情况下,或利用其他方法、组件、材料等的情况下,来实现本专利技术。在其他实例中,未详细地示出或描述公知的结构、材料或操作以避免使本专利技术的方案变得难以理解。整个说明书中对“一个实施例”或“实施例”的引用意味着关于实施例描述的特定特征、结构或特性被包括在本专利技术中的至少一个实施例中。因此,在整个说明书的各个地方中的短语“在一个实施例中”或“在实施例中”的出现不一定都指的是相同的实施例。本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201580064745.html" title="NFVS和其他生产者‑消费者工作负载VM间通信性能和能量改进的硬件/软件协同优化原文来自X技术">NFVS和其他生产者‑消费者工作负载VM间通信性能和能量改进的硬件/软件协同优化</a>

【技术保护点】
一种被配置为在计算机系统中实现的处理器,包括:多个核心,每个核心具有占用高速缓存层次结构中的相应级别的至少一个相关联的高速缓存;最后一级高速缓存(LLC),其通信地耦合到所述多个核心;以及存储器控制器,其通信地耦合到所述多个核心,所述存储器控制器被配置为当所述处理器被安装在所述计算机系统中时支持对外部系统存储器的存取;其中,与核心相关联的所述高速缓存中的每一个和所述LLC包括用于存储高速缓存行数据的多个高速缓存行槽,并且其中,所述处理器进一步被配置为支持机器指令,所述机器指令在被执行时使所述处理器将高速缓存行从较低级别高速缓存降级到较高级别高速缓存。

【技术特征摘要】
【国外来华专利技术】2014.12.26 US 14/583,3891.一种被配置为在计算机系统中实现的处理器,包括:多个核心,每个核心具有占用高速缓存层次结构中的相应级别的至少一个相关联的高速缓存;最后一级高速缓存(LLC),其通信地耦合到所述多个核心;以及存储器控制器,其通信地耦合到所述多个核心,所述存储器控制器被配置为当所述处理器被安装在所述计算机系统中时支持对外部系统存储器的存取;其中,与核心相关联的所述高速缓存中的每一个和所述LLC包括用于存储高速缓存行数据的多个高速缓存行槽,并且其中,所述处理器进一步被配置为支持机器指令,所述机器指令在被执行时使所述处理器将高速缓存行从较低级别高速缓存降级到较高级别高速缓存。2.根据权利要求1所述的处理器,其中,所述机器指令的执行使所述高速缓存行被降级到所述LLC。3.根据权利要求2所述的处理器,其中,所述机器指令的执行使所述高速缓存行向系统存储器的回写。4.根据前述权利要求中的任何一项所述的处理器,其中,所述高速缓存行被保存在高速缓存层次结构中相关联级别处的第一高速缓存中,并且其中,所述机器指令的执行使所述高速缓存行被降级到比所述第一高速缓存低两个级别的高速缓存。5.根据前述权利要求中的任何一项所述的处理器,其中,所述处理器包括三级(L3)高速缓存和包含所述LLC的四级(L4)高速缓存。6.根据前述权利要求中的任何一项所述的处理器,其中,所述计算机系统是采用非均匀存储器存取(NUMA)架构的多插槽的计算机系统,在所述非均匀存储器存取架构中安装所述处理器的多个实例,每个插槽包括处理器和本地系统存储器,并且所述处理器进一步包括插槽到插槽互连接口,其被配置为有利于实现安装在不同插槽中的处理器之间的通信,并且其中,所述机器指令的执行使处理器用作本地插槽用于:将高速缓存行降级到所述本地插槽上的LLC高速缓存;以及将所述高速缓存行的副本推送到安装在远程插槽中的处理器的LLC,其中,所述高速缓存行经由所述插槽到插槽互连接口被推送。7.根据权利要求6所述的处理器,其中,所述指令的执行使所述处理器释放用作所述本地插槽的所述处理器中的所述高速缓存行的所有权。8.根据权利要求6所述的处理器,其中,所述指令的执行使所述处理器将所述高速缓存行标记为共享的((S)hared)。9.根据权利要求6所述的处理器,其中,所述指令的执行使所述处理器用于:将所述高速缓存行从所述本地插槽上的LLC回写到所述本地插槽上的系统存储器;以及释放在所述本地插槽上的LLC中的高速缓存行。10.根据权利要求6所述的处理器,其中,所述处理器进一步被配置为:经由所述插槽到插槽互连接口接收从工作在远程插槽中的处理器被推送的高速缓存行;以及将所述高速缓存行存储在其LLC中。11.一种被配置为在采用非均匀存储器存取(NUMA)架构的多插槽的计算机系统中被实现的处理器,在所述非均匀存储器存取架构中安装所述处理器的多个实例,其中,每个插槽包括处理器和本地系统存储器,所述处理器包括:多个核心,其中,每个核心具有相关联的1级(L2)高速缓存和2级(L2)高速缓存;最后一级高速缓存(LLC),其通信地耦合到所述多个核心;存储器控制器,其通信地耦合到所述多个核心,所述存储器控制器被配置为当所述处理器被安装在所述计算机系统中时支持对外部系统存储器的存取;以及插槽到插槽互连接口,其通信地耦合到LLC;其中,所述L1高速缓存、所述L2高速缓存和所述LLC中的每一个均包括用于存储高速缓存行数据的多个高速缓存行槽和相关联的高速缓存代理,并且其中,所述处理器进一步被配置为:响应于针对存储在远程插槽上的系统存储器中的数据对象的由核心发出的存储器存取请求;针对存储所述数据对象的副本的高速缓存行监听所述核心的L1高速缓存和L2高速缓存以及处理器的LLC中的至少一个,每个监听都导致错过;以及将早期监听从所述处理器向所述远程插槽中的处理器发出,所述早期监听是经由所述插槽到插槽互连接口被发送的。12.根据权利要求11所述的处理器,其中,所述处理器将所述早期监听发出到所述远程插槽中的处理器,而不针对所述数据对象检查其本地系统存储器。13.根据权利要求11或1...

【专利技术属性】
技术研发人员:R·王A·J·赫德里奇YC·刘H·H·胡姆J·S·帕克C·J·休斯N·N·文凯特桑A·C·莫加A·贾里尔Z·A·奇什蒂M·A·埃尔金JS·蔡A·W·民TY·C·泰C·马乔科R·桑卡兰
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1