交换机及调度算法

文档序号:8398062阅读:993来源:国知局
交换机及调度算法
【技术领域】
[0001 ] 本发明实施例涉及通信技术领域,尤其涉及一种交换机及调度算法。
【背景技术】
[0002]交换机是网络中的重要设备,交换机的交换结构和调度算法决定了交换机的性能和成本。其中,调度算法主要实现网络输入端口和输出端口之间的匹配,从而解决资源竞争,尽量提高网络性能,调度算法的好坏直接影响整个交换网络的性能。Crossbar交换结构是输入排队的典型实现方式,在Crossbar交换结构中,为了消除输入队列队头阻塞(HOL)现象,提高系统吞吐率,一种有效的办法是采用虚拟输出队列(V0Q),即在每个输入端口,对应每个输出端口都设一个输入输出(FIFO)队列,每一输入端口对应的FIFO队列缓存相应的发送数据帧,如V0Q12指输入端口 I到输出端口 2的发送数据帧。图1为N个输入端口N个输出端口的交换结构示意图,如图1所示,输入端口输入的发送数据帧分别被缓存至VOQ队列中等待发送,调度器(N,N)用于管理队列信息,执行调度算法,调度算法首先根据输入队列的状态做出匹配结果,然后控制交换结构中交叉点的开合。由于crossbar调度器(N,N)无内部存储、无阻塞,在调度过程中通常会出现竞争冲突问题,为了解决端口处的冲突,硬件中最常见的ISLIP调度算法为:在NXN个输入队列与N个输出端口中寻找I组匹配,使得I个输出最多匹配I个输入,I个输入最多匹配I个输出。所有的输入端口和输出端口在新的时隙到来时开始匹配,每次匹配之后,只有尚未匹配的端口有资格参加下一轮的匹配,算法一直到迭代收敛为止。迭代收敛是指下一轮迭代不会增加新的连接,每一轮迭代分为3步:输入请求,输出授权,输入认可。
[0003]而在FC交换机中,通常采用缓冲区到缓冲区的流量控制方式,这种流量控制机制建立在信用值管理的基础上,主要由两个相连设备的数据发送端来控制。具体地,在每个端口的发送端会有一个缓冲区到缓冲区的信用值,该信用值表示与之连接的对端设备的接收缓冲区容量(即最多能够缓存多少帧数据),同时发送端还有一个信用值计数器(初始值为0),每当源端口向目的端口发送出去一帧数据,信用值计数器会进行加I操作,用来指示对端设备已经占用了一个缓冲区容量来存储这一帧数据,如果对端设备把这帧数据从接收缓存区间中读出来或者并没有缓存这个数据而是进行丢弃操作,那么对端设备就会给发送端回复一个RDY信号,发送端接收到这个信号后便对信用值计数器进行减I操作,只有信用值计数器的值小于信用值时才发送端可以发送数据。
[0004]结合上述流量控制方式可以看出,为了避免发送和接收冲突,上述调度算法必须保证在一个时隙内每个输入端口至多发送一个信元,每个输出端口至多接收一个信元,而且需要多次迭代,在交换机中每一信元在等待端口匹配的过程中会导致延时大,从而导致输入端口缓存消耗的资源较大,因此会造成资源浪费。

【发明内容】

[0005]本发明实施例提供一种交换机及调度算法,可节省输入端口缓存的资源。
[0006]第一方面,本发明实施例提供一种交换机,包括:
[0007]N个输入端口、N个输出端口和调度装置;
[0008]所述N个输入端口中,每个输入端口都设置M个数据缓存队列和N个信息缓存队列,所述M个数据缓存队列用于缓存输入端口输入的任一发送数据帧,所述N个信息缓存队列用于缓存任一所述发送数据帧的帧信息,M小于等于N,M和N为整数;
[0009]每一输入端口的所述M个数据缓存队列和N个输出端口之间通过调度装置连接,所述调度装置用于执行调度算法,根据每一输入端口的N个信息缓存队列的状态调度出发送数据帧。
[0010]在第一方面的第一种可能的实施方式中,所述调度装置包括:
[0011]发送器,用于根据输入端口的N个信息缓存队列中的任一信息缓存队列非空的指示信息,向非空的信息缓存队列指示的输出端口发出请求直到所述请求得到授权;
[0012]轮询仲裁器,用于根据信息缓存队列的优先级进行轮询仲裁,选择授权的第一输入端口,其中,每一输出端口都有一个对应的轮询仲裁器;
[0013]处理器,用于读取所述第一输入端口的数据缓存队列缓存的发送数据帧。
[0014]结合第一方面的第一种可能的实施方式中,在第一方面的第二种可能的实施方式中,所述发送数据帧的帧信息包含:发送数据帧的优先级、缓存所述发送数据帧的数据缓存队列号和输出端口号,所述轮询仲裁器用于:
[0015]根据接收到的请求所对应的信息缓存队列缓存的发送数据帧的优先级进行轮询仲裁,选择授权的所述第一输入端口 ;
[0016]所述处理器用于:
[0017]根据所述第一输入端口的信息缓存队列缓存的信息缓存队列号读取所述信息缓存队列号对应的数据缓存队列中的发送数据帧。
[0018]结合第一方面的第一种可能的实施方式或第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,所述M为发送端的信用值。
[0019]第二方面,本发明实施例提供一种调度算法,用于交换机的调度装置中,所述交换机包括:N个输入端口、N个输出端口和所述调度装置,所述N个输入端口中,每个输入端口都设置M个数据缓存队列和N个信息缓存队列,所述M个数据缓存队列用于缓存输入端口输入的任一发送数据帧,所述N个信息缓存队列用于缓存任一所述发送数据帧的帧信息,M小于等于N,M和N为整数;
[0020]每一输入端口的所述M个数据缓存队列和N个输出端口之间通过调度装置连接,所述调度装置用于执行所述调度算法,根据每一输入端口的N个信息缓存队列的状态调度出发送数据帧;
[0021]所述调度算法包括:
[0022]根据输入端口的N个信息缓存队列中的任一信息缓存队列非空的指示信息,向非空的信息缓存队列指示的输出端口发出请求直到所述请求得到授权;
[0023]所述非空的信息缓存队列指示的输出端口的轮询仲裁器根据接收到的信息缓存队列的优先级进行轮询仲裁,选择授权的第一输入端口 ;
[0024]所述非空的信息缓存队列指示的输出端口读取所述第一输入端口的数据缓存队列缓存的发送数据帧。
[0025]在第二方面的第一种可能的实施方式中,所述发送数据帧的帧信息包含:所述发送数据帧的优先级、缓存所述发送数据帧的数据缓存队列号和输出端口号,所述非空的信息缓存队列指示的输出端口的轮询仲裁器根据接收到的信息缓存队列的优先级进行轮询仲裁,选择授权的第一输入端口,包括:
[0026]所述非空的信息缓存队列指示的输出端口的轮询仲裁器根据接收到的请求所对应的信息缓存队列缓存的发送数据帧的优先级进行轮询仲裁,选择授权的所述第一输入端Π ;
[0027]所述非空的信息缓存队列指示的输出端口读取所述第一输入端口的数据缓存队列缓存的发送数据帧,包括:
[0028]所述非空的信息缓存队列指示的输出端口根据所述第一输入端口的信息缓存队列缓存的信息缓存队列号读取所述信息缓存队列号对应的数据缓存队列中的发送数据帧。
[0029]结合第二方面或第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述M为发送端的信用值。
[0030]本发明实施例提供交换机及调度算法,由于每一输入端口设置的M个数据缓存队列针对不同的输出端口可以混用,可以随机选择空的数据缓存队列存储发送至任一输出端口的发送数据帧,而且M小于N,因此,可以节省输入
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1