The invention relates to a flow of DPDK based dynamic load balancing method to the multi-core technology field; the method by establishing two Hash respectively (Hash1); and (Hash2) calculation, according to the results of Hash 1 and Hash table lookup table 2, judge two times Hash calculation results and the existence of the mapping relation of processing core if Id is the packets to the corresponding processing core, otherwise, the overall calculation of current CPU load balance degree judgment; load balance degree is beyond the threshold, if not, according to the Hash1 (Hash) results in the table to establish mapping relations in 1, the packets corresponding to the processing core, if it is excluding serious overload, core processing; dynamic update (Hash2) results of mapping and processing core ID (Hash2), according to the results in Table 2 of Hash mapping, and the data packet The invention solves the problem that the multi-core processor has an unbalanced load.
【技术实现步骤摘要】
一种基于DPDK的流量动态负载均衡方法
本专利技术涉及计算机多核
,具体涉及一种基于DPDK的流量动态负载均衡方法。
技术介绍
在信息技术、人工智能技术和分布式并行计算技术飞速发展的今天,高性能数据处理系统在电信、金融、工业和医疗等众多领域得到了广泛应用。未来将是一个高效的数字化社会,信息量、计算量和复杂度迅速膨胀,大量的语音、数据、图像等信息需要计算机进行高速实时感知和处理。多年来,处理器性能的提升主要依赖于工作频率的提高,然而由于受到功耗及发热等因素的影响,这种做法已接近极限。在此背景下,多核处理器应运而生,并得到迅速发展,随着多核处理器在大规模并行数据处理系统中应用,计算性能的提高将更依赖于处理器核数量的提升。为了充分利用这些数量庞大的处理器核,应用程序的进程/线程个数也将大幅增加;同时多核处理器也使并行系统的层次结构变得更为复杂,给传统的进程/线程分配和调度带来挑战,从而使多核处理器在快速应用以及发挥最大性能优势方面遇到了阻碍。为了有效利用多核处理器,提高任务并行处理能力和吞吐量,负载平衡是一种能够通过恰当的任务分配与调度来进行资源优化利用,实施并行计算,提高计算机吞吐量和缩短任务响应时间的技术,现有的对于RSS技术,RSS是通过特定的报文字段值进行哈希计算得出哈希值,再通过得出的哈希值将数据报文送往不同的队列,网卡会根据数据包的不同类型确定其特定的关键字段信息,如下表所示:表1RSS数据包类型与关键字的对应关系其缺点是一些网络应用处理的设备中,单纯的使用RSS技术会影响处理性能,例如电信转发设备,对一个网络连接的双向流处理地方式是相近的,所 ...
【技术保护点】
一种基于DPDK的流量动态负载均衡方法,其特征在于,具体步骤包括:步骤a、建立Hash表1和Hash表2,用来分别存储一个连接与CPU不同处理核心id之间的映射关系;步骤b、在捕获到数据包后,输入数据报文中的五元组信息以及默认的Hash Key,分别通过Hash1()以及Hash2()计算得到Hash结果,根据两次Hash计算得到的Hash结果进行Hash表1以及Hash表2查找,判断两次Hash结果与处理核心id是否存在映射关系,如果:是,将数据包分配到对应的处理核心中;否,说明数据包属于一条新连接,则对当前CPU的整体负载均衡度进行计算;步骤c、判断当前CPU的整体负载均衡度是否超出阈值,如果:否,说明目前系统负载均衡,根据Hash1()的Hash结果在Hash表1中建立映射关系,将数据包分配到对应的处理核心中,是,说明目前系统负载不均衡,剔除过载严重的处理核心;步骤d、动态更新Hash2()的所有Hash结果与处理核心id的映射关系,数据包根据Hash2()的Hash结果在Hash表2中建立映射关系,并将数据包分配到对应的处理核心中。
【技术特征摘要】
1.一种基于DPDK的流量动态负载均衡方法,其特征在于,具体步骤包括:步骤a、建立Hash表1和Hash表2,用来分别存储一个连接与CPU不同处理核心id之间的映射关系;步骤b、在捕获到数据包后,输入数据报文中的五元组信息以及默认的HashKey,分别通过Hash1()以及Hash2()计算得到Hash结果,根据两次Hash计算得到的Hash结果进行Hash表1以及Hash表2查找,判断两次Hash结果与处理核心id是否存在映射关系,如果:是,将数据包分配到对应的处理核心中;否,说明数据包属于一条新连接,则对当前CPU的整体负载均衡度进行计算;步骤c、判断当前CPU的整体负载均衡度是否超出阈值,如果:否,说明目前系统负载均衡,根据Hash1()的Hash结果在Hash表1中建立映射关系,将数据包分配到对应的处理核心中,是,说明目前系统负载不均衡,剔除过载严重的处理核心;步骤d、动态更新Hash2()的所有Hash结果与处理核心id的映射关系,数据包根据Hash2()的Hash结果在Hash表2中建立映射关系,并将数据包分配到对应的处理核心中。2.根据权利要求1所述的一种基于DPDK的流量动态负载均衡方法,其特征在于,在步骤b中输入的HashKey值如下:staticuint8_trss_intel_key[40]={0x6D,0x5A,0x6D,0x5A,0x6D,0x5A,0x6D,0x5A,0x6D,...
【专利技术属性】
技术研发人员:李城龙,朱佳伟,刘培朋,余翔湛,李凯,叶麟,刘立坤,张宏莉,史建焘,于海宁,胡阳,赵卫晨,路遥,
申请(专利权)人:哈尔滨工业大学,国家计算机网络与信息安全管理中心,
类型:发明
国别省市:黑龙江,23
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。