硬件实现的负载平衡制造技术

技术编号:21976508 阅读:24 留言:0更新日期:2019-08-28 02:35
提供一种服务器系统,其包括多个服务器,每个服务器包括至少一个硬件加速设备和至少一个处理器,该至少一个处理器由内部数据总线通信地耦合到硬件加速设备并执行主机服务器实例,多个服务器的主机服务器实例共同提供软件平面,多个服务器的硬件加速设备共同提供实现多个硬件加速服务的硬件加速平面,其中每个硬件加速设备在存储器中维护包含负载数据的数据结构,该负载数据指示多个目标硬件加速设备中的每个目标硬件加速设备的负载,并且其中请求硬件加速设备将该请求路由到目标硬件加速设备,该目标硬件加速设备由数据结构中的负载数据指示为具有比其他目标硬件加速设备更低的负载。

Hardware-based Load Balancing

【技术实现步骤摘要】
【国外来华专利技术】硬件实现的负载平衡
技术介绍
服务器系统使用负载平衡过程来将请求定向到服务器系统中负载较少的服务器,以在处置大量请求时提高效率。许多当前的负载平衡解决方案是软件驱动的,并且用相对陈旧的负载数据来执行负载平衡过程。因此,当根据这些负载平衡过程将请求路由到服务器时,到请求到达该服务器时,该服务器上的负载可能已经增加超过了由软件驱动的负载平衡器基于陈旧负载数据所计算出的负载,导致该服务器无法及时服务该请求。
技术实现思路
为了解决上述问题,提供了一种用于硬件实现的负载平衡的服务器系统。服务器系统可以包括多个服务器,每个服务器包括至少一个硬件加速设备和至少一个处理器,该至少一个处理器由内部数据总线通信地耦合到硬件加速设备并执行主机服务器实例,多个服务器的主机服务器实例共同提供软件平面,并且多个服务器的硬件加速设备共同提供实现多个硬件加速服务的硬件加速平面,其中每个硬件加速设备在存储器中维护包含负载数据的数据结构,该负载数据指示实现多个硬件加速服务中的指定硬件加速服务的多个目标硬件加速设备中的每个目标硬件加速设备的负载,并且其中当请求硬件加速设备路由对指定硬件加速服务的请求时,请求硬件加速设备将请求路由到目标硬件加速设备,目标硬件加速设备由数据结构中的负载数据指示为具有比其他目标硬件加速设备更低的负载。提供本
技术实现思路
是为了以简化的形式介绍一些概念,这些概念将在下面的具体实施方式中进一步描述。本
技术实现思路
不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任何部分中提到的任何或所有缺点的实现。附图说明图1是示出本说明书的示例服务器系统的示意图。图2是示出图1的示例服务器系统的服务器集群的示意图。图3是图1的示例服务器系统的示例硬件加速设备的示意图。图4是示出对图1的示例服务器系统的硬件加速服务的示例请求的示意图。图5继续对图4的硬件加速服务的示例请求。图6是图示多步骤请求的图1的服务器系统的示意图。图7是用于基于硬件的负载平衡的示例方法的流程图,该示例方法可以使用图1的此服务器系统或其他合适的服务器系统硬件来实现。图8是示出图7的方法的附加步骤的另一流程图。图9是可以在图1的服务器系统中使用的示例性计算机硬件的示意图。具体实施方式图1图示了包括多个服务器102的服务器系统100,多个服务器102共同提供软件平面104和硬件加速平面106。软件平面104包括软件驱动的组件的集合(每个软件驱动的组件由图1中的符号“S”来标注),并且硬件加速平面106包括硬件加速的组件的集合(每个硬件加速的组件由图1中的符号“H”来标注)。在一个示例中,每个主机组件可以对应于由多个服务器102之一的一个或多个处理器所执行的主机服务器实例。在该示例中,每个硬件加速组件可以对应于包括用于实现功能的硬件逻辑的硬件加速设备,诸如现场可编程门阵列(FPGA)设备、大规模并行处理器阵列(MPPA)设备、图形处理单元(GPU)、专用集成电路(ASIC)、多处理器片上系统(MPSoC)等。术语“硬件”加速组件还可以涵盖利用硬件加速设备来执行功能的其他方式,诸如例如,a)在硬ASIC逻辑等中实现至少一些任务的情况;b)在软(可配置)FPGA逻辑等中实现至少一些任务的情况;c)至少一些任务作为在FPGA软件处理器覆盖等上的软件运行的情况;d)至少一些任务作为在硬件ASIC处理器等上的软件运行的情况,或其任何组合。应当理解,硬件加速平面106可以表示诸如例如FPGA设备之类的硬件加速设备的同构集合。另一方面,硬件加速平面106可以表示不同类型的硬件加速设备的异构集合,不同类型的硬件加速设备包括具有不同的相应处理能力和架构的不同类型的FPGA设备、FPGA设备和其他类型的硬件加速设备的混合等等。处理器通常使用时间执行范例来执行操作,例如通过使用其处理器硬件线程中的每个来顺序地执行机器可读指令。相反,硬件加速设备可以使用空间范例来执行操作,例如通过使用大量并行逻辑元件来执行计算任务。因此,与处理器和软件驱动的组件相比,硬件加速组件可以在更少的计算时间内执行可以被分解成许多并行任务的一些操作。因此,与本文所使用的术语“硬件加速设备”相关联的“加速”限定器(qualifier)可以反映其用于加速由服务器的处理器所执行的功能的潜力。在一个示例中,服务器系统100对应于经由标准网络基础设施通信地耦合多个服务器102的数据中心环境。转到图2,多个服务器102被组织成多个服务器集群200,每个服务器集群包括机架顶部(TOR)网络交换机202、多个服务器102中的两个或更多个服务器(诸如服务器206、208、...和210)、以及通信地耦合机架顶部网络交换机202和两个或更多个服务器的背板204。例如,每个服务器集群200可以对应于服务器机架,该服务器机架为TOR交换机202和在相同服务器机架中物理上彼此靠近定位的多个服务器206、208、...和210提供物理结构、通风等。通信地耦合服务器机架中的每个服务器的背板204可以促进在相同服务器机架中的服务器之间的网络分组的低延迟和高带宽交换。如图2中所图示,服务器集群200中的每个服务器206、208、...、210包括至少一个硬件加速设备212和至少一个处理器214,至少一个处理器214由内部数据总线216通信地耦合到硬件加速设备212并执行主机服务器实例218。如所示,每个服务器可以包括多于一个处理器,诸如附加处理器220等等。多于一个处理器可以各自执行分开的主机服务器实例218,或者可以共同执行单个主机服务器实例。在一个示例中,内部数据总线216可以采取例如外围组件互连快速(PCIe)链路的形式。备选地,可以使用其他格式的数据总线。应当理解,术语“内部数据总线”中使用的“内部”指的是以下事实:数据总线的至少一部分通常被容纳在与服务器的处理器相同的壳体(其用作法拉第笼)中,并且应该被理解为涵盖连接壳体中的服务器的处理器与被插入到服务器的电路板上的PCIe插槽中的内部安装的硬件加速组件(作为一个示例)的数据总线,或者连接到被插入到例如服务器的壳体的外部表面上的PCIe端口的外部耦合的硬件加速组件的数据总线。如所图示,硬件加速设备212还经由网络接口控制器(NIC)218间接耦合到处理器214,网络接口控制器(NIC)218也由内部数据总线216耦合到处理器214,内部数据总线216例如可以包括一个或多个内部数据总线作为子组件。最后,如图2中所图示,服务器集群200中的每个服务器208的硬件加速设备212耦合到TOR网络交换机202。因此,在所图示的示例中,硬件加速设备212提供处理器214通过其来与服务器集群200中的其他服务器208,...,210以及与服务器系统100的多个服务器102中的其他服务器交互的唯一路径。除了其他效果之外,图2的架构还允许耦合到处理器214的硬件加速设备212对从TOR网络交换机202接收和/或发送到TOR网络交换机202的分组执行处理(例如,通过执行加密、压缩等)而不增加一个或多个处理器214、220等上的计算负担。在该示例中,每个主机服务器实例218由内部数据总线216耦合到至少一个硬件加速设备212,使得这些组本文档来自技高网...

