CN102195880A - 一种交叉开关矩阵动态调度方法及系统 - Google Patents
一种交叉开关矩阵动态调度方法及系统 Download PDFInfo
- Publication number
- CN102195880A CN102195880A CN2011100918876A CN201110091887A CN102195880A CN 102195880 A CN102195880 A CN 102195880A CN 2011100918876 A CN2011100918876 A CN 2011100918876A CN 201110091887 A CN201110091887 A CN 201110091887A CN 102195880 A CN102195880 A CN 102195880A
- Authority
- CN
- China
- Prior art keywords
- switch matrix
- connection status
- cell
- status word
- module
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种交叉开关矩阵动态调度方法及系统。交叉开关矩阵动态调度方法包括:步骤10,计算信元的平均到达速率;步骤20,如果信元的平均到达速率大于或等于预定值,则利用基于先到先服务的迭代轮询算法进行调度并生成连接状态字,否则利用基于滑动的迭代轮询匹配算法进行调度并生成连接状态字;步骤30,将连接状态字发送到交叉开关矩阵,实现交叉开关矩阵输入端口与输出端口的连接。本发明增加交叉开关矩阵调度的灵活性,提高了交叉开关矩阵调度的效率。
Description
技术领域
本发明涉及通信领域,尤其涉及一种基于交叉开关矩阵动态调度方法及系统。
背景技术
交换结构和调度算法是高性能路由器和交换机的两个重要技术。交换结构决定路由器的性能,使用交叉开关矩阵(crossbar)结构是因为它是非阻塞、易于实现的。但现实中,使用了先进先出队列(FIFO),有对头阻塞,把吞吐量限制到58.6%。虚拟输出队列(VOQ)克服了这一缺点,在一个N×N的crossbar中,每个输入端口维持N个队列,每个队列中的信元指向同一个输出端口。
一个合适的调度算法对于Crossbar非常重要,主要有并行迭代匹配算法(PIM)、基于滑动的迭代轮询匹配算法(iSLIP)、基于先到先服务的迭代轮询算法(FIRM)、双轮询匹配算法(DRR)等,PIM、iSLIP和FIRM算法能够达到100%吞吐,但要经过请求-允许-接受(request-grant-accept)三个过程,算法实现复杂。DRR算法只有请求-允许(request-grant)两个过程,实现简单,也能达到100%吞吐,但每次迭代产生的匹配边数较少,没有充分发挥Crossbar的效率。
现场可编程门阵列(FPGA)是高密度的可编程芯片,能够将大量逻辑功能集成到一个单片集成电路中,ASIC可以实现的逻辑功能,FPGA都可以实现,并且设计周期短,灵活,能够提高系统的可靠性和集成度。但是FPGA设计需要考虑器件本身的结构和性能,这就需要开发者对器件有相当程度的了解,从而使设计在速度和资源利用上都达到最优。
FPGA动态局部可重构技术首先由Xilinx公司提出,并且提供了开发工具和开发流程。FPGA动态局部可重构可以动态的配置器件中某一部分,其余部分仍然在运行。总共有四种可重构的开发流程:基于模块的、基于差异的、基于比特流的、早期访问局部可重构(EAPR)。其中EAPR是Xilinx公司推荐的开发流程。
发明内容
为了解决上述的技术问题,提供了一种交叉开关矩阵动态调度方法及系统,其目的在于,使Crossbar能够在运行过程中,根据信元的到达情况决定选用一种在特定信元到达情况下性能表现更好的调度方法。
本发明提供了一种交叉开关矩阵动态调度方法,包括:
步骤10,计算信元的平均到达速率;
步骤20,如果信元的平均到达速率大于或等于预定值,则利用基于先到先服务的迭代轮询算法进行调度并生成连接状态字,否则利用基于滑动的迭代轮询匹配算法进行调度并生成连接状态字;
步骤30,将连接状态字发送到交叉开关矩阵,实现交叉开关矩阵输入端口与输出端口的连接。
在一个示例中,步骤10包括:
步骤101,每个信元根据其需要经过交叉开关矩阵的输入端口和输出端口进入到相应的虚拟输出队列中;
步骤102,使用计数器统计每个虚拟输出队列在一个时间周期内到达的信元个数;
步骤103,利用一个时间周期内到达的信元个数计算信元的平均到达速率。
在一个示例中,步骤30中,连接状态字存储在连接状态字寄存器中;空间为N×N的交叉开关矩阵对应N×N位的连接状态字,如果N×N位的连接状态字的第i为1,则i除以N得到的商为输入端口对应的编号,i除以N得到的余数为输出端口对应的编号,所述输入端口和所述输出端口连接;N和i均为自然数。
在一个示例中,利用FPGA局部可重构技术实现;其中,步骤20由动态模块实现,步骤10和步骤30由静态模块实现;在动态模块区域内放置专门用于动态模块和静态模块进行通信的总线宏。
本发明提供了一种交叉开关矩阵动态调度系统,包括:
信元平均到达速率计算模块,用于计算信元的平均到达速率;
调度算法选择模块,用于在信元的平均到达速率大于或等于预定值时利用基于先到先服务的迭代轮询算法进行调度并生成连接状态字,在信元的平均到达速率小于预定值时利用基于滑动的迭代轮询匹配算法进行调度并生成连接状态字;连接状态字寄存器,用于存储连接状态字并发送到交叉开关矩阵;
交叉开关矩阵,用于根据连接状态字实现交叉开关矩阵输入端口与输出端口的连接。
在一个示例中,还包括虚拟输出队列;调度算法选择模块,用于每个信元根据其需要经过交叉开关矩阵的输入端口和输出端口进入到相应的虚拟输出队列中;使用计数器统计每个虚拟输出队列在一个时间周期内到达的信元个数;利用一个时间周期内到达的信元个数计算信元的平均到达速率。
在一个示例中,空间为N×N的交叉开关矩阵对应N×N位的连接状态字,如果N×N位的连接状态字的第i为1,则i除以N得到的商为输入端口对应的编号,i除以N得到的余数为输出端口对应的编号,所述输入端口和所述输出端口连接;N和i均为自然数。
在一个示例中,利用FPGA局部可重构技术实现;其中,定义调度算法模块为动态模块,定义除调度算法模块外的其他模块为静态模块,在动态模块区域内放置专门用于动态模块和静态模块进行通信的总线宏。
本发明增加Crossbar调度的灵活性,提高了Crossbar调度的效率。
附图说明
图1是本发明提供的交叉开关矩阵动态调度方法流程图,
图2是本发明的交叉开关矩阵动态调度系统结构图。
具体实施方式
下面结合附图,对本发明做进一步的详细描述。
如图1所示,本发明提供的调度方法包括:
步骤1、判断信元的到达情况
I、对于一个N×N的Crossbar,每个输入端口都有N个虚拟输出队列VOQ,每个虚拟输出队列VOQ对应一个输出端口,每个信元根据其需要经过哪个输入端口,到达哪个输出端口,进入到相应的虚拟输出队列VOQ中;
II、使用计数器统计每个虚拟输出队列VOQ在一个时间周期内到达的信元的个数;
III、计算信元到达的平均速率,即一个时间周期内到达的信元个数除以一个时间周期内的单位时间个数;
步骤2、选用合适的调度算法
I、如果信元到达的平均速率大于或等于0.7(这个值可以根据经验或者实验来选取,例如0.5或0.6),则选用FIRM调度算法;
II、如果信元到达的平均速率小于0.7,则选用iSlip调度算法;
步骤3、传送调度结果
I、调度算法调度完后,把连接状态字发送到连接状态寄存器中;
II、连接状态字寄存器把连接状态字发送到交叉开关矩阵;
步骤4、传输信元
I、一个N×N的Crossbar Switch,接收到一个N×N位的连接状态字;
II、如果这个N×N位的连接状态字第i位为1,则i除以N,其商为输入端口的编号,余数为输出端口,表示该输入端口和输出端口连通。
由于Xilinx公司提供FPGA局部可重构实现,因此可以用来实现本发明的调度方法,具体流程如下:
步骤11,使用Xilinx公司的ISE工具对不同模块进行综合,例如虚拟输出队列、信元平均到达速率计算模块、调度算法选择模块、连接状态字寄存器和交叉开关矩阵得到相应的网表文件;
步骤12,判断静态模块和动态模块
I、在运行时,根据不同信元到达情况,需要改变的调度算法模块即为动态模块;上述的调度算法选择模块为动态模块;
II、在运行时,始终保持功能不变的模块为静态模块;上述的虚拟输出队列、信元平均到达速率计算模块、连接状态字寄存器和交叉开关矩阵是静态模块;
步骤13,整个Crossbar动态调度系统的实现
I、使用Xilinx公司的Planahead工具,装载相应的网标文件;
II、定义调度算法模块为动态模块;
III、定义除调度算法模块外的其他模块为静态模块;
IV、因为动态模块和静态模块之间不能进行直接的信号通信,所以需要在动态模块区域内放置专门用于动态模块和静态模块进行通信的总线宏Macro bus;
V、使用Planahead的组装merge功能,得到一个能下载到FPGA板子上验证的位流文件。
本发明提供的调度系统如图2所示,包括虚拟输出队列、判决器、连接状态寄存器以及crossbar switch模块。crossbar switch模块具有n个输入In0-Inn,n个输出Out0-Outn,每路输入和输出均具有32位宽度。
本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条件下,还可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于以上的说明,而是由权利要求书的范围来确定的。
Claims (8)
1.一种交叉开关矩阵动态调度方法,其特征在于,包括:
步骤10,计算信元的平均到达速率;
步骤20,如果信元的平均到达速率大于或等于预定值,则利用基于先到先服务的迭代轮询算法进行调度并生成连接状态字,否则利用基于滑动的迭代轮询匹配算法进行调度并生成连接状态字;
步骤30,将连接状态字发送到交叉开关矩阵,实现交叉开关矩阵输入端口与输出端口的连接。
2.如权利要求1所述的交叉开关矩阵动态调度方法,其特征在于,步骤10包括:
步骤101,每个信元根据其需要经过交叉开关矩阵的输入端口和输出端口进入到相应的虚拟输出队列中;
步骤102,使用计数器统计每个虚拟输出队列在一个时间周期内到达的信元个数;
步骤103,利用一个时间周期内到达的信元个数计算信元的平均到达速率。
3.如权利要求1所述的交叉开关矩阵动态调度方法,其特征在于,步骤30中,连接状态字存储在连接状态字寄存器中;空间为N×N的交叉开关矩阵对应N×N位的连接状态字,如果N×N位的连接状态字的第i为1,则i除以N得到的商为输入端口对应的编号,i除以N得到的余数为输出端口对应的编号,所述输入端口和所述输出端口连接;N和i均为自然数。
4.如权利要求1所述的交叉开关矩阵动态调度方法,其特征在于,利用现场可编程门阵列局部可重构技术实现;其中,步骤20由动态模块实现,步骤10和步骤30由静态模块实现;在动态模块区域内放置专门用于动态模块和静态模块进行通信的总线宏。
5.一种交叉开关矩阵动态调度系统,其特征在于,包括:
信元平均到达速率计算模块,用于计算信元的平均到达速率;
调度算法选择模块,用于在信元的平均到达速率大于或等于预定值时利用基于先到先服务的迭代轮询算法进行调度并生成连接状态字,在信元的平均到达速率小于预定值时利用基于滑动的迭代轮询匹配算法进行调度并生成连接状态字;
连接状态字寄存器,用于存储连接状态字并发送到交叉开关矩阵;
交叉开关矩阵,用于根据连接状态字实现交叉开关矩阵输入端口与输出端口的连接。
6.如权利要求5所述的交叉开关矩阵动态调度系统,其特征在于,还包括虚拟输出队列;调度算法选择模块,用于每个信元根据其需要经过交叉开关矩阵的输入端口和输出端口进入到相应的虚拟输出队列中;使用计数器统计每个虚拟输出队列在一个时间周期内到达的信元个数;利用一个时间周期内到达的信元个数计算信元的平均到达速率。
7.如权利要求5所述的交叉开关矩阵动态调度系统,其特征在于,空间为N×N的交叉开关矩阵对应N×N位的连接状态字,如果N×N位的连接状态字的第i为1,则i除以N得到的商为输入端口对应的编号,i除以N得到的余数为输出端口对应的编号,所述输入端口和所述输出端口连接;N和i均为自然数。
8.如权利要求5所述的交叉开关矩阵动态调度系统,其特征在于,利用现场可编程门阵列局部可重构技术实现;其中,定义调度算法选择模块为动态模块,定义信元平均到达速率计算模块、连接状态字寄存器和交叉开关矩阵为静态模块;在动态模块区域内放置专门用于动态模块和静态模块进行通信的总线宏。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100918876A CN102195880A (zh) | 2011-04-13 | 2011-04-13 | 一种交叉开关矩阵动态调度方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100918876A CN102195880A (zh) | 2011-04-13 | 2011-04-13 | 一种交叉开关矩阵动态调度方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102195880A true CN102195880A (zh) | 2011-09-21 |
Family
ID=44603288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100918876A Pending CN102195880A (zh) | 2011-04-13 | 2011-04-13 | 一种交叉开关矩阵动态调度方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102195880A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109522130A (zh) * | 2018-11-26 | 2019-03-26 | 中山大学 | 基于共享缓存的逆向调度方法 |
CN112558515A (zh) * | 2020-11-27 | 2021-03-26 | 成都中科合迅科技有限公司 | 一种功能可动态重组的模拟电子系统 |
CN116260760A (zh) * | 2022-12-15 | 2023-06-13 | 之江实验室 | 一种在多芯粒互连网络中基于流量感知的拓扑重构方法 |
CN117614905A (zh) * | 2023-11-29 | 2024-02-27 | 无锡众星微系统技术有限公司 | 一种交叉开关调度方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101527686A (zh) * | 2009-04-07 | 2009-09-09 | 华为技术有限公司 | 一种数据交换方法和设备 |
-
2011
- 2011-04-13 CN CN2011100918876A patent/CN102195880A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101527686A (zh) * | 2009-04-07 | 2009-09-09 | 华为技术有限公司 | 一种数据交换方法和设备 |
Non-Patent Citations (2)
Title |
---|
姜小波,杜小伟: "一种高速crossbar调度算法及其性能分析", 《计算机应用》, vol. 30, no. 1, 31 January 2010 (2010-01-31), pages 101 - 103 * |
贺玮娜: "基于交叉开关的可扩展交换结构及其调度算法研究", 《西安电子科技大学硕士学位论文》, 28 October 2009 (2009-10-28), pages 6 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109522130A (zh) * | 2018-11-26 | 2019-03-26 | 中山大学 | 基于共享缓存的逆向调度方法 |
CN112558515A (zh) * | 2020-11-27 | 2021-03-26 | 成都中科合迅科技有限公司 | 一种功能可动态重组的模拟电子系统 |
CN112558515B (zh) * | 2020-11-27 | 2023-11-17 | 成都中科合迅科技有限公司 | 一种功能可动态重组的模拟电子系统 |
CN116260760A (zh) * | 2022-12-15 | 2023-06-13 | 之江实验室 | 一种在多芯粒互连网络中基于流量感知的拓扑重构方法 |
CN117614905A (zh) * | 2023-11-29 | 2024-02-27 | 无锡众星微系统技术有限公司 | 一种交叉开关调度方法和装置 |
CN117614905B (zh) * | 2023-11-29 | 2024-06-04 | 无锡众星微系统技术有限公司 | 一种交叉开关调度方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zeferino et al. | SoCIN: a parametric and scalable network-on-chip | |
CN103580890B (zh) | 一种可重配置片上网络结构及其配置方法 | |
US20190266088A1 (en) | Backbone network-on-chip (noc) for field-programmable gate array (fpga) | |
US11023377B2 (en) | Application mapping on hardened network-on-chip (NoC) of field-programmable gate array (FPGA) | |
Agrawal et al. | Simulation of network on chip for 3D router architecture | |
CN1338168A (zh) | 用于带宽分配的分布式分级调度与仲裁 | |
CN102195880A (zh) | 一种交叉开关矩阵动态调度方法及系统 | |
US10671554B1 (en) | Credit based flow control mechanism for use in multiple link width interconnect systems | |
CN104702464A (zh) | 基于fpga的100g以太网测试报文的生成系统及方法 | |
CN102546417A (zh) | 基于网络信息的片上网络路由器调度方法 | |
CN114090250A (zh) | 一种基于Banyan网络和多FPGA结构的EDA硬件加速方法与系统 | |
CN109582622A (zh) | 基于三维Mesh片上网络的双链路互连架构 | |
CN103827836A (zh) | 存储数据的方法和装置 | |
Passas et al. | The combined input-output queued crossbar architecture for high-radix on-chip switches | |
Sanju et al. | Design and implementation of a network on chip-based simulator: a performance study | |
Ueno et al. | VCSN: Virtual circuit-switching network for flexible and simple-to-operate communication in HPC FPGA cluster | |
US7730276B1 (en) | Striping of data into memory of a network data switch to prevent read and write collisions | |
CN101540786A (zh) | 面向外设需求的片上网络通讯的优化方法 | |
Chatrath et al. | Design and implementation of high speed reconfigurable NoC router | |
Bitar | Building Networking Applications from a NoC-Enhanced FPGA | |
CN1901510B (zh) | 操作交叉开关的调度器的方法及调度器 | |
Kathuria | Low power clock gating techniques for synchronous buffer-based queue for 3D MPSoC | |
CN103270490A (zh) | 把外部网络协处理器连接到网络处理器分组解析器 | |
Zhang et al. | The buffer depth analysis of 2-Dimension mesh topology Network-on-Chip with Odd-Even routing algorithm | |
Dai et al. | Microarchitecture of a Configurable High-Radix Router for the Post-Moore Era |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110921 |