CN103685053B - 一种基于剩余任务处理时间补偿的网络处理器负载均衡调度方法 - Google Patents

一种基于剩余任务处理时间补偿的网络处理器负载均衡调度方法 Download PDF

Info

Publication number
CN103685053B
CN103685053B CN201310612808.0A CN201310612808A CN103685053B CN 103685053 B CN103685053 B CN 103685053B CN 201310612808 A CN201310612808 A CN 201310612808A CN 103685053 B CN103685053 B CN 103685053B
Authority
CN
China
Prior art keywords
packet
data stream
time
scheduled
designated
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.)
Active
Application number
CN201310612808.0A
Other languages
English (en)
Other versions
CN103685053A (zh
Inventor
张建华
王国栋
李云春
李巍
李靖轩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN201310612808.0A priority Critical patent/CN103685053B/zh
Publication of CN103685053A publication Critical patent/CN103685053A/zh
Application granted granted Critical
Publication of CN103685053B publication Critical patent/CN103685053B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于剩余任务处理时间补偿的网络处理器负载均衡调度方法,该方法以每个数据包的处理时间作为负载的调度权重,并统计每个处理单元的剩余任务处理时间,并依据任务处理时间计算出处理单元的负载,选择出最小负载的处理单元对数据包进行调度。本发明方法克服了传统基于数据流的负载均衡算法的缺陷,能够实现更佳的多核网络处理器的均衡效果。

Description

一种基于剩余任务处理时间补偿的网络处理器负载均衡调度 方法
技术领域
本发明涉及一种对网络处理器的调度方法,更特别地说,是指一种基于剩余任务处理时间补偿的网络处理器负载均衡调度方法
背景技术
网络处理器(Notwork Processor,NP)是新一代用来执行数据处理和转发的高速可编程处理器。从功能上讲,网络处理器主要是完成数据处理和转发任务。2004年11月第1版《网络处理器原理与技术》张宏科等编著,第1页。
为了提高网络处理器的性能,解决单核处理器性能的瓶颈,多核处理器应运而生。多核处理器也称为片上多核处理器,在同一个芯片上集成了多个相同结构的处理核心。多核处理器首先拥有多个处理核心,利用多线程技术,整个处理器的性能是单核处理器的数倍。多核网络处理器存在着大量的数据包并行的应用,因此数据包的调度是应用中影响性能的决定性部分。调度(dispatch)是指对于并行或并发任务的总的控制。当工作开始时,调度器将这个工作分配给指定的处理器或线程。2004年7月第1版《网络处理器与网络系统设计》张建忠等译,第129页。
在多核CPU中,必须考虑各个线程计算量均衡地分配到各CPU核上的问题,也就是计算负载平衡问题。如果线程间的计算量无法取得好的负载平衡,那么某些CPU核计算量大、耗时多,另外一些CPU核计算量小、耗时少;耗时少的CPU核运行完成后,将处于空闲状态,导致CPU出现饥饿现象。2009年3月第1版《多核计算与程序设计》周伟明著,第14页。
多核CPU对数据处理和转发任务是以线速(Line Rate)对到达的数据包进行处理的,然后对数据包进行分类以确定该数据包所属的数据流(Flow)。所述数据包中的多个字段可以是源IP地址、目的IP地址、源端口、目的端口、协议类型等。
基于数据包的负载均衡方案,以数据包为单位进行分配。基于数据流的负载均衡方案,以数据流为单位进行分配,即属于同一数据流的数据包只能分配到同一个核进行处理。基于数据包的负载均衡存在两方面的不足:第一,这种方案需要额外的设计进行数据流保序,而且这些保序的设计往往会对多核处理器性能造成较大影响;第二,由于数据包的处理大多需要维护一张会话表,基于数据包的负载均衡系统可能将同一个数据流的数据包分配到不同引擎上,这会使得两个处理单元同时访问一个数据结构的情况,所以需要额外的同步开销。基于数据流的负载均衡方案不存在上述的不足。
基于数据流的负载均衡方案的不足有:第一,负载均衡需要知道分配单位的负载特性,一般多核处理器中可以假设每个数据包需要的处理能力是基本相同的。而数据流是不同的,同属于一个数据流的数据包数量是无法预测的,而且根据对互联网流量的统计表明,数据流的大小分布很不均衡;第二,一个数据流是由多个数据包组成的,所以基于数据流的划分粒度比较粗,更不容易达到负载的均衡。
发明内容
为了解决基于数据流的负载不均衡,本发明提出一种基于剩余任务处理时间补偿的网络处理器负载均衡调度方法。本调度方法能够将同一数据流分配到多个处理单元上进行并行运行,通过对最小负载量的处理单元优先进行数据流传输,从而实现网络处理器负载均衡。本发明方法利用移动加权的策略可以很好的处理流量,降低多核处理器的开销,提高处理器性能。特别是在出现突发流量时,克服数据流集中在特定的处理单元进行处理。
本发明是一种基于剩余任务处理时间补偿的网络处理器负载均衡调度方法,该负载均衡调度方法包括有下列步骤;
步骤A:数据流的关联信息
(A)一个多核处理器上包括有多个处理单元,采用集合形式表达为M={m1,m2,…,mK};K表示处理单元的总个数;
(B)一个多核处理器上运行有多条数据流,数据流采用集合形式表达为MD={F1,F2,…,FX};X表示运行在多核处理器上的数据流的总条数;
设置数据流被调度完成的时间,第一条数据流F1被调度完成的时间记为第二条数据流F2被调度完成的时间记为任意一条数据流FX被调度完成的时间记为
(C)一条数据流中包括有多个数据包,采用集合形式表达为FX={f1,f2,…,fa-1,fa,fa+1,…,fq};a-1,a,a+1,q表示数据包的标识号;任意一个数据包fq中至少包括有源IP地址、目的IP地址、源端口、目的端口和协议号;
(D)数据包f1到达同一条数据流的截止时间记为数据包f2到达同一条数据流的截止时间记为数据包fa-1到达同一条数据流的截止时间记为数据包fa到达同一条数据流的截止时间记为数据包fa+1到达同一条数据流的截止时间记为数据包fq到达同一条数据流的截止时间记为;多个数据包到达同一条数据流的截止时间采用集合形式表达为
(E)数据包f1被调度的时间记为数据包f2被调度的时间记为数据包fa-1被调度的时间记为数据包fa被调度的时间记为数据包fa+1被调度的时间记为数据包fq被调度的时间记为属于同一数据流的多个数据包被调度的时间采用集合形式表达为
(F)相邻两个数据包到达同一条数据流的时间间隔记为则有的时间间隔记为
步骤B:建立数据流映射表
将多核处理器接收到的数据流,依据先进先记录的方式记录入“数据流映射表”中;
表一数据流映射表的格式
Tab1 Tab2 Tab3 Tab4 Tab5
Tab1用于记录运行在多核处理器上的数据流;
Tab2用于记录同一条数据流中每个数据包被调度的时间;在本发明中,将未调度的数据包的时间称为剩余任务处理时间;
Tab3用于记录数据流当前运行的处理单元;
Tab4用于记录预设的数据流被调度完成的时间;
Tab5用于记录同一条数据流中的数据包总数;
步骤C:提取调度属性
依据步骤B得到的“数据流映射表”的Tad2项记载的信息,来判断数据包是否被调度;若被调度,则数据包归类至已调度任务队列中,并且数据包运行在当前的处理单元上;若未调度,则数据包归类至未调度任务队列 Q in = { Q in F 1 , Q in F 2 , . . . , Q in F X } 中,并执行步骤E;
在第一条数据流F1中,当Tad2项中记载有调度时间,则将所述调度时间对应的数据包提取出来,并把提取出的数据包归类到已调度任务队列中;让提取出的数据包继续运行在当前的处理单元上;将在Tad2项中未体现调度时间的数据包归类到未调度任务队列中,并执行步骤E;
在第二条数据流F2中,当Tad2项中记载有调度时间,则将所述调度时间对应的数据包提取出来,并把提取出的数据包归类到已调度任务队列中;让提取出的数据包继续运行在当前的处理单元上;将在Tad2项中未体现调度时间的数据包归类到未调度任务队列中,并执行步骤E;
在第X条数据流FX中,当Tad2项中记载有调度时间,则将所述调度时间对应的数据包提取出来,并把提取出的数据包归类到已调度任务队列中;让提取出的数据包继续运行在当前的处理单元上;将在Tad2项中未体现调度时间的数据包归类到未调度任务队列中,并执行步骤E;
步骤D:判断相邻两个数据流的任务相关性
依据任务关联关系对未调度任务队列中的数据包按照所属数据流计算相邻两个数据包的任务相关性;
若r=1,则说明前一数据包fa-1与当前数据包fa之间存在有任务相关性,并将存在相关性的数据包归类到关联队列QS中,所述关联队列QS中的数据包仍然运行在当前的处理单元上;
若r=0,则说明前一数据包fa-1与当前数据包fa之间不存在任务相关性,并将不存在相关性的数据包归类到不关联队列QS中,则执行步骤F;
步骤E:提取未调度比值
遍历完全“数据流映射表”,提取出每条数据流中调度过和未经调度的数据包的个数,然后汇总运行于多核处理器上的所有数据流的数据包总数以及未经调度过的数据包的个数最后计算未调度数占数据包总数的比值w,且
步骤F:计算队列长度
依据负载关系对不关联队列QS进行统一化处理,得到每个处理单元上的负载然后选取出最小负载的处理单元记为mmin;将当前数据包fa运行在所述mmin处理单元上;
w表示未调度的比例,0≤w≤1;
K表示多核处理器中的处理单元的总数。
本发明负载均衡调度方法的优点在于:
①对多核处理器的负载通过引入相关性计算,使得任务的分配更加均衡合理,不必使特定数据流的数据包分配到特定的处理单元。
②利用反馈机制实时更新特定任务的处理时间,并且通过平滑指数方法使得处理时间的更新能够应对突发流量的情况,减小流量抖动。
③本发明方法利用流表项与处理单元的映射关系降低调度开销。
附图说明
图1是普通调度方法与本发明负载均衡调度方法的加速比比较图。
图2是普通调度方法与本发明负载均衡调度方法的空间均衡度比较图。
图3是普通调度方法与本发明负载均衡调度方法的时间均衡度比较图。
具体实施方式
下面将结合附图对本发明做进一步的详细说明。
本发明提出的方法是为了解决在多核处理器上并行运行的同一数据流的分配,通过获取的最小处理单元的负载优先分配数据流。
本发明的一种基于剩余任务处理时间补偿的网络处理器负载均衡调度方法,该方法包括有下列步骤:
步骤A:数据流的关联信息
(A)一个多核处理器上包括有多个处理单元,采用集合形式表达为M={m1,m2,…,mK},m1表示第一个处理单元,m2表示第二个处理单元,mK表示最后一个处理单元,K表示处理单元的总个数;为了方便下面列举说明,mK也表示任意一个处理单元。
(B)一个多核处理器上运行有多条数据流,数据流采用集合形式表达为MD={F1,F2,…,FX},F1表示第一条数据流,F2表示第二条数据流,FX表示最后一条数据流,X表示数据流的总条数;为了方便下面列举说明,FX也表示任意一条数据流。设置数据流被调度完成的时间,第一条数据流F1被调度完成的时间记为第二条数据流F2被调度完成的时间记为最后一条数据流FX被调度完成的时间记为一般地,调度完成的时间设置为5毫秒。
(C)一条数据流中包括有多个数据包,采用集合形式表达为FX={f1,f2,…,fa-1,fa,fa+1,…,fq},f1表示同一数据流中的第一个数据包,f2表示同一数据流中的第二个数据包,fa-1表示同一数据流中的第a-1个数据包,fa表示同一数据流中的第a个数据包,fa+1表示同一数据流中的第a+1个数据包,fq表示同一数据流中的最后一个数据包,为了方便下面列举说明,fq也表示同一数据流中的任意一个数据包。a-1,a,a+1,q表示数据包的标识号。任意一个数据包fq中至少包括有源IP地址、目的IP地址、源端口、目的端口和协议号。
(D)数据包f1到达同一条数据流的截止时间记为数据包f2到达同一条数据流的截止时间记为数据包fa-1到达同一条数据流的截止时间记为数据包fa到达同一条数据流的截止时间记为数据包fa+1到达同一条数据流的截止时间记为数据包fq到达同一条数据流的截止时间记为同理可得,任意一个数据包到达同一条数据流的截止时间记为多个数据包到达同一条数据流的截止时间采用集合形式表达为为了方便下面列举说明,也称为前一数据包fa-1到达同一条数据流的截止时间,也称为当前数据包fa到达同一条数据流的截止时间,也称为后一数据包fa+1到达同一条数据流的截止时间。
(E)数据包f1被调度的时间记为数据包f2被调度的时间记为数据包fa-1被调度的时间记为数据包fa被调度的时间记为数据包fa+1被调度的时间记为数据包fq被调度的时间记为同理可得,任意一个数据包被调度的时间记为属于同一数据流的多个数据包被调度的时间采用集合形式表达为
(F)相邻两个数据包到达同一条数据流的时间间隔记为则有的时间间隔记为 的时间间隔记为 的时间间隔记为
在本发明中,同一条数据流上的数据包可以运行在同一处理单元上,也可以运行在不同处理单元上。为了实现各个处理单元的负载均衡,需要对处理单元上运行的数据流进行调度,以满足多核处理器的高性能。
步骤B:建立数据流映射表
将多核处理器接收到的数据流,依据先进先记录的方式记录入“数据流映射表”中。
表一数据流映射表的格式
Tab1 Tab2 Tab3 Tab4 Tab5
Tab1用于记录运行在多核处理器上的数据流;
Tab2用于记录同一条数据流中每个数据包被调度的时间;在本发明中,将未调度的数据包的时间称为剩余任务处理时间;
Tab3用于记录数据流当前运行的处理单元;
Tab4用于记录预设的数据流被调度完成的时间;
Tab5用于记录同一条数据流中的数据包总数。
在本发明中,将步骤一中的数据流关联信息记录入“数据流映射表”中构成当前数据流映射表。
表二当前数据流映射表
在表二中,第一条数据流F1中有五个数据包被调度,即第一条数据流F1当前运行在两个处理单元上,即m1,m2
在表二中,第二条数据流F2中有三个数据包被调度,即第二条数据流F2当前运行在三个处理单元上,即m1,m2,mK
在表二中,第X条数据流FX中有两个数据包被调度,即第X条数据流FX当前运行在一个处理单元上,即mK
步骤C:提取调度属性
依据步骤B得到的“数据流映射表”的Tad2项记载的信息,来判断数据包是否被调度;若被调度,则数据包归类至已调度任务队列中,并且数据包运行在当前的处理单元上;若未调度,则数据包归类至未调度任务队列 Q in = { Q in F 1 , Q in F 2 , . . . , Q in F X } 中,并执行步骤E。
在第一条数据流F1中,当Tad2项中记载有调度时间,则将所述调度时间对应的数据包提取出来,并把提取出的数据包归类到已调度任务队列中;让提取出的数据包继续运行在当前的处理单元上;将在Tad2项中未体现调度时间的数据包归类到未调度任务队列中,并执行步骤E;
在第二条数据流F2中,当Tad2项中记载有调度时间,则将所述调度时间对应的数据包提取出来,并把提取出的数据包归类到已调度任务队列中;让提取出的数据包继续运行在当前的处理单元上;将在Tad2项中未体现调度时间的数据包归类到未调度任务队列中,并执行步骤E;
在第X条数据流FX中,当Tad2项中记载有调度时间,则将所述调度时间对应的数据包提取出来,并把提取出的数据包归类到已调度任务队列中;让提取出的数据包继续运行在当前的处理单元上;将在Tad2项中未体现调度时间的数据包归类到未调度任务队列中,并执行步骤E;
步骤D:判断相邻两个数据流的任务相关性
依据任务关联关系对未调度任务队列中的数据包按照所属数据流计算相邻两个数据包的任务相关性;所述一般设置为5毫秒;
若r=1,则说明前一数据包fa-1与当前数据包fa之间存在有任务相关性,并将存在相关性的数据包归类到关联队列QS中,所述关联队列QS中的数据包仍然运行在当前的处理单元上;
若r=0,则说明前一数据包fa-1与当前数据包fa之间不存在任务相关性,并将不存在相关性的数据包归类到不关联队列QS中,则执行步骤F;
步骤E:提取未调度比值
遍历完全“数据流映射表”,提取出每条数据流中调度过的数据包的个数和未经调度的数据包的个数,然后汇总运行于多核处理器上的所有数据流的数据包总数以及未经调度过的数据包的总数最后计算未调度数占数据包总数的比值w,且
表示第一条数据流F1中的数据包的包总数;
表示第二条数据流F2中的数据包的包总数;
表示第X条数据流FX中的数据包的包总数;
表示第一条数据流F1中的未被调度的数据包的包个数;
表示第二条数据流F2中的未被调度的数据包的包个数;
表示第X条数据流FX中的未被调度的数据包的包个数;
q表示运行于多核处理器上的所有数据流的数据包的包总数;
p表示运行于多核处理器上的所有数据流中未被调度过的数据包的包总数;
若在第一条数据流F1中有7个数据包,则F1={f1,f2,f3,f4,f5,f6,f7},且其中有5个数据包被调度了,即f1,f2,f3,f4,f5,剩余的2个数据包未被调度,即f6,f7,未被调度的
若在第二条数据流F2中有10个数据包,则F2={f1,f2,f3,f4,f5,f6,f7,f8,f9,f10},且其中有3个数据包被调度了,即f7,f8,f9,剩余的7个数据包未被调度,即f1,f2,f3,f4,f5,f6,f10,未被调度的
若在第X条数据流FX中有5个数据包,则FX={f1,f2,f3,f4,f5},且 其中有2个数据包被调度了,即f1,f5,剩余的3个数据包未被调度,即f2,f3,f4,未被调度的
统计多核处理器上运行的数据流的数据包的总个数为7+10+5=22,已调度过的数据包为5+3+2=10,未调度的数据包个数为2+7+3=12。因此,
步骤F:计算队列长度
依据负载关系对不关联队列QS进行统一化处理,得到每个处理单元上的负载然后选取出最小负载的处理单元记为mmin;将当前数据包fa运行在所述mmin处理单元上。
w表示未调度的比例,0≤w≤1;
K表示多核处理器中的处理单元的总数;
在本发明中,如果利用预设的数据包调度完成时间作为不同数据流中数据包的调度时间,将会造成负载估算的误差,这是因为不同的数据流中既有已调度的数据包、也有未调度的数据包,因此,在本发明中对于未经调度的数据包,通过计算未调度的关联队列在总的队列长度中所占的比例,对负载的均衡进行补偿。本发明方法能够实现对网络多核处理器中网络数据流级别的负载平衡调度,并克服了传统数据流负载均衡调度方法的缺陷。该方法也适用于异构的多核处理器。
验证实施例
基于剩余任务处理时间补偿的调度算法在核数增多时,性能要高于基于流的调度算法,原因在于基于直接流的调度算法,各个核上的负载可能不均衡,尤其在核数比较多的情况下,对整体性能产生影响,请参见图1所示的加速比比较图。
参见图2所示的空间均衡度比较图,空间均衡度的值越小表示负载越均衡。在核数目为“1”,单线程执行情况下,三种方法都不需要负载的分配,因此空间均衡度都为“0”。而基于流的方法将具有一致性的数据任务分配的同一个核上,而不同流的任务数是不同的,核数目的增加对其影响很大。而对于基于剩余任务处理时间的调度算法,由于任务的空间因素作为调度的一个修正因子,也会考虑到任务队列长度,因此空间均衡度优于基于流的调度方法。
参见图3所示的时间均衡度比较图,时间均衡度的值越接近于“1”表示负载越均衡。在核数目为“1”,单线程执行情况下,三种方法都不需要负载的分配,因此时间均衡度都为“1”。随着核的数目及线程数目的增加,可以发现,基于剩余任务处理时间补偿的方法具有更好的时间均衡度。这是因为该方法主要利用任务处理时间作为负载信息,在多个核的处理中,能够按照处理时间进行均衡分配。而基于流的调度方法没有考虑任务量以及处理时间的因素,每个处理单元的处理时间差异较大,因此时间均衡度不如其他两种方法。

Claims (3)

1.一种基于剩余任务处理时间补偿的网络处理器负载均衡调度方法,其特征在于:该负载均衡调度方法包括有下列步骤;
步骤A:数据流的关联信息
(A)一个多核处理器上包括有多个处理单元,采用集合形式表达为M={m1,m2,…,mK};K表示处理单元的总个数;
(B)一个多核处理器上运行有多条数据流,数据流采用集合形式表达为MD={F1,F2,…,FX};X表示运行在多核处理器上的数据流的总条数;
设置数据流被调度完成的时间,第一条数据流F1被调度完成的时间记为第二条数据流F2被调度完成的时间记为任意一条数据流FX被调度完成的时间记为
(C)一条数据流中包括有多个数据包,采用集合形式表达为FX={f1,f2,…,fa-1,fa,fa+1,…,fq};a-1,a,a+1,q表示数据包的标识号;任意一个数据包fq中至少包括有源IP地址、目的IP地址、源端口、目的端口和协议号;
(D)数据包f1到达同一条数据流的截止时间记为数据包f2到达同一条数据流的截止时间记为数据包fa-1到达同一条数据流的截止时间记为数据包fa到达同一条数据流的截止时间记为数据包fa+1到达同一条数据流的截止时间记为数据包fq到达同一条数据流的截止时间记为;多个数据包到达同一条数据流的截止时间采用集合形式表达为
(E)数据包f1被调度的时间记为数据包f2被调度的时间记为数据包fa-1被调度的时间记为数据包fa被调度的时间记为数据包fa+1被调度的时间记为数据包fq被调度的时间记为属于同一数据流的多个数据包被调度的时间采用集合形式表达为
(F)相邻两个数据包到达同一条数据流的时间间隔记为则有的时间间隔记为
步骤B:建立数据流映射表
将多核处理器接收到的数据流,依据先进先记录的方式记录入“数据流映射表”中;
表一 数据流映射表的格式
Tab1用于记录运行在多核处理器上的数据流;
Tab2用于记录同一条数据流中每个数据包被调度的时间;在本发明中,将未调度的数据包的时间称为剩余任务处理时间;
Tab3用于记录数据流当前运行的处理单元;
Tab4用于记录预设的数据流被调度完成的时间;
Tab5用于记录同一条数据流中的数据包总数;
步骤C:提取调度属性
依据步骤B得到的“数据流映射表”的Tab2项记载的信息,来判断数据包是否被调度;若被调度,则数据包归类至已调度任务队列中,并且数据包运行在当前的处理单元上;若未调度,则数据包归类至未调度任务队列 中,并执行步骤E;
在第一条数据流F1中,当Tab2项中记载有调度时间,则将所述调度时间对应的数据包提取出来,并把提取出的数据包归类到已调度任务队列中;让提取出的数据包继续运行在当前的处理单元上;将在Tab2项中未体现调度时间的数据包归类到未调度任务队列中,并执行步骤E;
在第二条数据流F2中,当Tab2项中记载有调度时间,则将所述调度时间对应的数据包提取出来,并把提取出的数据包归类到已调度任务队列中;让提取出的数据包继续运行在当前的处理单元上;将在Tab2项中未体现调度时间的数据包归类到未调度任务队列中,并执行步骤E;
在第X条数据流FX中,当Tab2项中记载有调度时间,则将所述调度时间对应的数据包提取出来,并把提取出的数据包归类到已调度任务队列中;让提取出的数据包继续运行在当前的处理单元上;将在Tab2项中未体现调度时间的数据包归类到未调度任务队列中,并执行步骤E;
步骤D:判断相邻两个数据流的任务相关性
依据任务关联关系对未调度任务队列中的数据包按照所属数据流计算相邻两个数据包的任务相关性;
若r=1,则说明前一数据包fa-1与当前数据包fa之间存在有任务相关性,并将存在相关性的数据包归类到关联队列QS中,所述关联队列QS中的数据包仍然运行在当前的处理单元上;
若r=0,则说明前一数据包fa-1与当前数据包fa之间不存在任务相关性,并将不存在相关性的数据包归类到不关联队列QS中,则执行步骤F;
步骤E:提取未调度比值
遍历完全“数据流映射表”,提取出每条数据流中调度过和未经调度的数据包的个数,然后汇总运行于多核处理器上的所有数据流的数据包总数 以及未经调度过的数据包的个数 最后计算未调度数占数据包总数的比值w,且
步骤F:计算队列长度
依据负载关系对不关联队列QS进行统一化处理,得到每个处理单元上的负载然后选取出最小负载的处理单元记为mmin;将当前数据包fa运行在所述mmin处理单元上;
w表示未调度的比例,0≤w≤1;
K表示多核处理器中的处理单元的总数。
2.根据权利要求1所述的基于剩余任务处理时间补偿的网络处理器负载均衡调度方法,其特征在于:任意一条数据流FX被调度完成的时间设置为5毫秒。
3.根据权利要求1所述的基于剩余任务处理时间补偿的网络处理器负载均衡调度方法,其特征在于:该负载均衡调度方法是用来解决在多核处理器上并行运行的同一数据流的分配。
CN201310612808.0A 2013-11-26 2013-11-26 一种基于剩余任务处理时间补偿的网络处理器负载均衡调度方法 Active CN103685053B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310612808.0A CN103685053B (zh) 2013-11-26 2013-11-26 一种基于剩余任务处理时间补偿的网络处理器负载均衡调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310612808.0A CN103685053B (zh) 2013-11-26 2013-11-26 一种基于剩余任务处理时间补偿的网络处理器负载均衡调度方法

Publications (2)

Publication Number Publication Date
CN103685053A CN103685053A (zh) 2014-03-26
CN103685053B true CN103685053B (zh) 2017-01-11

Family

ID=50321407

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310612808.0A Active CN103685053B (zh) 2013-11-26 2013-11-26 一种基于剩余任务处理时间补偿的网络处理器负载均衡调度方法

Country Status (1)

Country Link
CN (1) CN103685053B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104320382B (zh) * 2014-09-30 2018-04-20 华为技术有限公司 分布式的实时流处理装置、方法和单元
CN104391747A (zh) * 2014-11-18 2015-03-04 北京锐安科技有限公司 一种并行计算方法及装置
CN104991816A (zh) * 2015-06-25 2015-10-21 浪潮(北京)电子信息产业有限公司 一种进程调度方法及装置
CN106330743B (zh) * 2015-06-29 2020-10-13 中兴通讯股份有限公司 一种流量均衡度度量的方法及装置
CN105373433B (zh) * 2015-11-25 2018-12-07 浙江宇视科技有限公司 多核cpu负载均衡方法及装置
CN106533978B (zh) * 2016-11-24 2019-09-10 东软集团股份有限公司 一种网络负载均衡方法及系统
CN107395524B (zh) * 2017-06-09 2020-12-22 北京中科睿芯科技有限公司 一种众核片上网络失败任务甄别及资源重分配方法和系统
CN108519915A (zh) * 2018-04-12 2018-09-11 北京邮电大学 流量任务调度方法和装置
CN110061929B (zh) * 2019-03-10 2021-12-28 天津大学 针对非对称网络的数据中心负载均衡方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1719806A (zh) * 2005-07-15 2006-01-11 中国人民解放军国防科学技术大学 基于cache的网络处理器的动态负载分配方法及其装置
CN101394362A (zh) * 2008-11-12 2009-03-25 清华大学 基于流分片的对多核网络处理器进行负载均衡的方法
CN102331923A (zh) * 2011-10-13 2012-01-25 西安电子科技大学 一种基于多核多线程处理器的功能宏流水线实现方法
CN103023800A (zh) * 2012-11-29 2013-04-03 北京航空航天大学 采用流表映射调度策略对多核网络处理器下的流量进行调度的方法
US8478967B2 (en) * 2009-06-01 2013-07-02 National Instruments Corporation Automatically creating parallel iterative program code in a data flow program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013081744A1 (en) * 2011-11-30 2013-06-06 Axis Semiconductor, Inc. Herarchical multi-core processor and method of programming for efficient data processing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1719806A (zh) * 2005-07-15 2006-01-11 中国人民解放军国防科学技术大学 基于cache的网络处理器的动态负载分配方法及其装置
CN101394362A (zh) * 2008-11-12 2009-03-25 清华大学 基于流分片的对多核网络处理器进行负载均衡的方法
US8478967B2 (en) * 2009-06-01 2013-07-02 National Instruments Corporation Automatically creating parallel iterative program code in a data flow program
CN102331923A (zh) * 2011-10-13 2012-01-25 西安电子科技大学 一种基于多核多线程处理器的功能宏流水线实现方法
CN103023800A (zh) * 2012-11-29 2013-04-03 北京航空航天大学 采用流表映射调度策略对多核网络处理器下的流量进行调度的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A Parallel Packet Processing Runtime System On Multi-Core Network Processors;Yunchun Li et al.;《2012 11th International Symposium on Distributed Computing and Application to Business, Engineering & Science》;20121022;全文 *
Impact of I/O and execution scheduling strategies on large scale parallel data mining;Nunnapus Benjamas et al.;《Information Science and Service Science and Data Mining (ISSDM), 2012 6th International Conference on New Trends in》;20121025;全文 *
Research on Task Allocation Strategy and Scheduling Algorithm of Multi-core Load Balance;Chao Wu et al.;《Complex, Intelligent, and Software Intensive Systems (CISIS), 2013 Seventh International Conference on》;20130705;全文 *

Also Published As

Publication number Publication date
CN103685053A (zh) 2014-03-26

Similar Documents

Publication Publication Date Title
CN103685053B (zh) 一种基于剩余任务处理时间补偿的网络处理器负载均衡调度方法
CN102710489B (zh) 动态分流调度系统和方法
Wang et al. Cluster frameworks for efficient scheduling and resource allocation in data center networks: A survey
CN106844051A (zh) 一种边缘计算环境中功耗优化的负载任务迁移算法
CN104579962B (zh) 一种区分不同报文的QoS策略的方法及装置
CN110297699B (zh) 调度方法、调度器、存储介质及系统
CN106411770A (zh) 一种基于sdn架构的数据中心网络节能路由算法
Lee et al. Scheduling jobs with equal processing times subject to machine eligibility constraints
CN114816715B (zh) 一种面向跨地域的流计算延迟优化方法及装置
CN102622275A (zh) 一种云计算环境下负载均衡实现方法
Zhao et al. A unified modeling framework for distributed resource allocation of general fork and join processing networks
CN107832129A (zh) 一种面向分布式流计算系统的动态任务调度优化方法
US10887244B1 (en) Methods, systems and apparatuses for optimizing time-triggered ethernet (TTE) network scheduling by bin allocation, demand prediction and machine learning
CN104536804A (zh) 面向关联任务请求的虚拟资源调度系统及调度和分配方法
CN107102897B (zh) 一种多gpu并行处理的数据库主动防御方法
CN104375882A (zh) 匹配于高性能计算机结构的多级嵌套数据驱动计算方法
CN104104621A (zh) 一种基于非线性降维的虚拟网络资源动态自适应调节方法
JP2023501870A (ja) 自律的な仮想無線アクセスネットワーク制御
Susanto et al. A near optimal multi-faced job scheduler for datacenter workloads
CN106549782A (zh) 一种数据中心内关联流的带宽调度方法及装置
Zhang et al. ATFQ: a fair and efficient packet scheduling method in multi-resource environments
CN107220114A (zh) 基于资源统一调度的分布式资源调度方法
Dehghani et al. Deadline-aware and energy-efficient dynamic task mapping and scheduling for multicore systems based on wireless network-on-chip
CN101039282B (zh) 一种对流入cpu系统的报文的流量管理方法
CN104506452B (zh) 一种报文处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Zhang Jianhua

Inventor after: Wang Guodong

Inventor after: Li Yunchun

Inventor after: Li Wei

Inventor after: Li Jingxuan

Inventor before: Li Yunchun

Inventor before: Wang Guodong

Inventor before: Li Wei

Inventor before: Li Jingxuan

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant