CN108768887A - 一种基于cicq的调度方法、装置及电子设备 - Google Patents
一种基于cicq的调度方法、装置及电子设备 Download PDFInfo
- Publication number
- CN108768887A CN108768887A CN201810547109.5A CN201810547109A CN108768887A CN 108768887 A CN108768887 A CN 108768887A CN 201810547109 A CN201810547109 A CN 201810547109A CN 108768887 A CN108768887 A CN 108768887A
- Authority
- CN
- China
- Prior art keywords
- queue
- effective
- length
- difference
- buffer
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- 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/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
Abstract
本发明提供一种基于CICQ的调度方法、装置及电子设备,属于计算机技术领域。所述方法包括获取第一有效队列的第一缓存队列长度和第一队列服务等待时间,第二有效队列的第二缓存队列长度和第二队列服务等待时间;将第一缓存队列长度和第一队列服务等待时间的第一差值,与第二缓存队列长度和第二队列服务等待时间的第二差值进行比较;若第一差值小于第二差值,则将第一有效队列的第一信元发送至第一交叉点缓存;将第一队列服务等待时间设置为0,且将第一有效队列的第一优先级指针进行移动;将第一信元发送至第一输出端进行输出,且在第一有效队列的时隙末将第一优先级指针进行移动。本发明达到提高调度算法性能,能够避免出现LQF‑RR饿死的情况的技术效果。
Description
技术领域
本发明属于计算机技术领域,特别涉及一种基于CICQ的调度方法、装置及电子设备。
背景技术
计算机网络规模的日益扩大,操作系统管理了系统的有限资源,当有多个进程(或多个进程发出的请求)要使用这些资源时,因为资源的有限性,必须按照一定的原则选择进程(请求)来占用资源。通过调度来控制资源使用者的数量,选取资源使用者许可占用资源或占用资源。
目前,对于现有的调度算法中,LQF-RR在任何通信模式下可以实现相对更高的吞吐率和延迟性能,但由于总是优先服务队列长度最长的VOQ,占用程度较低的VOQ将受到很差的服务公平性,甚至永久性队列饿死。这样使得现有调度算法的性能低效,容易出现LQF-RR饿死的情况。
综上所述,在现有技术中,存在着调度算法的性能低效,容易出现LQF-RR饿死的情况的技术问题。
发明内容
本发明所要解决的技术问题是现有的调度算法的性能低效,容易出现LQF-RR饿死的情况的技术问题。
为解决上述技术问题,本发明提供了一种基于CICQ的调度方法,所述方法包括获取第一有效队列的第一缓存队列长度和第一队列服务等待时间,以及第二有效队列的第二缓存队列长度和第二队列服务等待时间;依据所述第一缓存队列长度和所述第一队列服务等待时间,以及所述第二缓存队列长度和所述第二队列服务等待时间,将所述第一缓存队列长度和所述第一队列服务等待时间的第一差值,与所述第二缓存队列长度和所述第二队列服务等待时间的第二差值进行比较;若所述第一差值小于所述第二差值,则将所述第一有效队列的第一信元发送至第一交叉点缓存;将所述第一队列服务等待时间设置为0,且将所述第一有效队列的第一优先级指针进行移动;依据所述第一交叉点缓存,将所述第一信元发送至第一输出端进行输出,且在所述第一有效队列的时隙末将所述第一优先级指针进行移动,以对所述第一有效队列进行服务。
进一步地,所述获取第一有效队列的第一缓存队列长度,以及第二有效队列的第二缓存队列长度包括在时隙中,从最高优先级指针的位置开始,获取所述第一有效队列和所述第二有效队列;使得所述第一有效队列对应所述第一缓存队列长度,所述第二有效队列对应所述第二缓存队列长度。
进一步地,所述依据所述第一缓存队列长度和所述第一队列服务等待时间,以及所述第二缓存队列长度和所述第二队列服务等待时间,将所述第一缓存队列长度和所述第一队列服务等待时间的第一差值,与所述第二缓存队列长度和所述第二队列服务等待时间的第一差值进行比较之后还包括若所述第一差值大于所述第二差值,则将所述第二有效队列的第二信元发送至第二交叉点缓存。
进一步地,将所述第二队列服务等待时间设置为0,且将所述第二有效队列的第二优先级指针进行移动。
依据本发明的又一个方面,本发明还提供一种基于CICQ的调度装置,所述装置包括有效队列获取模块,所述有效队列获取模块用于获取第一有效队列的第一缓存队列长度和第一队列服务等待时间,以及第二有效队列的第二缓存队列长度和第二队列服务等待时间;判断分析模块,所述判断分析模块用于依据所述第一缓存队列长度和所述第一队列服务等待时间,以及所述第二缓存队列长度和所述第二队列服务等待时间,将所述第一缓存队列长度和所述第一队列服务等待时间的第一差值,与所述第二缓存队列长度和所述第二队列服务等待时间的第二差值进行比较;信元输送模块,所述信元输送模块用于若所述第一差值小于所述第二差值,则将所述第一有效队列的第一信元发送至第一交叉点缓存;第一指针移动模块,所述第一指针移动模块用于将所述第一队列服务等待时间设置为0,且将所述第一有效队列的第一优先级指针进行移动;第二指针移动模块,所述第二指针移动模块用于依据所述第一交叉点缓存,将所述第一信元发送至第一输出端进行输出,且在所述第一有效队列的时隙末将所述第一优先级指针进行移动,以对所述第一有效队列进行服务。
进一步地,所述装置还包括队列对应模块,所述队列对应模块用于在时隙中,从最高优先级指针的位置开始,获取所述第一有效队列和所述第二有效队列;使得所述第一有效队列对应所述第一缓存队列长度,所述第二有效队列对应所述第二缓存队列长度。
进一步地,所述装置还包括信元发送模块,所述信元发送模块用于若所述第一差值大于所述第二差值,则将所述第二有效队列的第二信元发送至第二交叉点缓存。
进一步地,所述装置还包括时间设置模块,所述时间设置模块用于将所述第二队列服务等待时间设置为0,且将所述第二有效队列的第二优先级指针进行移动。
依据本发明的又一个方面,本发明还提供一种基于CICQ的调度的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:获取第一有效队列的第一缓存队列长度和第一队列服务等待时间,以及第二有效队列的第二缓存队列长度和第二队列服务等待时间;依据所述第一缓存队列长度和所述第一队列服务等待时间,以及所述第二缓存队列长度和所述第二队列服务等待时间,将所述第一缓存队列长度和所述第一队列服务等待时间的第一差值,与所述第二缓存队列长度和所述第二队列服务等待时间的第二差值进行比较;若所述第一差值小于所述第二差值,则将所述第一有效队列的第一信元发送至第一交叉点缓存;将所述第一队列服务等待时间设置为0,且将所述第一有效队列的第一优先级指针进行移动;依据所述第一交叉点缓存,将所述第一信元发送至第一输出端进行输出,且在所述第一有效队列的时隙末将所述第一优先级指针进行移动,以对所述第一有效队列进行服务。
依据本发明的又一个方面,本发明还提供一种基于CICQ的调度的计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤获取第一有效队列的第一缓存队列长度和第一队列服务等待时间,以及第二有效队列的第二缓存队列长度和第二队列服务等待时间;依据所述第一缓存队列长度和所述第一队列服务等待时间,以及所述第二缓存队列长度和所述第二队列服务等待时间,将所述第一缓存队列长度和所述第一队列服务等待时间的第一差值,与所述第二缓存队列长度和所述第二队列服务等待时间的第二差值进行比较;若所述第一差值小于所述第二差值,则将所述第一有效队列的第一信元发送至第一交叉点缓存;将所述第一队列服务等待时间设置为0,且将所述第一有效队列的第一优先级指针进行移动;依据所述第一交叉点缓存,将所述第一信元发送至第一输出端进行输出,且在所述第一有效队列的时隙末将所述第一优先级指针进行移动,以对所述第一有效队列进行服务。
有益效果:
本发明提供一种基于CICQ的调度方法,通过获取第一有效队列的第一缓存队列长度和第一队列服务等待时间,以及第二有效队列的第二缓存队列长度和第二队列服务等待时间之后,将第一缓存队列长度和第一队列服务等待时间的第一差值,与第二缓存队列长度和第二队列服务等待时间的第一差值进行比较。如果第一差值小于所述第二差值,则将第一有效队列的第一信元发送到第一交叉点缓存,再将第一队列服务等待时间设置为0,并且对第一有效队列的第一优先级指针进行移动。然后将第一信元发送到第一输出端进行输出,并且再在第一有效队列的时隙末,将第一优先级指针进行移动,继而对第一有效队列进行有效服务,保证良好的服务公平性。从而达到提高调度算法的性能,能够避免出现LQF-RR饿死的情况的技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于CICQ的调度方法流程图;
图2为本发明实施例提供的一种基于CICQ的调度的装置结构图;
图3为本发明实施例提供的一种基于CICQ的调度的电子设备的结构图;
图4为本发明实施例提供的一种基于CICQ的调度的计算机可读存储介质的结构图。
具体实施方式
本发明公开了一种基于CICQ的调度方法,通过获取第一有效队列的第一缓存队列长度和第一队列服务等待时间,以及第二有效队列的第二缓存队列长度和第二队列服务等待时间之后,将第一缓存队列长度和第一队列服务等待时间的第一差值,与第二缓存队列长度和第二队列服务等待时间的第一差值进行比较。如果第一差值小于所述第二差值,则将第一有效队列的第一信元发送到第一交叉点缓存,再将第一队列服务等待时间设置为0,并且对第一有效队列的第一优先级指针进行移动。然后将第一信元发送到第一输出端进行输出,并且再在第一有效队列的时隙末,将第一优先级指针进行移动,继而对第一有效队列进行有效服务,保证良好的服务公平性。从而达到提高调度算法的性能,能够避免出现LQF-RR饿死的情况的技术效果。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围;其中本实施中所涉及的“和/或”关键词,表示和、或两种情况,换句话说,本发明实施例所提及的A和/或B,表示了A和B、A或B两种情况,描述了A与B所存在的三种状态,如A和/或B,表示:只包括A不包括B;只包括B不包括A;包括A与B。
为了对本发明实施例提供的一种基于CICQ的调度方法进行详细的说明,首先对本发明实施例中所涉及的技术名词做如下解释说明:
时隙Tn:一个时隙是指以线速率发送一个信元所需的固定时间。
有效的VOQi,j(EVOQ)可以是指若VOQi,j为非空且其对应交叉点缓存CBi,j为非满,则称VOQi,j为有效EVOQ。
有效交叉点缓存(ECB)可以是指若交叉点缓存CBi,j为非空,则称其为有效ECB。
T(i,j)(n)可以是指自上次服务开始直到当前时隙n,连续失去服务机会的VOQi,j队列的服务等待时间。
实施例一
请参见图1,图1是本发明实施例提供的一种基于CICQ的调度方法流程图。本发明实施例提供一种基于CICQ的调度方法,所述方法包括:
步骤S110,获取第一有效队列的第一缓存队列长度和第一队列服务等待时间,以及第二有效队列的第二缓存队列长度和第二队列服务等待时间。
可以通过在时隙中,从最高优先级指针的位置开始,获取所述第一有效队列和所述第二有效队列;使得所述第一有效队列对应所述第一缓存队列长度,所述第二有效队列对应所述第二缓存队列长度。
具体而言,第一有效队列可以是指对于每个输入端i(0≤i≤N-1),在每个时隙n中,第一个有效VOQ队列EVOQj,a;第二有效队列可以是指对于每个输入端i(0≤i≤N-1),第一个EVOQj,b。第一缓存队列长度可以是指最小的缓存队列长度minCBj,a,第二缓存队列长度可以是指最大的队列长度maxCBj,b。
步骤S120,依据所述第一缓存队列长度和所述第一队列服务等待时间,以及所述第二缓存队列长度和所述第二队列服务等待时间,将所述第一缓存队列长度和所述第一队列服务等待时间的第一差值,与所述第二缓存队列长度和所述第二队列服务等待时间的第二差值进行比较。
如果所述第一差值大于所述第二差值,则将所述第二有效队列的第二信元发送至第二交叉点缓存。将所述第二队列服务等待时间设置为0,并且将所述第二有效队列的第二优先级指针进行移动。依据所述第二交叉点缓存,将所述第二信元发送至第二输出端进行输出,并且在所述第二有效队列的时隙末将所述第二优先级指针进行移动。可以将所述第一有效队列的服务等待时间设置为1。可以将所述第一优先级指针的位置保持不变。
具体而言,在上述步骤S110,获取第一有效队列的第一缓存队列长度和第一队列服务等待时间,以及第二有效队列的第二缓存队列长度和第二队列服务等待时间之后,对第一步选中的两个有效VOQ队列进行权重信息比较,即将队列EVOQj,a对应的CBi,a(n)以及队列服务等待时间CBi,a(n)-Ti,a(n)的差值与队列EVOQi,b对应的CBi,b(n)以及队列服务等待时间Ti,b(n)差值CBi,b(n)-Ti,b(n)进行比较。如果CBi,a(n)-Ti,a(n)>CBi,b(n)-Ti,b(n),则对EVOQi,b进行服务,将队首信元发送到交叉点缓存CBi,b(n)。
步骤S130,若所述第一差值小于所述第二差值,则将所述第一有效队列的第一信元发送至第一交叉点缓存。
具体而言,在上述步骤S120中,对第一差值和第二差值进行比较后,如果第一差值小于所述第二差值,即CBi,a(n)-Ti,a(n)<CBi,b(n)-Ti,b(n),则将优先队列EVOQj,a,将其队首信元发送到交叉点缓存CBi,a(n)。
步骤S140,将所述第一队列服务等待时间设置为0,且将所述第一有效队列的第一优先级指针进行移动。可以将所述第二有效队列的服务等待时间设置为1。
具体而言,可以在时隙n的末尾,更新每个VOQi,jj(0≤j≤N-1)的服务等待时间T(i,j)(n)和最高优先级指针的位置。如果在该时隙内VOQi,j得到信元服务,则设置T(i,j)(n)=0,并且将最高优先级指针移到(j+1)%(mod N)的位置。
步骤S150,依据所述第一交叉点缓存,将所述第一信元发送至第一输出端进行输出,且在所述第一有效队列的时隙末将所述第一优先级指针进行移动,以对所述第一有效队列进行服务。可以将所述第二优先级指针的位置保持不变。
具体而言,对于每个输出端j(0≤j≤N-1),可以在每个时隙n中,从最高优先级指针的当前位置开始,选择第一个有效交叉点缓存ECBi,j。
如果发现任一个ECBi,j,则可以将其队首信元发送到输出端j,并且在时隙末将最高优先级指针移到(i+1)%(mod N)的位置。如果没有发现任一个ECBi,j,则可以使得最高优先级指针的位置保持不变。
本发明提供一种基于CICQ的调度方法是基于等待时间最长和最小缓存权重的最公平队列优先的CICQ调度算法,可以命名为MFQF_RR(The Most Fair Queue First)。MFQF的目的是改善现有调度算法的性能低效问题,以及解决LQF-RR存在饿死的情况。为了克服服务公平性差的问题,同时在各种允许业务流量模式保持出色的延迟性能,MFQF_RR利用输入VOQ的队列对应交叉缓存的占用程度和服务等待时间的组合权重信息进行有效的调度决策。输入调度过程中优先组合权重最大的VOQ,也就是说最优先的队列将获得优先服务。这样,具有占有缓存较低占用且服务等待时间更长的VOQ将会得到有效服务,能够保证良好的服务公平性。
尤其需要注意的是本发明提供一种基于CICQ的调度方法是在输入端基于最公平队列优先(MFQF)的仲裁策略,在输出端基于最长内部缓存队列优先的策略。即本发明提供一种基于CICQ的调度方法可以包括输入调度阶段和输出调度阶段,为了对输入调度阶段和输出调度阶段进行详细说明,现提供以下两个实施方式进行详细解释:
第一种实施方式,在输入调度阶段。对于每个输入端i(0≤i≤N-1),在每个时隙n中,首先从最高优先级指针的位置开始,分别选择第一个有效VOQ队列EVOQj,a和第一个EVOQj,b,使得EVOQj,a对应为最小的缓存队列长度minCBj,a,同时EVOQj,b对应最大的队列长度maxCBj,b。然后对第一步选中的两个有效VOQ队列进行权重信息比较,即将队列EVOQj,a对应的队列长度CBi,a(n)以及队列服务等待时间CBi,a(n)-Ti,a(n)的差值,与队列EVOQi,b对应的队列长度CBi,b(n)以及队列服务等待时间Ti,b(n)差值CBi,b(n)-Ti,b(n)进行比较。根据比较的情况,如果CBi,a(n)-Ti,a(n)<CBi,b(n)-Ti,b(n),则将优先队列EVOQj,a,将其队首信元发送到交叉点缓存CBi,a(n);如果CBi,a(n)-Ti,a(n)>CBi,b(n)-Ti,b(n),则对EVOQi,b进行服务,将队首信元发送到交叉点缓存CBi,b(n)中。其次,在时隙n的末尾,更新每个VOQi,jj(0≤j≤N-1)的服务等待时间T(i,j)(n)和最高优先级指针的位置。如果在该时隙内VOQi,j得到信元服务,则设置T(i,j)(n)=0,并且将最高优先级指针移到(j+1)%(modN)的位置。如果在该时隙内VOQi,j未得到信元服务,则设置T(i,j)(n)=T(i,j)(n)+1。
第二种实施方式,在输出调度阶段。对于每个输出端j(0≤j≤N-1),可以在每个时隙n中,从最高优先级指针的当前位置开始,选择第一个有效交叉点缓存ECBi,j。如果发现任一个ECBi,j,则将其队首信元发送到输出端j,并在时隙末将最高优先级指针移到(i+1)%(modN)的位置。如果未发现任一个ECBi,j,最高优先级指针的位置保持不变。
在上述输入调度阶段和输出调度阶段。输入调度MFQF,根据内部缓存的队列长度CBi,j(n)、服务等待时间Ti,j(n)的组合权重信息来执行仲裁。MFQF将优先权给予组合权重为最小的有效VOQ,以保持良好的延迟性能,并且相对于LQF_RR算法改善服务不公平性的问题。这样可以实现简单性和交叉点缓存之间的公平性,达到输出调度使用类似于内部缓存最大以及RR轮询的公平轮询仲裁机制的技术效果。
本发明提供一种基于CICQ的调度方法,通过获取第一有效队列的第一缓存队列长度和第一队列服务等待时间,以及第二有效队列的第二缓存队列长度和第二队列服务等待时间之后,将第一缓存队列长度和第一队列服务等待时间的第一差值,与第二缓存队列长度和第二队列服务等待时间的第一差值进行比较。如果第一差值小于所述第二差值,则将第一有效队列的第一信元发送到第一交叉点缓存,再将第一队列服务等待时间设置为0,并且对第一有效队列的第一优先级指针进行移动。然后将第一信元发送到第一输出端进行输出,并且再在第一有效队列的时隙末,将第一优先级指针进行移动,继而对第一有效队列进行有效服务,保证良好的服务公平性。从而达到提高调度算法的性能,能够避免出现LQF-RR饿死的情况的技术效果。
基于同一发明构思,本申请提供了与实施例一所对应的一种基于CICQ的调度的装置,详见实施例二。
实施例二
如图2所示,图2是本发明实施例提供的一种基于CICQ的调度的装置结构图。本发明实施例二提供了一种基于CICQ的调度的装置,所述装置包括:
有效队列获取模块,所述有效队列获取模块用于获取第一有效队列的第一缓存队列长度和第一队列服务等待时间,以及第二有效队列的第二缓存队列长度和第二队列服务等待时间;
判断分析模块,所述判断分析模块用于依据所述第一缓存队列长度和所述第一队列服务等待时间,以及所述第二缓存队列长度和所述第二队列服务等待时间,将所述第一缓存队列长度和所述第一队列服务等待时间的第一差值,与所述第二缓存队列长度和所述第二队列服务等待时间的第二差值进行比较;
信元输送模块,所述信元输送模块用于若所述第一差值小于所述第二差值,则将所述第一有效队列的第一信元发送至第一交叉点缓存;
第一指针移动模块,所述第一指针移动模块用于将所述第一队列服务等待时间设置为0,且将所述第一有效队列的第一优先级指针进行移动;
第二指针移动模块,所述第二指针移动模块用于依据所述第一交叉点缓存,将所述第一信元发送至第一输出端进行输出,且在所述第一有效队列的时隙末将所述第一优先级指针进行移动,以对所述第一有效队列进行服务。
所述装置还包括:
本发明实施例二提供了一种基于CICQ的调度的装置还可以包括:队列对应模块,所述队列对应模块用于在时隙中,从最高优先级指针的位置开始,获取所述第一有效队列和所述第二有效队列;使得所述第一有效队列对应所述第一缓存队列长度,所述第二有效队列对应所述第二缓存队列长度。
信元发送模块,所述信元发送模块用于若所述第一差值大于所述第二差值,则将所述第二有效队列的第二信元发送至第二交叉点缓存。
时间设置模块,所述时间设置模块用于将所述第二队列服务等待时间设置为0,且将所述第二有效队列的第二优先级指针进行移动。
本发明提供一种基于CICQ的调度的装置,通过获取第一有效队列的第一缓存队列长度和第一队列服务等待时间,以及第二有效队列的第二缓存队列长度和第二队列服务等待时间之后,将第一缓存队列长度和第一队列服务等待时间的第一差值,与第二缓存队列长度和第二队列服务等待时间的第一差值进行比较。如果第一差值小于所述第二差值,则将第一有效队列的第一信元发送到第一交叉点缓存,再将第一队列服务等待时间设置为0,并且对第一有效队列的第一优先级指针进行移动。然后将第一信元发送到第一输出端进行输出,并且再在第一有效队列的时隙末,将第一优先级指针进行移动,继而对第一有效队列进行有效服务,保证良好的服务公平性。从而达到提高调度算法的性能,能够避免出现LQF-RR饿死的情况的技术效果。
基于同一发明构思,本申请提供了与实施例一所对应的一种基于CICQ的调度的电子设备,详见实施例三。
实施例三
如图3所示,图3是本发明实施例提供的一种基于CICQ的调度的电子设备的结构图。本发明实施例三提供了一种基于CICQ的调度的电子设备,包括存储器310、处理器320及存储在存储器310上并可在处理器上运行的计算机程序311,所述处理器320执行所述程序时实现以下步骤:
获取第一有效队列的第一缓存队列长度和第一队列服务等待时间,以及第二有效队列的第二缓存队列长度和第二队列服务等待时间;
依据所述第一缓存队列长度和所述第一队列服务等待时间,以及所述第二缓存队列长度和所述第二队列服务等待时间,将所述第一缓存队列长度和所述第一队列服务等待时间的第一差值,与所述第二缓存队列长度和所述第二队列服务等待时间的第二差值进行比较;
若所述第一差值小于所述第二差值,则将所述第一有效队列的第一信元发送至第一交叉点缓存;
将所述第一队列服务等待时间设置为0,且将所述第一有效队列的第一优先级指针进行移动;
依据所述第一交叉点缓存,将所述第一信元发送至第一输出端进行输出,且在所述第一有效队列的时隙末将所述第一优先级指针进行移动,以对所述第一有效队列进行服务。
本发明提供一种基于CICQ的调度的电子设备,通过获取第一有效队列的第一缓存队列长度和第一队列服务等待时间,以及第二有效队列的第二缓存队列长度和第二队列服务等待时间之后,将第一缓存队列长度和第一队列服务等待时间的第一差值,与第二缓存队列长度和第二队列服务等待时间的第一差值进行比较。如果第一差值小于所述第二差值,则将第一有效队列的第一信元发送到第一交叉点缓存,再将第一队列服务等待时间设置为0,并且对第一有效队列的第一优先级指针进行移动。然后将第一信元发送到第一输出端进行输出,并且再在第一有效队列的时隙末,将第一优先级指针进行移动,继而对第一有效队列进行有效服务,保证良好的服务公平性。从而达到提高调度算法的性能,能够避免出现LQF-RR饿死的情况的技术效果。
基于同一发明构思,本申请提供了与实施例一所对应的一种基于CICQ的调度的计算机可读存储介质400,详见实施例四。
实施例四
如图4所示,图4是本发明实施例提供的一种基于CICQ的调度的计算机可读存储介质400的结构图。本发明实施例四提供了一种基于CICQ的调度的计算机可读存储介质400,其上存储有计算机程序411,该程序被处理器执行时实现以下步骤:
获取第一有效队列的第一缓存队列长度和第一队列服务等待时间,以及第二有效队列的第二缓存队列长度和第二队列服务等待时间;
依据所述第一缓存队列长度和所述第一队列服务等待时间,以及所述第二缓存队列长度和所述第二队列服务等待时间,将所述第一缓存队列长度和所述第一队列服务等待时间的第一差值,与所述第二缓存队列长度和所述第二队列服务等待时间的第二差值进行比较;
若所述第一差值小于所述第二差值,则将所述第一有效队列的第一信元发送至第一交叉点缓存;
将所述第一队列服务等待时间设置为0,且将所述第一有效队列的第一优先级指针进行移动;
依据所述第一交叉点缓存,将所述第一信元发送至第一输出端进行输出,且在所述第一有效队列的时隙末将所述第一优先级指针进行移动,以对所述第一有效队列进行服务。
本发明提供一种基于CICQ的调度的计算机可读存储介质400,通过获取第一有效队列的第一缓存队列长度和第一队列服务等待时间,以及第二有效队列的第二缓存队列长度和第二队列服务等待时间之后,将第一缓存队列长度和第一队列服务等待时间的第一差值,与第二缓存队列长度和第二队列服务等待时间的第一差值进行比较。如果第一差值小于所述第二差值,则将第一有效队列的第一信元发送到第一交叉点缓存,再将第一队列服务等待时间设置为0,并且对第一有效队列的第一优先级指针进行移动。然后将第一信元发送到第一输出端进行输出,并且再在第一有效队列的时隙末,将第一优先级指针进行移动,继而对第一有效队列进行有效服务,保证良好的服务公平性。从而达到提高调度算法的性能,能够避免出现LQF-RR饿死的情况的技术效果。
最后所应说明的是,以上具体实施方式仅用以说明本发明的技术方案而非限制,尽管参照实例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种基于CICQ的调度方法,其特征在于,所述方法包括:
获取第一有效队列的第一缓存队列长度和第一队列服务等待时间,以及第二有效队列的第二缓存队列长度和第二队列服务等待时间;
依据所述第一缓存队列长度和所述第一队列服务等待时间,以及所述第二缓存队列长度和所述第二队列服务等待时间,将所述第一缓存队列长度和所述第一队列服务等待时间的第一差值,与所述第二缓存队列长度和所述第二队列服务等待时间的第二差值进行比较;
若所述第一差值小于所述第二差值,则将所述第一有效队列的第一信元发送至第一交叉点缓存;
将所述第一队列服务等待时间设置为0,且将所述第一有效队列的第一优先级指针进行移动;
依据所述第一交叉点缓存,将所述第一信元发送至第一输出端进行输出,且在所述第一有效队列的时隙末将所述第一优先级指针进行移动,以对所述第一有效队列进行服务。
2.依据权利要求1所述的方法,其特征在于,所述获取第一有效队列的第一缓存队列长度,以及第二有效队列的第二缓存队列长度包括:
在时隙中,从最高优先级指针的位置开始,获取所述第一有效队列和所述第二有效队列;
使得所述第一有效队列对应所述第一缓存队列长度,所述第二有效队列对应所述第二缓存队列长度。
3.依据权利要求2所述的方法,其特征在于,所述依据所述第一缓存队列长度和所述第一队列服务等待时间,以及所述第二缓存队列长度和所述第二队列服务等待时间,将所述第一缓存队列长度和所述第一队列服务等待时间的第一差值,与所述第二缓存队列长度和所述第二队列服务等待时间的第一差值进行比较之后还包括:
若所述第一差值大于所述第二差值,则将所述第二有效队列的第二信元发送至第二交叉点缓存。
4.依据权利要求3所述的方法,其特征在于,所述方法包括:
将所述第二队列服务等待时间设置为0,且将所述第二有效队列的第二优先级指针进行移动。
5.一种基于CICQ的调度装置,其特征在于,所述装置包括:
有效队列获取模块,所述有效队列获取模块用于获取第一有效队列的第一缓存队列长度和第一队列服务等待时间,以及第二有效队列的第二缓存队列长度和第二队列服务等待时间;
判断分析模块,所述判断分析模块用于依据所述第一缓存队列长度和所述第一队列服务等待时间,以及所述第二缓存队列长度和所述第二队列服务等待时间,将所述第一缓存队列长度和所述第一队列服务等待时间的第一差值,与所述第二缓存队列长度和所述第二队列服务等待时间的第二差值进行比较;
信元输送模块,所述信元输送模块用于若所述第一差值小于所述第二差值,则将所述第一有效队列的第一信元发送至第一交叉点缓存;
第一指针移动模块,所述第一指针移动模块用于将所述第一队列服务等待时间设置为0,且将所述第一有效队列的第一优先级指针进行移动;
第二指针移动模块,所述第二指针移动模块用于依据所述第一交叉点缓存,将所述第一信元发送至第一输出端进行输出,且在所述第一有效队列的时隙末将所述第一优先级指针进行移动,以对所述第一有效队列进行服务。
6.依据权利要求5所述的装置,其特征在于,所述装置还包括:
队列对应模块,所述队列对应模块用于在时隙中,从最高优先级指针的位置开始,获取所述第一有效队列和所述第二有效队列;使得所述第一有效队列对应所述第一缓存队列长度,所述第二有效队列对应所述第二缓存队列长度。
7.依据权利要求6所述的装置,其特征在于,所述装置还包括:
信元发送模块,所述信元发送模块用于若所述第一差值大于所述第二差值,则将所述第二有效队列的第二信元发送至第二交叉点缓存。
8.依据权利要求7所述的装置,其特征在于,所述装置还包括:
时间设置模块,所述时间设置模块用于将所述第二队列服务等待时间设置为0,且将所述第二有效队列的第二优先级指针进行移动。
9.一种基于CICQ的调度的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:
获取第一有效队列的第一缓存队列长度和第一队列服务等待时间,以及第二有效队列的第二缓存队列长度和第二队列服务等待时间;
依据所述第一缓存队列长度和所述第一队列服务等待时间,以及所述第二缓存队列长度和所述第二队列服务等待时间,将所述第一缓存队列长度和所述第一队列服务等待时间的第一差值,与所述第二缓存队列长度和所述第二队列服务等待时间的第二差值进行比较;
若所述第一差值小于所述第二差值,则将所述第一有效队列的第一信元发送至第一交叉点缓存;
将所述第一队列服务等待时间设置为0,且将所述第一有效队列的第一优先级指针进行移动;
依据所述第一交叉点缓存,将所述第一信元发送至第一输出端进行输出,且在所述第一有效队列的时隙末将所述第一优先级指针进行移动,以对所述第一有效队列进行服务。
10.一种基于CICQ的调度的计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现以下步骤:
获取第一有效队列的第一缓存队列长度和第一队列服务等待时间,以及第二有效队列的第二缓存队列长度和第二队列服务等待时间;
依据所述第一缓存队列长度和所述第一队列服务等待时间,以及所述第二缓存队列长度和所述第二队列服务等待时间,将所述第一缓存队列长度和所述第一队列服务等待时间的第一差值,与所述第二缓存队列长度和所述第二队列服务等待时间的第二差值进行比较;
若所述第一差值小于所述第二差值,则将所述第一有效队列的第一信元发送至第一交叉点缓存;
将所述第一队列服务等待时间设置为0,且将所述第一有效队列的第一优先级指针进行移动;
依据所述第一交叉点缓存,将所述第一信元发送至第一输出端进行输出,且在所述第一有效队列的时隙末将所述第一优先级指针进行移动,以对所述第一有效队列进行服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810547109.5A CN108768887B (zh) | 2018-05-31 | 2018-05-31 | 一种基于cicq的调度方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810547109.5A CN108768887B (zh) | 2018-05-31 | 2018-05-31 | 一种基于cicq的调度方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108768887A true CN108768887A (zh) | 2018-11-06 |
CN108768887B CN108768887B (zh) | 2021-09-28 |
Family
ID=64000828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810547109.5A Active CN108768887B (zh) | 2018-05-31 | 2018-05-31 | 一种基于cicq的调度方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108768887B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000316004A (ja) * | 1999-03-01 | 2000-11-14 | Nippon Telegr & Teleph Corp <Ntt> | 帯域共用回路 |
CN101695051A (zh) * | 2009-10-21 | 2010-04-14 | 中国人民解放军理工大学 | 一种用于缓冲Crossbar的队列长度均衡调度方法 |
CN105939253A (zh) * | 2016-04-14 | 2016-09-14 | 江汉大学 | 一种工业无线网关装置及其协议转换方法 |
CN108009653A (zh) * | 2017-08-16 | 2018-05-08 | 北京嘀嘀无限科技发展有限公司 | 订单管理方法、装置、服务器和计算机可读存储介质 |
-
2018
- 2018-05-31 CN CN201810547109.5A patent/CN108768887B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000316004A (ja) * | 1999-03-01 | 2000-11-14 | Nippon Telegr & Teleph Corp <Ntt> | 帯域共用回路 |
CN101695051A (zh) * | 2009-10-21 | 2010-04-14 | 中国人民解放军理工大学 | 一种用于缓冲Crossbar的队列长度均衡调度方法 |
CN105939253A (zh) * | 2016-04-14 | 2016-09-14 | 江汉大学 | 一种工业无线网关装置及其协议转换方法 |
CN108009653A (zh) * | 2017-08-16 | 2018-05-08 | 北京嘀嘀无限科技发展有限公司 | 订单管理方法、装置、服务器和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108768887B (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180225156A1 (en) | Task allocation method, task allocation apparatus, and network-on-chip | |
EP1774714B1 (en) | Hierarchal scheduler with multiple scheduling lanes | |
CN101557348B (zh) | 一种基于令牌桶的报文转发方法及装置 | |
CN106612236B (zh) | 众核网络处理器及其微引擎的报文调度方法、系统 | |
CN107682135A (zh) | 一种基于noma的网络切片自适应虚拟资源分配方法 | |
US8364874B1 (en) | Prioritized polling for virtual network interfaces | |
CN112996116B (zh) | 一种保障电力时延敏感业务质量的资源分配方法及系统 | |
US8295305B2 (en) | Dual scheduling of work from multiple sources to multiple sinks using source and sink attributes to achieve fairness and processing efficiency | |
AU2015354703A1 (en) | Providing shared cache memory allocation control in shared cache memory systems | |
CN106330765A (zh) | 缓存分配方法及装置 | |
CN107025184B (zh) | 一种数据管理方法及装置 | |
CN107483405B (zh) | 一种支持变长信元的调度方法和调度系统 | |
CN106325996B (zh) | 一种gpu资源的分配方法及系统 | |
CN112799861A (zh) | 一种多核架构下流量限速无锁并发实现的方法 | |
US8018958B1 (en) | System and method for fair shared de-queue and drop arbitration in a buffer | |
CN101719869B (zh) | 一种采用关联令牌桶算法动态分配带宽的方法 | |
CN105824769A (zh) | 一种可配置的动态时间片轮转调度算法 | |
CN108768887A (zh) | 一种基于cicq的调度方法、装置及电子设备 | |
US20080107021A1 (en) | Parallel wrapped wave-front arbiter | |
CN111638986A (zh) | 一种QoS队列调度方法、装置、系统及可读存储介质 | |
Yi et al. | Enabling Linux network support of hardware multiqueue devices | |
US9282051B2 (en) | Credit-based resource allocator circuit | |
CN110661731B (zh) | 一种报文处理方法及其装置 | |
CN113014465A (zh) | 一种基于服务质量特性的总线传输接口系统及设计方法 | |
CN109379296A (zh) | 一种芯片实现上cpu协议报文层次化流量控制的方法及装置 |
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 |