【技术保护点】
1.一种服务器系统,包括:多个服务器,每个服务器包括至少一个硬件加速设备和至少一个处理器,所述至少一个处理器由内部数据总线通信地耦合到所述硬件加速设备并执行主机服务器实例,所述多个服务器的所述主机服务器实例共同提供软件平面,并且所述多个服务器的所述硬件加速设备共同提供实现多个硬件加速服务的硬件加速平面;其中每个硬件加速设备在存储器中维护包含负载数据的数据结构,所述负载数据指示实现所述多个硬件加速服务中的指定硬件加速服务的多个目标硬件加速设备中的每个目标硬件加速设备的负载;并且其中当请求硬件加速设备路由对所述指定硬件加速服务的请求时,所述请求硬件加速设备将所述请求路由到目标硬件加速设备,所述目标硬件加速设备由所述数据结构中的所述负载数据指示为具有比所述目标硬件加速设备中的其他目标硬件加速设备更低的负载。

【技术特征摘要】
【国外来华专利技术】2017.01.17 US 15/408,3651.一种服务器系统,包括:多个服务器,每个服务器包括至少一个硬件加速设备和至少一个处理器,所述至少一个处理器由内部数据总线通信地耦合到所述硬件加速设备并执行主机服务器实例,所述多个服务器的所述主机服务器实例共同提供软件平面,并且所述多个服务器的所述硬件加速设备共同提供实现多个硬件加速服务的硬件加速平面;其中每个硬件加速设备在存储器中维护包含负载数据的数据结构,所述负载数据指示实现所述多个硬件加速服务中的指定硬件加速服务的多个目标硬件加速设备中的每个目标硬件加速设备的负载;并且其中当请求硬件加速设备路由对所述指定硬件加速服务的请求时,所述请求硬件加速设备将所述请求路由到目标硬件加速设备,所述目标硬件加速设备由所述数据结构中的所述负载数据指示为具有比所述目标硬件加速设备中的其他目标硬件加速设备更低的负载。2.根据权利要求1所述的服务器系统,其中对所述指定硬件加速服务的所述请求源自所述多个主机服务器实例的请求主机服务器实例;并且其中所述请求硬件加速设备由所述内部数据总线耦合到执行所述请求主机服务器实例的所述处理器,并且所述请求硬件加速设备读取所述请求并且将所述请求路由到所述目标硬件加速设备。3.根据权利要求1所述的服务器系统,其中所述请求是对多个指定硬件加速服务的多步骤请求,并且所述指定硬件加速服务是所述多个指定硬件加速服务中的下一指定硬件加速服务;并且其中所述请求硬件加速设备从另一硬件加速设备接收所述多步骤请求,实现所述多个指定硬件加速服务中的一个指定硬件加速服务,并且将所述多步骤请求路由到实现所述下一指定硬件加速服务的所述目标硬件加速设备。4.根据权利要求1所述的服务器系统,还包括多个服务器集群,每个服务器集群包括机架顶部网络交换机、所述多个服务器中的两个或更多个服务器、以及通信地耦合所述机架顶部网络交换机和所述两个或更多个服务器的背板;其中服务器集群中的所述两个或更多个服务器的每个硬件加速设备实现所述多个硬件加速服务中的相同硬件加速服务,并且每个硬件加速设备维护所述数据结构的相应实例,所述数据结构还包含近实时负载数据,所述近实时负载数据指示所述服务器群集中的每个其他硬件加速设备的近实时负载。5.根据权利要求4所述的服务器系统,其中当所述多个服务器集群中的服务器集群中的接收硬件加速设备从所述请求硬件加速设备接收到所述请求时,所述接收硬件加速设备基于所述数据结构的近实时负载数据来确定其当前负载是否高于阈值负载值和/或高于所述服务器集群中实现所述相同硬件加速服务的另一硬件加速设备,并且至少基于所述确定,所述接收硬件加速设备将所述请求重定向到所述服务器集群中的另一硬件加速设备,所述数据结构的近实时负载数据指示所述另一硬件加速设备具有比所述服务器集群中的其他硬件加速设备更低的负载。6.根据权利要求1所述的服务器系统,其中当所述请求硬件加速设备将对所述指定硬件加速服务的所述请求路由到所述目标硬件加速设备时,所述请求硬件加速设备基于所述请求的一个或多个属性来更新其数据结构中的针对所述目标硬件加速设备的负载数据。7.根据权利要求6所述的服务器系统,其中所述请求的所述一个或多个属性选自由以下各项组成的组:所述请求的大小、指定硬件加速服务的类型、实现所述指定硬件加速服务的历史时间、针对所述目标硬件加速设备的历史数据、以及所述请求的分组...

【专利技术属性】
技术研发人员:A·M·考尔菲尔德E·S·钟M·K·帕帕米查尔D·C·伯格S·奥克利
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国,US

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

1