CN111464461B - 用于交换机的优先级调度方法和装置 - Google Patents
用于交换机的优先级调度方法和装置 Download PDFInfo
- Publication number
- CN111464461B CN111464461B CN201910059909.7A CN201910059909A CN111464461B CN 111464461 B CN111464461 B CN 111464461B CN 201910059909 A CN201910059909 A CN 201910059909A CN 111464461 B CN111464461 B CN 111464461B
- Authority
- CN
- China
- Prior art keywords
- data
- request
- priority
- data requests
- output port
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000012216 screening Methods 0.000 claims abstract description 13
- 238000010586 diagram Methods 0.000 description 10
- 239000002184 metal Substances 0.000 description 6
- 239000000306 component Substances 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000037351 starvation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种用于交换机的优先级调度方法和装置,其中该优先级调度方法包括:从多个输入端口的等待队列中的有效数据请求中获取多个数据请求,每个所述数据请求携带有请求优先级、输入端口标识和输出端口标识;基于所述输出端口标识与所述请求优先级对所述多个数据请求进筛选,得到待调度数据请求;将所述待调度数据请求的输入端口标识和输出端口标识进行匹配,生成端口匹配数据,依据所述端口匹配数据对所述待调度数据请求进行调度。
Description
技术领域
本发明涉及通信网络领域,具体而言,涉及一种用于交换机的优先级调度方法和装置。
背景技术
工业以太网通过在多个优先级提供差分服务质量(QoS),集成了标准以太网和工业控制网络的功能。优先级调度器通常是QoS的工业以太网交换机的核心组件。
由于各种特定应用的约束,传统的专用集成电路(ASIC)不够灵活,不能针对不同的工业场景进行修改和更新。而FPGA可以进行编程和定制,以满足各种工业要求。因此,基于FPGA的开关设计已成为工业以太网最具竞争力的候选解决方案之一。
但是,资源通常成为基于FPGA的工业以太网解决方案的瓶颈。一方面,FPGA中的资源有限。例如,Xilinx Virtex-7 XC7VX485T FPGA只有4.6MB的Block RAM和0.3M的查找表(LUT)。另一方面,仅仅是标准的以太网802.3就足够复杂,更不用说集成PCF和实时消息了。
发明内容
本发明提供一种用于交换机的优先级调度方法和装置,用以克服现有技术中存在的至少一个问题。
根据本说明书实施例的第一方面,提供了一种用于交换机的优先级调度方法,包括:
从多个输入端口的等待队列中的有效数据请求中获取多个数据请求,每个所述数据请求携带有请求优先级、输入端口标识和输出端口标识;
基于所述输出端口标识与所述请求优先级对所述多个数据请求进筛选,得到待调度数据请求;
将所述待调度数据请求的输入端口标识和输出端口标识进行匹配,生成端口匹配数据,依据所述端口匹配数据对所述待调度数据请求进行调度。
可选的,上述优先级调度方法还包括:
基于所述匹配关系的调度结果更新端口状态表以对各个输入端口和输出端口的状态信息进行更新,并基于所述匹配关系的调度结果释放所述待调度数据请求中不匹配的数据请求。
可选的,基于所述输出端口标识与所述请求优先级对所述多个数据请求进筛选包括:
将所述多个数据请求按照其对应的输出端口标识进行排列;以及
在每个所述输出端口标识对应的数据请求条目大于一个时,依据所述请求优先级对大于一个的所述数据请求进行筛选。
可选的,将所述待调度数据请求的输入端口标识和输出端口标识进行匹配包括:
通过非优先级调度器将所述待调度数据请求的输入端口标识和输出端口标识进行端口匹配。
可选的,所述有效数据请求通过以下方式获取:
对于所述等待队列中的每个数据请求,判断该数据请求对应的输入端口的状态和输出端口的状态是否均处于空闲状态;
当该数据请求对应的输入端口的状态和输出端口的状态均处于空闲状态时,则判定该数据请求为有效数据请求。
可选的,所述从多个输入端口的等待队列中的有效数据请求中获取多个数据请求包括:
通过满足有效性判断的所述多个初始数据请求生成多个排队数据请求;
在每一个输入端口中,将所述排队数据请求按照其对应的请求优先级进行排序;以及
依据排序结果,在交换机的每个输入端口中分别提取排队数据请求以生成所述多个数据请求。
根据本说明书实施例的第二方面,还提供一种用于交换机的优先级调度装置,包括:
优先级选择器,被配置为从多个输入端口的等待队列中的有效数据请求中获取多个数据请求,每个所述数据请求携带有请求优先级、输入端口标识和输出端口标识;
请求评估器,被配置为基于所述输出端口标识与所述请求优先级对所述多个数据请求进筛选,得到待调度数据请求;
非优先级调度器,被配置为将所述待调度数据请求的输入端口标识和输出端口标识进行匹配,生成端口匹配数据,依据所述端口匹配数据对所述待调度数据请求进行调度。
可选的,上述优先级调度装置还包括:
反馈器,被配置为基于所述匹配关系的调度结果更新端口状态表以对各个输入端口和输出端口的状态信息进行更新,并基于所述匹配关系的调度结果释放所述待调度数据请求中不匹配的数据请求。
可选的,所述请求评估器包括:
排列模块,被配置为将所述多个数据请求按照其对应的输出端口标识进行排列;
筛选模块,被配置为在每个所述输出端口标识对应的数据请求条目大于一个时,依据所述请求优先级对大于一个的所述数据请求进行筛选。
可选的,所述优先级选择器包括:
状态判断模块,被配置为对于所述等待队列中的每个数据请求,判断该数据请求对应的输入端口的状态和输出端口的状态是否均处于空闲状态;
有效判定模块,被配置为当该数据请求对应的输入端口的状态和输出端口的状态均处于空闲状态时,则判定该数据请求为有效数据请求。
本说明书实施例通过将具有优先级的数据请求变得扁平化并生成没有优先级的请求,从而使非优先级调度方案能够进行优先级调度(非优先级调度方案被转换为优先级调度方案)。由于对这种请求的独占选择,变换后的调度方案将优先选择调度高优先级请求,而逻辑门的实现方式可以降低所需的资源成本,并具有较低功率、较短电路延迟、较高处理速度和较好稳定性等优点,克服了现有技术中存在的基于FPGA的工业以太网解决方案的资源瓶颈问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个实施例的用于交换机的优先级调度方法流程图;
图2为本发明一个实施例的用于交换机的优先级调度装置模块图;
图3为本发明一实施例的逻辑固件图。
图4a、图4b为本发明一实施例在硬件上的逻辑门实现原理图;
图5为本发明一实施例的各个组件之间的数据流图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一个实施例的用于交换机的优先级调度方法流程图;如图1所示,该优先级调度方法包括:
S110,从多个输入端口的等待队列中的有效数据请求中获取多个数据请求,每个所述数据请求携带有请求优先级、输入端口标识和输出端口标识。
一种实现方式中,所述有效数据请求通过以下方式获取:
对于所述等待队列中的每个数据请求,判断该数据请求对应的输入端口的状态和输出端口的状态是否均处于空闲状态;
当该数据请求对应的输入端口的状态和输出端口的状态均处于空闲状态时,则判定该数据请求为有效数据请求。
在具体实现时,所述从多个输入端口的等待队列中的有效数据请求中获取多个数据请求可以包括:
通过满足有效性判断的所述多个初始数据请求生成多个排队数据请求;
在每一个输入端口中,将所述排队数据请求按照其对应的请求优先级进行排序;以及
依据排序结果,在交换机的每个输入端口中分别提取排队数据请求以生成所述多个数据请求。
S120,基于所述输出端口标识与所述请求优先级对所述多个数据请求进筛选,得到待调度数据请求。
一种实现方式中,可选的,基于所述输出端口标识与所述请求优先级对所述多个数据请求进筛选包括:
将所述多个数据请求按照其对应的输出端口标识进行排列;以及
在每个所述输出端口标识对应的数据请求条目大于一个时,依据所述请求优先级对大于一个的所述数据请求进行筛选。
S130,将所述待调度数据请求的输入端口标识和输出端口标识进行匹配,生成端口匹配数据,依据所述端口匹配数据对所述待调度数据请求进行调度。
一种实现方式中,可选的,将所述待调度数据请求的输入端口标识和输出端口标识进行匹配包括:
通过非优先级调度器将所述待调度数据请求的输入端口标识和输出端口标识进行端口匹配。
一种实施方式中,上述优先级调度方法还包括:
基于所述匹配关系的调度结果更新端口状态表以对各个输入端口和输出端口的状态信息进行更新,并基于所述匹配关系的调度结果释放所述待调度数据请求中不匹配的数据请求。
上述实施例通过将具有优先级的数据请求变得扁平化并生成没有优先级的请求,从而使非优先级调度方案能够进行优先级调度(非优先级调度方案被转换为优先级调度方案)。由于对这种请求的独占选择,变换后的调度方案将优先选择调度高优先级请求,而逻辑门的实现方式可以降低所需的资源成本,并具有较低功率、较短电路延迟、较高处理速度和较好稳定性等优点,克服了现有技术中存在的基于FPGA的工业以太网解决方案的资源瓶颈问题。
与上述方法实施例相适应,图2示出了根据本说明书一实施例的用于交换机的优先级调度装置模块图;如图2所示,该优先级调度装置200包括:
优先级选择器210,被配置为从多个输入端口的等待队列中的有效数据请求中获取多个数据请求,每个所述数据请求携带有请求优先级、输入端口标识和输出端口标识;
请求评估器220,被配置为基于所述输出端口标识与所述请求优先级对所述多个数据请求进筛选,得到待调度数据请求;
非优先级调度器230,被配置为将所述待调度数据请求的输入端口标识和输出端口标识进行匹配,生成端口匹配数据,依据所述端口匹配数据对所述待调度数据请求进行调度。
一种实现方式中,上述优先级调度装置还包括:
反馈器,被配置为基于所述匹配关系的调度结果更新端口状态表以对各个输入端口和输出端口的状态信息进行更新,并基于所述匹配关系的调度结果释放所述待调度数据请求中不匹配的数据请求。
一种实现方式中,所述请求评估器包括:
排列模块,被配置为将所述多个数据请求按照其对应的输出端口标识进行排列;
筛选模块,被配置为在每个所述输出端口标识对应的数据请求条目大于一个时,依据所述请求优先级对大于一个的所述数据请求进行筛选。
一种实现方式中,所述优先级选择器包括:
状态判断模块,被配置为对于所述等待队列中的每个数据请求,判断该数据请求对应的输入端口的状态和输出端口的状态是否均处于空闲状态;
有效判定模块,被配置为当该数据请求对应的输入端口的状态和输出端口的状态均处于空闲状态时,则判定该数据请求为有效数据请求。
上述实施例中的资源优化的工业以太网优先级调度技术方案,是一种扁平化的优先级架构,该架构使调度方案可以屏蔽各请求的优先级,由非优先级调度器进行调度;将现在比较流行的非优先级iSLIP调度器转换为资源高效的工业以太网优先级调度器。以下该调度装置的各组件进行详细介绍。
优先级选择器:位于每个输入端口。它从VOQs中的当前有效请求中选择最高优先级请求。对于一个请求,当且仅当它来源的输入端口和它将要输出的端口都空闲(或不忙)时,该请求才有效。
请求评估器:综合优先级选择器的所有请求。当高优先级和低优先级同时请求相同的输出端口时,它过滤低优先级请求。未被过滤的请求被传递到非优先级调度器以进行调度。
非优先级调度器:采用iSLIP调度器,对各个请求进行输入端口到输出端口进行匹配。该非优先级调度器一定是最优的,这意味着它总能找到非优先级请求的最大匹配方案。
反馈器:将来自非优先级调度器的调度结果反馈给每个优先级选择器。优先级选择器更新各个端口的状态(空闲或忙碌)并释放新的不匹配的调度请求。
与现有技术相比,本发明具有下述有益效果:
由于本发明实施例通过模拟布尔代数,便于硬件通过直接翻译实现逻辑门,因此具有方便和易操作性等优点。
由于本发明将经典的非优先级调度器(iSLIP)转换成资源节约的优先级调度器(f-iSLIP),在吞吐量、转发延迟等性能上均优于普通优先级调度器。
下面结合图3-图5对本发明的实现方式进行进一步描述。
图3是本发明一实施例的逻辑固件图。本实施例主要是由优先级选择器、请求评估器、iSLIP非优先级调度器、反馈器四个组件构成。该图表示有N个输入端口,N个输出端口,P个优先级,P、N均为正整数。来自N个输入端口的帧被组织成具有P个优先级的N个VOQ。本实施例将这些帧调度到N个输出端口。我们的解决方案使优先级变得扁平化并生成没有优先级的请求,从而使非优先级调度器能够进行优先级调度(非优先级调度器被转换为优先级调度器)。由于对这种请求的独占选择,变换后的调度器将优先选择调度高优先级请求,同时,迭代地调度低优先级请求。对于每次迭代,我们的框架通过反馈器更新匹配端口的状态(空闲或忙碌),并释放更多未匹配的请求。它的工作原理为:
优先级选择器首先判断所有请求的合法性。对于一个请求,当且仅当它来自的输入端口和它将要输出的端口都空闲(或不忙)时,该请求才有效。优先级选择器在每个输入端口的等待队列中选取优先级最高的请求。接着,请求评估器从全局的视角来评估这些请求,评估的原则为:如果多个合法请求帧请求同一个输出端口,屏蔽优先级较低的请求,保留优先级较高的请求。之后将所有未被屏蔽的请求传输给非优先级调度器iSLIP进行匹配。反馈器将更新已经被匹配的输入端口和输出端口的状态。至此,一次迭代完成。
图4a、图4b是本发明一实施例在硬件上实现的原理图。图中各式模拟了布尔代数,硬件可以通过直接翻译实现逻辑门。下面对本实施例的工作方法作进一步说明:
定义priority[N][P][N]为来自优先级VOQ的优先级请求。如果优先级队列不为空,则存在优先级请求。我们将input-idle[N],output-idle[N]分别定义为输入和输出端口的空闲(非忙)状态,将o-p-r[N][N]定义为请求评估器的处理结果请求。o-p-r[N][N]被提交给非优先级调度程序以进行调度。所有这些变量都是布尔变量。
在优先方调度法中,priority[N][P][N],input-idle[N]和output-idle[N]被视为输入参数,o-p-r[N][N]被视为输出参数。
第一步到第三步为优先级选择器的逻辑门实现:
第一步:对于输入端口i和优先级j,逻辑门e[i][j]表示优先级j不存在于输入端口i中。e[i][j]=1表示输入端口i中优先级为j的VOQ队列为空,j为介于1和P之间的正整数,i为介于1和N之间的正整数。这里用“与”操作可以实现,(“&”和“~”是分别按位AND和NOT运算符)。因此,
第二步:为输入端口i的每个优先级j制作掩码,我们将逻辑门e-mask[i][j]定义为优先级j的掩码。e-mask[i][j]=1表示在输入端口i中没有比j更高的优先级请求。因此,
特别的,当j=P时,e-mask[i][j]=1。
第三步:我们定义逻辑门p-o[i][j][n]为输入端口i到输出端口n的优先级为j的请求状态。当且仅当
输入端口i和输出端口n都空闲,n为介于1和N之间的正整数;
输入端口i到输出端口n的优先级为j的请求存在;
在输入端口i中没有比优先级j更高的请求时,该请求有效。因此,
p-o[i][j][n]=input-idle[i]&output-idle[n]&priority[i][j][n]&e-mask[i][j]
第四步到第七步为请求评估器的逻辑门实现。
第四步:对于优先级j和输出端口n,我们将p-a[j][n]定义为没有优先级为j的请求到输出端口n。p-a[j][n]=1表示所有输入端口的请求中,目标为输出端口n的优先级j的VOQs都为空。因此,
第五步:对于优先级j和输出端口n,我们将p-mask[j][n]定义为优先级为j,目标输出端口为n的请求的掩码。p-mask[j][n]=1表示目标为输出端口n的请求中没有比优先级j更高的请求。因此,
特别的,当j=P时,p-mask[j][n]=1。
第六步:对于输入端口i中的优先级j,如果没有比j优先级更高的请求请求输出端口n,则允许优先级j到输出端口n的请求。这表示为p-r[i][j][n]。从输入端口i到输出n的所有不同优先级的请求p-r[i][j][n]至多有一个真实请求。因此,
p-r[i][j][n]=p-o[i][j][n]&p-mask[j][n]
第七步:经过步骤六之后,将所有从输入端口i到输出端口n的请求表示为opr[i][n],它是从输入端口i到输出端口n的所有优先级请求p-r[i][j][n]的OR运算。
至此,输出了屏蔽优先级的o-p-r真值表,它将传输给非优先级调度器进行调度。
在非优先级调度器构件部分,采用了经典的iSLIP调度器。它是基于最大尺寸匹配的迭代非优先级调度器。为了免于饥饿,它使用旋转优先级仲裁来依次调度每个有效输入和输出,这被称为roundrobin-schedule。每次迭代中的三个步骤在每个输出和输入端口上并行执行。这些步骤描述如下:
第1步:请求。每个未被匹配的输入都会向每个具有排队单元格的输出发送请求。
第2步:授权。如果未被匹配的输出j接收到任何请求,它将从最高优先级元素gj开始,选择在固定的roundrobin调度中出现的那个请求。输出通知每个输入是否已授予其请求。当第一次迭代的第3步中输入i接受输出j时,指向循环调度的最高优先级元素的指针gj递增(模N),直到超出授权输入i的一个位置,即gj=i+1(模N)。
第3步:接受。如果未被匹配的输入i收到一个授权,它将从最高优先级元素开始,接受固定循环调度中下一个出现的授权。如果是第一次迭代,指向循环调度的最高优先级元素的指针ai递增(模N)到超出接受输出j的一个位置,即ai=j+1(模N)。
反馈器从非优先级调度器收集调度结果,并通过将已经匹配的输入和输出端口设置为忙(这些结果转换为两个布尔数组,即input-idle[N],output-idle[N])。当数据传输完成时,匹配的输入和输出端口再次恢复为空闲。两个布尔数组被反馈到每个优先级选择器以释放更多未调度的请求。
图5为本发明一实施例的各个组件之间的数据流图。数据流图如图5中的(a)所示,图中,数据流一次流经优先级选择器210、请求评估器220、非优先级调度器230和反馈器240。如果图4a、图4b中具有相同名称的线路都是物理连接的,f-iSLIP调度器不使用流水线实现,如图5中(b),(流水线是指一次迭代在一个周期内完成。这里,一个周期意味着一个硬件时钟周期,即硬件的工作频率)。为了提高工作频率,f-iSLIP调度器可以实现为四级流水线(cycle_0、cycle_1、cycle_2、cycle_3),每个级别对应于四个组件中的一个,如图5中(c)所示。
本说明书实施例通过将具有优先级的数据请求变得扁平化并生成没有优先级的请求,从而使非优先级调度方案能够进行优先级调度(非优先级调度方案被转换为优先级调度方案)。由于对这种请求的独占选择,变换后的调度方案将优先选择调度高优先级请求,而逻辑门的实现方式可以降低所需的资源成本,并具有较低功率、较短电路延迟、较高处理速度和较好稳定性等优点,克服了现有技术中存在的基于FPGA的工业以太网解决方案的资源瓶颈问题。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域普通技术人员可以理解:实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
Claims (7)
1.一种用于交换机的优先级调度方法,其特征在于,包括:
从多个输入端口的等待队列中的有效数据请求中获取多个数据请求,每个所述数据请求携带有请求优先级、输入端口标识和输出端口标识;
基于所述输出端口标识与所述请求优先级对所述多个数据请求进筛选,得到待调度数据请求;
将所述待调度数据请求的输入端口标识和输出端口标识进行匹配,生成端口匹配数据,依据所述端口匹配数据对所述待调度数据请求进行调度;
其中,所述有效数据请求通过以下方式获取:
对于所述等待队列中的每个数据请求,判断该数据请求对应的输入端口的状态和输出端口的状态是否均处于空闲状态;
当该数据请求对应的输入端口的状态和输出端口的状态均处于空闲状态时,则判定该数据请求为有效数据请求;
所述从多个输入端口的等待队列中的有效数据请求中获取多个数据请求包括:
通过满足有效性判断的多个初始数据请求生成多个排队数据请求;
在每一个输入端口中,将所述排队数据请求按照其对应的请求优先级进行排序;以及
依据排序结果,在交换机的每个输入端口中分别提取排队数据请求以生成所述多个数据请求。
2.如权利要求1所述的方法,其特征在于,还包括:
基于匹配关系的调度结果更新端口状态表以对各个输入端口和输出端口的状态信息进行更新,并基于所述匹配关系的调度结果释放所述待调度数据请求中不匹配的数据请求。
3.如权利要求1-2中任一项所述的方法,其特征在于,基于所述输出端口标识与所述请求优先级对所述多个数据请求进筛选包括:
将所述多个数据请求按照其对应的输出端口标识进行排列;以及
在每个所述输出端口标识对应的数据请求条目大于一个时,依据所述请求优先级对大于一个的所述数据请求进行筛选。
4.如权利要求1-2中任一项所述的方法,其特征在于,将所述待调度数据请求的输入端口标识和输出端口标识进行匹配包括:
通过非优先级调度器将所述待调度数据请求的输入端口标识和输出端口标识进行端口匹配。
5.一种用于交换机的优先级调度装置,其特征在于,包括:
优先级选择器,被配置为从多个输入端口的等待队列中的有效数据请求中获取多个数据请求,每个所述数据请求携带有请求优先级、输入端口标识和输出端口标识;
请求评估器,被配置为基于所述输出端口标识与所述请求优先级对所述多个数据请求进筛选,得到待调度数据请求;
非优先级调度器,被配置为将所述待调度数据请求的输入端口标识和输出端口标识进行匹配,生成端口匹配数据,依据所述端口匹配数据对所述待调度数据请求进行调度;
其中,所述优先级选择器包括:
状态判断模块,被配置为对于所述等待队列中的每个数据请求,判断该数据请求对应的输入端口的状态和输出端口的状态是否均处于空闲状态;
有效判定模块,被配置为当该数据请求对应的输入端口的状态和输出端口的状态均处于空闲状态时,则判定该数据请求为有效数据请求;
所述从多个输入端口的等待队列中的有效数据请求中获取多个数据请求包括:
通过满足有效性判断的多个初始数据请求生成多个排队数据请求;
在每一个输入端口中,将所述排队数据请求按照其对应的请求优先级进行排序;以及
依据排序结果,在交换机的每个输入端口中分别提取排队数据请求以生成所述多个数据请求。
6.如权利要求5所述的装置,其特征在于,还包括:
反馈器,被配置为基于匹配关系的调度结果更新端口状态表以对各个输入端口和输出端口的状态信息进行更新,并基于所述匹配关系的调度结果释放所述待调度数据请求中不匹配的数据请求。
7.如权利要求5-6中任一项所述的装置,其特征在于,所述请求评估器包括:
排列模块,被配置为将所述多个数据请求按照其对应的输出端口标识进行排列;
筛选模块,被配置为在每个所述输出端口标识对应的数据请求条目大于一个时,依据所述请求优先级对大于一个的所述数据请求进行筛选。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910059909.7A CN111464461B (zh) | 2019-01-22 | 2019-01-22 | 用于交换机的优先级调度方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910059909.7A CN111464461B (zh) | 2019-01-22 | 2019-01-22 | 用于交换机的优先级调度方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111464461A CN111464461A (zh) | 2020-07-28 |
CN111464461B true CN111464461B (zh) | 2022-05-03 |
Family
ID=71679910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910059909.7A Active CN111464461B (zh) | 2019-01-22 | 2019-01-22 | 用于交换机的优先级调度方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111464461B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113676422B (zh) * | 2021-10-25 | 2022-02-25 | 苏州浪潮智能科技有限公司 | 一种节点匹配方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1155682A (en) * | 1966-05-27 | 1969-06-18 | Siemens Ag | Improvements in or relating to Telecommunications Exchange Systems |
CN1458798A (zh) * | 2002-05-14 | 2003-11-26 | 华为技术有限公司 | 在三级clos矩阵中实现业务路由配置的方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100612442B1 (ko) * | 2004-01-26 | 2006-08-16 | 삼성전자주식회사 | 버퍼형 스위치 및 그 스케쥴링 방법 |
US8527668B2 (en) * | 2010-11-12 | 2013-09-03 | Invensys Systems, Inc. | Priority logic module |
CN107483405B (zh) * | 2017-07-17 | 2020-01-31 | 中国科学院空间应用工程与技术中心 | 一种支持变长信元的调度方法和调度系统 |
-
2019
- 2019-01-22 CN CN201910059909.7A patent/CN111464461B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1155682A (en) * | 1966-05-27 | 1969-06-18 | Siemens Ag | Improvements in or relating to Telecommunications Exchange Systems |
CN1458798A (zh) * | 2002-05-14 | 2003-11-26 | 华为技术有限公司 | 在三级clos矩阵中实现业务路由配置的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111464461A (zh) | 2020-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6212182B1 (en) | Combined unicast and multicast scheduling | |
US8451854B1 (en) | Method and apparatus for priority-provisioned arbitration scheduling for a switch fabric | |
US7525978B1 (en) | Method and apparatus for scheduling in a packet buffering network | |
US7023840B2 (en) | Multiserver scheduling system and method for a fast switching element | |
US7170903B2 (en) | Method and apparatus for parallel, weighted arbitration scheduling for a switch fabric | |
US6757246B2 (en) | Method and apparatus for weighted arbitration scheduling separately at the input ports and the output ports of a switch fabric | |
US8090869B2 (en) | Priority-biased exit queue arbitration with fairness | |
CN110011934B (zh) | 一种用于输入队列交换机的混合队列架构的混合调度方法 | |
US7738473B2 (en) | Multicast switching in a credit based unicast and multicast switching architecture | |
Neely et al. | Logarithmic Delay for $ N\times N $ Packet Switches Under the Crossbar Constraint | |
US6990072B2 (en) | Method and apparatus for arbitration scheduling with a penalty for a switch fabric | |
US7408947B2 (en) | Method and apparatus for scheduling packets and/or cells | |
CN112084027A (zh) | 片上网络数据传输方法、装置、片上网络、设备及介质 | |
CN111464461B (zh) | 用于交换机的优先级调度方法和装置 | |
CN108173787B (zh) | Fc交换机的数据传递路径选择方法、并行调度方法及装置 | |
CN107360107A (zh) | 一种适用于片上网络中低延时的交叉开关调度方法 | |
Li et al. | A resource-efficient priority scheduler for time-sensitive networking switches | |
US7158512B1 (en) | System and method for scheduling a cross-bar | |
Yang et al. | Hierarchical scheduling for DiffServ classes | |
Xiao et al. | Analysis of multi-server round robin scheduling disciplines | |
US20040071144A1 (en) | Method and system for distributed single-stage scheduling | |
US20030043813A1 (en) | Distribution of weightings between port control system and switch cards of a packet switching device | |
EP1521411A2 (en) | Method and apparatus for request/grant priority scheduling | |
Yu et al. | Integration of look-ahead multicast and unicast scheduling for input-queued cell switches | |
Li et al. | Work-in-progress: A flattened priority framework for mixed-criticality real-time systems |
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 |