CN110636139A - 一种云负载均衡的优化方法及*** - Google Patents
一种云负载均衡的优化方法及*** Download PDFInfo
- Publication number
- CN110636139A CN110636139A CN201910977767.2A CN201910977767A CN110636139A CN 110636139 A CN110636139 A CN 110636139A CN 201910977767 A CN201910977767 A CN 201910977767A CN 110636139 A CN110636139 A CN 110636139A
- Authority
- CN
- China
- Prior art keywords
- cloud
- bound
- cloud host
- transceiving
- pmd
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种云负载均衡的优化方法及***,通过分别对云节点、虚拟交换机和云主机中的参数进行配置,实现了云节点的网卡队列,云节点的轮询线程,虚拟交换机的DPDK端口队列,虚拟交换机的vhost端口队列,云主机的网卡队列,云主机的负载均衡服务进程一一对应,从而使得数据包可以在云节点的内核层与云主机的负载均衡服务进程之间直接共享,同时轮询线程与cpu绑定以及轮询线程的主动轮询机制,消除了锁和cpu上下文切换,相比于现有技术,本发明的技术方案解决了传统云负载均衡网络IO路径长,以及数据拷贝、锁开销、CPU上下文切换等引出的低效率问题,同时让云负载均衡具有灵活的流量控制、热迁移、弹性伸缩等特性。实现高性能的云负载均衡。
Description
技术领域
本发明属于负载均衡技术领域,具体涉及一种云负载均衡的优化方法及***。
背景技术
云负载均衡服务是在云平台中将访问流量根据转发策略分发到后端多台云主机的流量分发控制服务,它能让用户在云平台上创建云负载均衡、配置云负载均衡服务的后端实例、设置相关负载均衡策略。其原理示意图如图1所示。其具有多租户、热迁移、弹性伸缩等特点。
基于以上特点,云负载均衡服务的传统实现方式是在云主机中运行负载均衡服务,以虚拟化的方式提供服务。云网络为云负载均衡服务提供了网络访问控制如安全组、ACL以及灵活的流量控制等特性。传统实现方式示意图如图2 所示,从云节点硬件层、云节点内核层、云主机内核层到云主机用户层,数据包进出云节点网卡至负载均衡服务进程,需要经历一个很长的路径,会有多次数据拷贝、多次锁开销、以及多次CPU抢占带来的上下文切换。在大型业务***场景下,当用户和业务量在不断扩大时,高访问量和高并发的需求对于负载均衡的分发处理能力要求越来越高,传统云负载均衡受限于其实现方式,单机性能已远难以满足。
现有技术对于传统云负载均衡技术的缺陷的解决办法有:
1、增加负载均衡服务所在实例的配置,如为实例增加CPU、内存,这种办法可以在一定程度上提升负载均衡服务的并发处理能力,但是无法解决数据包进出路径长的问题,也无法解决云节点内核和云主机内核引出的锁开销。
2、采用SR-IOV(一种基于硬件的虚拟化解决方案,SR-IOV标准允许在云主机之间高效共享PCIe)技术,其实现方式示意图如图3所示,将云节点的网卡直接透传至云主机中,该方法可以直接使数据包绕开云节点的内核层,但是这种方式,也绕开了云网络控制,造成安全组、ACL以及灵活的流量控制、热迁移、弹性伸缩等特性的缺失,并且数据包在云主机内部依然会有多次数据拷贝、锁开销和CPU上下文切换的问题。
发明内容
为了克服上述技术缺陷,本发明提供一种云负载均衡的优化方法及***,解决了传统云负载均衡网络IO路径长,以及数据拷贝、锁开销、CPU上下文切换等引出的低效率问题,同时让云负载均衡具有灵活的流量控制、热迁移、弹性伸缩等特性。实现高性能的云负载均衡。
为了解决上述问题,本发明按以下技术方案予以实现的:
一种云负载均衡的优化方法,包括对云节点的配置步骤、对虚拟交换机的配置步骤以及对云主机的配置步骤;所述云主机设置于所述云节点内,并连接至所述虚拟交换机;
所述对云节点的配置步骤包括:
所述云节点的网卡通过DPDK进程开启多组第一收发队列;
所述云节点的DPDK进程开启多个第一轮询线程PMD,所述第一轮询线程 PMD与所述第一收发队列一一对应绑定,所述第一轮询线程PMD与一个CPU 核绑定,所述第一轮询线程PMD用于采用主动轮询的方式获取对应的所述第一收发队列中的数据包并由对应的所述CPU核进行收发处理;
所述对虚拟交换机的配置步骤包括:
在所述虚拟交换机建立datapath类型为netdev的网桥,设置所述网桥对应的用户态进程与一个或者多个CPU核绑定;
在所述网桥上设置DPDK端口,所述DPDK端口连接有所述云节点的网卡,在所述DPDK端口设置多组第二收发队列,所述第二收发队列与所述第一轮询线程PMD一一对应绑定;
在所述网桥上新增vhost-user端口,所述vhost-user端口连接有所述云主机的虚拟网卡,在所述vhost-user端口设置多组第三收发队列,所述第三收发队列与所述第一轮询线程PMD一一对应绑定;
所述对云主机的配置步骤包括:
设置所述云主机与多个CPU核绑定,所绑定的CPU核的数量与所述第一轮询线程PMD的数量相同;
将所述云主机的虚拟网卡开启多组第四收发队列;
所述云主机的DPDK进程开启多个第二轮询线程PMD,所述第二轮询线程 PMD与所述第四收发队列一一对应绑定,每个所述第二轮询线程PMD与所述云主机所绑定的其中一个CPU核绑定,所述第二轮询线程PMD用于采用主动轮询的方式获取对应的所述第四收发队列中的数据包并由对应的所述CPU核进行收发处理;
在所述云主机上启动多个负载均衡服务进程,所述多个负载均衡服务进程与所述云主机绑定的多个CPU核一一对应绑定。
进一步的,所述对云节点的配置步骤还包括:将所述云节点的网卡绑定至 VFIO驱动;所述对云主机的配置步骤还包括:将所述云主机的虚拟网卡的驱动绑定至UIO驱动。
进一步的,所述对云节点的配置步骤还包括:
将所述云节点的网卡配置为在接收或者发送数据包时,通过RSS技术决定将所述数据包在指定的所述第一收发队列中的发送队列或者接收队列中处理;
所述对云主机的配置步骤还包括:
将所述云主机的虚拟网卡配置为在接收或者发送数据包时,通过RSS技术决定将所述数据包在指定的所述第四收发队列中的发送队列或者接收队列中处理。
进一步的,所述对云主机的配置步骤还包括:
在所述云主机上启动多个用户态协议栈进程,所述多个用户态协议栈进程与所述云主机绑定的多个CPU核一一对应绑定,所述用户态协议栈进程用于解析所述云主机的虚拟网卡所传输的数据包。
进一步的,所述对虚拟交换机的配置步骤还包括:
将所述虚拟交换机连接至SDN控制器,根据所述SDN控制器下发的流表规则进行网络处理。
本发明还对应公开了一种云负载均衡的优化***,包括云节点、虚拟交换机和云主机:所述云主机设置于所述云节点内,并连接至所述虚拟交换机;
所述云节点的网卡通过DPDK进程开启多组第一收发队列;所述云节点的 DPDK进程开启多个第一轮询线程PMD,所述第一轮询线程PMD与所述第一收发队列一一对应绑定,所述第一轮询线程PMD与一个CPU核绑定,所述第一轮询线程PMD用于采用主动轮询的方式获取对应的所述第一收发队列中的数据包并由对应的所述CPU核进行收发处理;
所述虚拟交换机建立有datapath类型为netdev的网桥,所述网桥对应的用户态进程被设置为与一个或者多个CPU核绑定;所述网桥上设置DPDK端口,所述DPDK端口连接有所述云节点的网卡,在所述DPDK端口设置多组第二收发队列,所述第二收发队列与所述第一轮询线程PMD一一对应绑定;所述网桥上新增vhost-user端口,所述vhost-user端口连接有所述云主机的虚拟网卡,在所述vhost-user端口设置多组第三收发队列,所述第三收发队列与所述第一轮询线程PMD一一对应绑定;
所述云主机与多个CPU核绑定,所绑定的CPU核的数量与所述第一轮询线程PMD的数量相同;所述云主机的虚拟网卡开启多组第四收发队列;所述云主机的DPDK进程开启多个第二轮询线程PMD,所述第二轮询线程PMD与所述第四收发队列一一对应绑定,每个所述第二轮询线程PMD与所述云主机所绑定的其中一个CPU核绑定,所述第二轮询线程PMD用于采用主动轮询的方式获取对应的所述第四收发队列中的数据包并由对应的所述CPU核进行收发处理;所述云主机上启动多个负载均衡服务进程,所述多个负载均衡服务进程与所述云主机绑定的多个CPU核一一对应绑定。
进一步的,所述云节点的网卡绑定至VFIO驱动;所述云主机的虚拟网卡的驱动绑定至UIO驱动。
进一步的,所述云节点的网卡配置为在接收或者发送数据包时,通过RSS 技术决定将所述数据包在指定的所述第一收发队列中的发送队列或者接收队列中处理;
所述云主机的虚拟网卡配置为在接收或者发送数据包时,通过RSS技术决定将所述数据包在指定的所述第四收发队列中的发送队列或者接收队列中处理。
进一步的,所述云主机上启动多个用户态协议栈进程,所述多个用户态协议栈进程与所述云主机绑定的多个CPU核一一对应绑定,所述用户态协议栈进程用于解析所述云主机的虚拟网卡所传输的数据包。
进一步的,所述虚拟交换机连接至SDN控制器,根据所述SDN控制器下发的流表规则进行网络处理。
相对于现有技术,本发明的有益效果为:
本发明公开了一种云负载均衡的优化方法及***,通过分别对云节点、虚拟交换机和云主机中的参数进行配置,实现了云节点的网卡队列,云节点的轮询线程,虚拟交换机的DPDK端口队列,虚拟交换机的vhost端口队列,云主机的网卡队列,云主机的负载均衡服务进程一一对应,从而使得数据包可以在云节点的内核层与云主机的负载均衡服务进程之间直接共享,同时轮询线程与cpu 绑定以及轮询线程的主动轮询机制,消除了锁和cpu上下文切换,相比于现有技术,本发明的技术方案解决了传统云负载均衡网络IO路径长,以及数据拷贝、锁开销、CPU上下文切换等引出的低效率问题,同时让云负载均衡具有灵活的流量控制、热迁移、弹性伸缩等特性。实现高性能的云负载均衡。
附图说明
图1是本发明背景技术中所述云负载均衡服务的原理示意图。
图2是本发明背景技术中所述云负载均衡服务的传统实现方式示意图。
图3是本发明的背景技术中所述的SR-IOV技术的实现方式示意图。
图4是本发明的实施例1中所述一种云负载均衡的优化方法的对云节点的配置步骤示意图。
图5是本发明的实施例1中所述一种云负载均衡的优化方法的对虚拟交换机的配置步骤示意图。
图6是本发明的实施例1中所述一种云负载均衡的优化方法的对云主机的配置步骤示意图;
图7是本发明的实施例1中所述云负载均衡***的数据处理流程示意图;
图8是本发明的实施例2中所述一种云负载均衡的优化***的功能模块示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
在进行更进一步的解释前,先就本发明中提及的一些技术术语进行解释,以便于理解:
VFIO,全称为Virtual Function I/O,是一种通过IOMMU以安全地把设备 I/O、中断、DMA等暴露到用户空间,从而可以在用户空间完成设备驱动的框架。用户空间直接设备访问,云主机设备分配可以获得更高的IO性能。
UIO,全称为Userspace I/O,是运行在用户空间的I/O技术。Linux***中一般的驱动设备都是运行在内核空间,而在用户空间用应用程序调用即可,而 UIO则是将驱动的很少一部分运行在内核空间,而在用户空间实现驱动的绝大多数功能。
DPDK,全称为Data Plane Development Kit,是Intel公司发布的一组快速处理数据包的开发平台及接口。
PMD,全称为Poll Mode Driver,是基于用户态的轮询机制的驱动程序。
RSS,全称为Receive Side Scaling,是一种能够在多处理器***下使接收报文在多个CPU之间高效分发的网卡驱动技术。
实施例1
本实施例还公开了一种云负载均衡的优化方法,包括对云节点的配置步骤、对虚拟交换机的配置步骤以及对云主机的配置步骤。云主机设置于云节点内,并连接至虚拟交换机。
具体的,对云节点的配置步骤如图4所示,包括:
S101、将云节点的网卡绑定至VFIO驱动。
通过这一设置,网卡接收包时,vfio将网络包的地址共享至用户空间,网卡发送包时,vfio将用户空间网络包地址共享给网卡。
S102、云节点的网卡通过DPDK进程开启多组第一收发队列。
S103、云节点的DPDK进程开启多个第一轮询线程PMD,第一轮询线程 PMD与第一收发队列一一对应绑定,第一轮询线程PMD与一个CPU核绑定,第一轮询线程PMD用于采用主动轮询的方式获取对应的第一收发队列中的数据包并由对应的CPU核进行收发处理。
S104、将云节点的网卡配置为在接收或者发送数据包时,通过RSS技术决定将数据包在指定的第一收发队列中的发送队列或者接收队列中处理。
具体的,对虚拟交换机的配置步骤如图5所示,包括:
S201、在虚拟交换机建立datapath类型为netdev的网桥,设置网桥对应的用户态进程与一个或者多个CPU核绑定。
S202、在网桥上设置DPDK端口,DPDK端口连接有云节点的网卡,在DPDK 端口设置多组第二收发队列,第二收发队列与第一轮询线程PMD一一对应绑定。
S203、在网桥上新增vhost-user端口,vhost-user端口连接有云主机的虚拟网卡,在vhost-user端口设置多组第三收发队列,第三收发队列与第一轮询线程 PMD一一对应绑定。
具体的,vhost-user技术使数据包可以在云节点的用户态和云主机的网卡之间共享,从而使得数据包的传递更加高效。
S204、将虚拟交换机连接至SDN控制器,根据SDN控制器下发的流表规则进行网络处理。
具体的,SDN控制器根据Openflow协议的OFPT_PACKET_IN信息以及网络配置生成流表下发到虚拟交换机,用户态虚拟交换机依据SDN控制器下发的流表进行网络处理。
具体的,对云主机的配置步骤如图6所示,包括:
S301、设置云主机与多个CPU核绑定,所绑定的CPU核的数量与第一轮询线程PMD的数量相同。
S302、将云主机的虚拟网卡的驱动绑定至UIO驱动。
S303、将云主机的虚拟网卡开启多组第四收发队列。
S304、将云主机的虚拟网卡配置为在接收或者发送数据包时,通过RSS技术决定将数据包在指定的第四收发队列中的发送队列或者接收队列中处理。
S305、云主机的DPDK进程开启多个第二轮询线程PMD,第二轮询线程 PMD与第四收发队列一一对应绑定,每个第二轮询线程PMD与云主机所绑定的其中一个CPU核绑定,第二轮询线程PMD用于采用主动轮询的方式获取对应的第四收发队列中的数据包并由对应的CPU核进行收发处理。
S306、在云主机上启动多个用户态协议栈进程,多个用户态协议栈进程与云主机绑定的多个CPU核一一对应绑定,用户态协议栈进程用于解析云主机的虚拟网卡所传输的数据包。
通过这一设置,每个用户态协议栈进程与所绑定的CPU核所对应的第一轮询线程PMD、第二轮询线程PMD以及云节点的网卡队列和云主机的网卡队列全部一一对应。
S307、在云主机上启动多个负载均衡服务进程,多个负载均衡服务进程与云主机绑定的多个CPU核一一对应绑定。
这一设置使得每个负载均衡服务进程与所绑定的CPU核所对应的用户态协议栈进程、第一轮询线程PMD、第二轮询线程PMD以及云节点的网卡队列和云主机的网卡队列全部一一对应。
最终,通过实施上述步骤进行配置的云负载均衡***的数据处理流程如图7 所示。
通过上述步骤分别对云节点、虚拟交换机和云主机中的参数进行配置,实现了云节点的网卡队列,云节点的轮询线程,虚拟交换机的DPDK端口队列,虚拟交换机的vhost端口队列,云主机的网卡队列,云主机的用户态协议栈进程和云主机的负载均衡服务进程全部一一对应,从而使得数据包可以在云节点的内核层与云主机的负载均衡服务进程之间直接共享,同时轮询线程与cpu绑定以及轮询线程的主动轮询机制,消除了锁和cpu上下文切换,相比于现有技术,本实施例中的优化方法解决了传统云负载均衡网络IO路径长,以及数据拷贝、锁开销、CPU上下文切换等引出的低效率问题,同时让云负载均衡具有灵活的流量控制、热迁移、弹性伸缩等特性。实现高性能的云负载均衡。
实施例2
本实施例公开了一种云负载均衡的优化***,包括云节点、虚拟交换机和云主机:云主机设置于云节点内,并连接至虚拟交换机。
具体的,在本实施例中,云节点的网卡通过DPDK进程开启多组第一收发队列。云节点的DPDK进程开启多个第一轮询线程PMD,第一轮询线程PMD 与第一收发队列一一对应绑定,第一轮询线程PMD与一个CPU核绑定,第一轮询线程PMD用于采用主动轮询的方式获取对应的第一收发队列中的数据包并由对应的CPU核进行收发处理。
虚拟交换机建立有datapath类型为netdev的网桥,网桥对应的用户态进程被设置为与一个或者多个CPU核绑定。网桥上设置DPDK端口,DPDK端口连接有云节点的网卡,在DPDK端口设置多组第二收发队列,第二收发队列与第一轮询线程PMD一一对应绑定。网桥上新增vhost-user端口,vhost-user端口连接有云主机的虚拟网卡,在vhost-user端口设置多组第三收发队列,第三收发队列与第一轮询线程PMD一一对应绑定。
云主机与多个CPU核绑定,所绑定的CPU核的数量与第一轮询线程PMD 的数量相同。云主机的虚拟网卡开启多组第四收发队列。云主机的DPDK进程开启多个第二轮询线程PMD,第二轮询线程PMD与第四收发队列一一对应绑定,每个第二轮询线程PMD与云主机所绑定的其中一个CPU核绑定,第二轮询线程PMD用于采用主动轮询的方式获取对应的第四收发队列中的数据包并由对应的CPU核进行收发处理。云主机上启动多个负载均衡服务进程,多个负载均衡服务进程与云主机绑定的多个CPU核一一对应绑定。
具体的在本实施例中,云节点的网卡绑定至VFIO驱动。云主机的虚拟网卡的驱动绑定至UIO驱动。
具体的在本实施例中,云节点的网卡配置为在接收或者发送数据包时,通过RSS技术决定将数据包在指定的第一收发队列中的发送队列或者接收队列中处理。云主机的虚拟网卡配置为在接收或者发送数据包时,通过RSS技术决定将数据包在指定的第四收发队列中的发送队列或者接收队列中处理。
具体的在本实施例中,云主机上启动多个用户态协议栈进程,多个用户态协议栈进程与云主机绑定的多个CPU核一一对应绑定,用户态协议栈进程用于解析云主机的虚拟网卡所传输的数据包。
具体的在本实施例中,虚拟交换机连接至SDN控制器,根据SDN控制器下发的流表规则进行网络处理。
本实施例2所公开的云负载均衡的优化***与实施例1中公开的云负载均衡的优化方法相对应,其具体的技术细节和技术效果也类似,在此不再赘述。
本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可查看存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,云节点,或者网络设备等) 执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U 盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,故凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何修改、等同变化与修饰,均仍属于本发明技术方案的范围。
Claims (10)
1.一种云负载均衡的优化方法,其特征在于,包括对云节点的配置步骤、对虚拟交换机的配置步骤以及对云主机的配置步骤;所述云主机设置于所述云节点内,并连接至所述虚拟交换机;
所述对云节点的配置步骤包括:
所述云节点的网卡通过DPDK进程开启多组第一收发队列;
所述云节点的DPDK进程开启多个第一轮询线程PMD,所述第一轮询线程PMD与所述第一收发队列一一对应绑定,所述第一轮询线程PMD与一个CPU核绑定,所述第一轮询线程PMD用于采用主动轮询的方式获取对应的所述第一收发队列中的数据包并由对应的所述CPU核进行收发处理;
所述对虚拟交换机的配置步骤包括:
在所述虚拟交换机建立datapath类型为netdev的网桥,设置所述网桥对应的用户态进程与一个或者多个CPU核绑定;
在所述网桥上设置DPDK端口,所述DPDK端口连接有所述云节点的网卡,在所述DPDK端口设置多组第二收发队列,所述第二收发队列与所述第一轮询线程PMD一一对应绑定;
在所述网桥上新增vhost-user端口,所述vhost-user端口连接有所述云主机的虚拟网卡,在所述vhost-user端口设置多组第三收发队列,所述第三收发队列与所述第一轮询线程PMD一一对应绑定;
所述对云主机的配置步骤包括:
设置所述云主机与多个CPU核绑定,所绑定的CPU核的数量与所述第一轮询线程PMD的数量相同;
将所述云主机的虚拟网卡开启多组第四收发队列;
所述云主机的DPDK进程开启多个第二轮询线程PMD,所述第二轮询线程PMD与所述第四收发队列一一对应绑定,每个所述第二轮询线程PMD与所述云主机所绑定的其中一个CPU核绑定,所述第二轮询线程PMD用于采用主动轮询的方式获取对应的所述第四收发队列中的数据包并由对应的所述CPU核进行收发处理;
在所述云主机上启动多个负载均衡服务进程,所述多个负载均衡服务进程与所述云主机绑定的多个CPU核一一对应绑定。
2.根据权利要求1所述的云负载均衡的优化方法,其特征在于,所述对云节点的配置步骤还包括:将所述云节点的网卡绑定至VFIO驱动;所述对云主机的配置步骤还包括:将所述云主机的虚拟网卡的驱动绑定至UIO驱动。
3.根据权利要求1所述的云负载均衡的优化方法,其特征在于,所述对云节点的配置步骤还包括:
将所述云节点的网卡配置为在接收或者发送数据包时,通过RSS技术决定将所述数据包在指定的所述第一收发队列中的发送队列或者接收队列中处理;
所述对云主机的配置步骤还包括:
将所述云主机的虚拟网卡配置为在接收或者发送数据包时,通过RSS技术决定将所述数据包在指定的所述第四收发队列中的发送队列或者接收队列中处理。
4.根据权利要求1所述的云负载均衡的优化方法,其特征在于,所述对云主机的配置步骤还包括:
在所述云主机上启动多个用户态协议栈进程,所述多个用户态协议栈进程与所述云主机绑定的多个CPU核一一对应绑定,所述用户态协议栈进程用于解析所述云主机的虚拟网卡所传输的数据包。
5.根据权利要求1所述的云负载均衡的优化方法,其特征在于,所述对虚拟交换机的配置步骤还包括:
将所述虚拟交换机连接至SDN控制器,根据所述SDN控制器下发的流表规则进行网络处理。
6.一种云负载均衡的优化***,其特征在于,包括云节点、虚拟交换机和云主机:所述云主机设置于所述云节点内,并连接至所述虚拟交换机;
所述云节点的网卡通过DPDK进程开启多组第一收发队列;所述云节点的DPDK进程开启多个第一轮询线程PMD,所述第一轮询线程PMD与所述第一收发队列一一对应绑定,所述第一轮询线程PMD与一个CPU核绑定,所述第一轮询线程PMD用于采用主动轮询的方式获取对应的所述第一收发队列中的数据包并由对应的所述CPU核进行收发处理;
所述虚拟交换机建立有datapath类型为netdev的网桥,所述网桥对应的用户态进程被设置为与一个或者多个CPU核绑定;所述网桥上设置DPDK端口,所述DPDK端口连接有所述云节点的网卡,在所述DPDK端口设置多组第二收发队列,所述第二收发队列与所述第一轮询线程PMD一一对应绑定;所述网桥上新增vhost-user端口,所述vhost-user端口连接有所述云主机的虚拟网卡,在所述vhost-user端口设置多组第三收发队列,所述第三收发队列与所述第一轮询线程PMD一一对应绑定;
所述云主机与多个CPU核绑定,所绑定的CPU核的数量与所述第一轮询线程PMD的数量相同;所述云主机的虚拟网卡开启多组第四收发队列;所述云主机的DPDK进程开启多个第二轮询线程PMD,所述第二轮询线程PMD与所述第四收发队列一一对应绑定,每个所述第二轮询线程PMD与所述云主机所绑定的其中一个CPU核绑定,所述第二轮询线程PMD用于采用主动轮询的方式获取对应的所述第四收发队列中的数据包并由对应的所述CPU核进行收发处理;所述云主机上启动多个负载均衡服务进程,所述多个负载均衡服务进程与所述云主机绑定的多个CPU核一一对应绑定。
7.根据权利要求6所述的云负载均衡的优化***,其特征在于,所述云节点的网卡绑定至VFIO驱动;所述云主机的虚拟网卡的驱动绑定至UIO驱动。
8.根据权利要求6所述的云负载均衡的优化***,其特征在于,所述云节点的网卡配置为在接收或者发送数据包时,通过RSS技术决定将所述数据包在指定的所述第一收发队列中的发送队列或者接收队列中处理;
所述云主机的虚拟网卡配置为在接收或者发送数据包时,通过RSS技术决定将所述数据包在指定的所述第四收发队列中的发送队列或者接收队列中处理。
9.根据权利要求6所述的云负载均衡的优化***,其特征在于,所述云主机上启动多个用户态协议栈进程,所述多个用户态协议栈进程与所述云主机绑定的多个CPU核一一对应绑定,所述用户态协议栈进程用于解析所述云主机的虚拟网卡所传输的数据包。
10.根据权利要求6所述的云负载均衡的优化***,其特征在于,所述虚拟交换机连接至SDN控制器,根据所述SDN控制器下发的流表规则进行网络处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910977767.2A CN110636139B (zh) | 2019-10-15 | 2019-10-15 | 一种云负载均衡的优化方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910977767.2A CN110636139B (zh) | 2019-10-15 | 2019-10-15 | 一种云负载均衡的优化方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110636139A true CN110636139A (zh) | 2019-12-31 |
CN110636139B CN110636139B (zh) | 2020-07-31 |
Family
ID=68975236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910977767.2A Active CN110636139B (zh) | 2019-10-15 | 2019-10-15 | 一种云负载均衡的优化方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110636139B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813547A (zh) * | 2020-06-30 | 2020-10-23 | 武汉虹旭信息技术有限责任公司 | 基于dpdk的数据包处理方法及装置 |
CN112003797A (zh) * | 2020-07-16 | 2020-11-27 | 苏州浪潮智能科技有限公司 | 一种虚拟化dpdk网络性能提高方法、***、终端及存储介质 |
CN113553137A (zh) * | 2021-06-17 | 2021-10-26 | 中国人民解放军战略支援部队信息工程大学 | 一种nfv架构下基于dpdk的接入能力网元高速数据处理方法 |
CN114221861A (zh) * | 2021-03-26 | 2022-03-22 | 无锡江南计算技术研究所 | 一种大规模互连网络的管理包收发方法 |
CN116723162A (zh) * | 2023-08-10 | 2023-09-08 | 浪潮电子信息产业股份有限公司 | 一种网络首包处理方法、***、装置、介质及异构设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105357151A (zh) * | 2015-11-19 | 2016-02-24 | 成都科来软件有限公司 | 一种基于dpdk的抓包及镜像流量转发方法 |
CN108062269A (zh) * | 2017-12-05 | 2018-05-22 | 上海交通大学 | 一种基于dpdk的计算资源弹性伸缩方法及*** |
CN108345502A (zh) * | 2018-01-15 | 2018-07-31 | 中兴飞流信息科技有限公司 | 基于dpdk的资源调度方法、装置、终端设备及可读存储介质 |
CN108366018A (zh) * | 2017-01-26 | 2018-08-03 | 普天信息技术有限公司 | 一种基于dpdk的网络数据包处理方法 |
CN108628684A (zh) * | 2017-03-20 | 2018-10-09 | 华为技术有限公司 | 一种基于dpdk的报文处理方法及计算机设备 |
CN110022267A (zh) * | 2018-01-09 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 网络数据包处理方法及装置 |
-
2019
- 2019-10-15 CN CN201910977767.2A patent/CN110636139B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105357151A (zh) * | 2015-11-19 | 2016-02-24 | 成都科来软件有限公司 | 一种基于dpdk的抓包及镜像流量转发方法 |
CN108366018A (zh) * | 2017-01-26 | 2018-08-03 | 普天信息技术有限公司 | 一种基于dpdk的网络数据包处理方法 |
CN108628684A (zh) * | 2017-03-20 | 2018-10-09 | 华为技术有限公司 | 一种基于dpdk的报文处理方法及计算机设备 |
CN108062269A (zh) * | 2017-12-05 | 2018-05-22 | 上海交通大学 | 一种基于dpdk的计算资源弹性伸缩方法及*** |
CN110022267A (zh) * | 2018-01-09 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 网络数据包处理方法及装置 |
CN108345502A (zh) * | 2018-01-15 | 2018-07-31 | 中兴飞流信息科技有限公司 | 基于dpdk的资源调度方法、装置、终端设备及可读存储介质 |
Non-Patent Citations (2)
Title |
---|
张柳霞: "基于DPDK平台的虚拟交换机关键技术研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
李凯: "基于 DPDK 的流量动态负载均衡技术研究3", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813547A (zh) * | 2020-06-30 | 2020-10-23 | 武汉虹旭信息技术有限责任公司 | 基于dpdk的数据包处理方法及装置 |
CN111813547B (zh) * | 2020-06-30 | 2023-10-31 | 武汉虹旭信息技术有限责任公司 | 基于dpdk的数据包处理方法及装置 |
CN112003797A (zh) * | 2020-07-16 | 2020-11-27 | 苏州浪潮智能科技有限公司 | 一种虚拟化dpdk网络性能提高方法、***、终端及存储介质 |
CN112003797B (zh) * | 2020-07-16 | 2022-06-21 | 苏州浪潮智能科技有限公司 | 一种虚拟化dpdk网络性能提高方法、***、终端及存储介质 |
CN114221861A (zh) * | 2021-03-26 | 2022-03-22 | 无锡江南计算技术研究所 | 一种大规模互连网络的管理包收发方法 |
CN114221861B (zh) * | 2021-03-26 | 2023-07-07 | 无锡江南计算技术研究所 | 一种大规模互连网络的管理包收发方法 |
CN113553137A (zh) * | 2021-06-17 | 2021-10-26 | 中国人民解放军战略支援部队信息工程大学 | 一种nfv架构下基于dpdk的接入能力网元高速数据处理方法 |
CN113553137B (zh) * | 2021-06-17 | 2022-11-01 | 中国人民解放军战略支援部队信息工程大学 | 一种nfv架构下基于dpdk的接入能力网元高速数据处理方法 |
CN116723162A (zh) * | 2023-08-10 | 2023-09-08 | 浪潮电子信息产业股份有限公司 | 一种网络首包处理方法、***、装置、介质及异构设备 |
CN116723162B (zh) * | 2023-08-10 | 2023-11-03 | 浪潮电子信息产业股份有限公司 | 一种网络首包处理方法、***、装置、介质及异构设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110636139B (zh) | 2020-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110636139B (zh) | 一种云负载均衡的优化方法及*** | |
US10095645B2 (en) | Presenting multiple endpoints from an enhanced PCI express endpoint device | |
EP3556081B1 (en) | Reconfigurable server | |
Hwang et al. | {TCP}{≈}{RDMA}:{CPU-efficient} Remote Storage Access with i10 | |
US11048569B1 (en) | Adaptive timeout mechanism | |
US7424564B2 (en) | PCI—express slot for coupling plural devices to a host system | |
US10621138B2 (en) | Network communications using pooled memory in rack-scale architecture | |
US8359408B2 (en) | Enabling functional dependency in a multi-function device | |
US9154451B2 (en) | Systems and methods for sharing devices in a virtualization environment | |
CN110941576B (zh) | 具有多模pcie功能的存储控制器的***、方法和设备 | |
US20110058573A1 (en) | User selectable multiple protocol network interface device | |
US10754797B1 (en) | Consolidating write transactions for a network device | |
US9558148B2 (en) | Method to optimize network data flows within a constrained system | |
US8972611B2 (en) | Multi-server consolidated input/output (IO) device | |
EP1851626A1 (en) | Modification of virtual adapter resources in a logically partitioned data processing system | |
US10261935B1 (en) | Monitoring excessive use of a peripheral device | |
US10599600B2 (en) | Peripheral Component Interconnect Express (PCIe) switching for multi-host computing system deployments | |
CN113312143A (zh) | 云计算***、命令处理方法及虚拟化仿真装置 | |
CN115664892B (zh) | 虚拟监控器下Linux虚拟网卡的实现方法 | |
CN113472624A (zh) | 一种基于vDPA实现虚拟网络数据包转发的方法及应用 | |
CN104731635A (zh) | 一种虚拟机访问控制方法,及虚拟机访问控制*** | |
EP3563534A1 (en) | Transferring packets between virtual machines via a direct memory access device | |
US11321179B1 (en) | Powering-down or rebooting a device in a system fabric | |
CN115913953A (zh) | 一种云资源加速方法、装置及其介质 | |
EP2300925B1 (en) | System to connect a serial scsi array controller to a storage area network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |