基于硬件的交换系统公平性轮转输出的调度方法

文档序号:7813369阅读:190来源:国知局
基于硬件的交换系统公平性轮转输出的调度方法
【专利摘要】一种基于硬件的交换系统公平性轮转输出的调度方法,用于对交换系统中的多个输入端口进行合理、高效的输出调度,解决现有轮转调度输出技术中效率低和公平性差的缺陷。该方法是将有若干位二进制数值为“1”的多位输出申请信号转换为只有一位二进制数值为“1”、其余各位的二进制数值皆为“0”的多位输出申请信号、即独热码;这样,因独热码的多位输出申请信号中只有该一个数位为“1”,使得输出端口只需响应该“1”数位所对应的输入端口,从而在同时发出输出申请信号的多个输入端口中,完成只选择一个输入端口实现公平性轮转输出的调度过程。本发明是一种既高效、快速、还比较公平的调度服务方法。
【专利说明】基于硬件的交换系统公平性轮转输出的调度方法

【技术领域】
[0001] 本发明涉及一种用于通信交换系统中基于轮转的调度策略技术,确切地说,涉及 一种基于硬件的交换系统公平性轮转输出的调度方法,属于数字通信的【技术领域】。

【背景技术】
[0002] 目前,由于计算机及其互联技术的迅速发展,以太网已经成为了迄今为止普及率 最高的短距离二层计算机网络;而以太网的核心部分是交换系统。交换系统是一种完成数 据交换的通信系统。随着以太网的迅速发展,用户对网络性能的要求越来越高,交换系统对 网络性能的影响也日趋重要,因此对交换系统中的重要技术组成之一的调度方法的改进也 是非常必要的。
[0003] 交换系统的结构特征为:任何一个输入端口同时与多个输出端口相连接,而每一 个输出端口也同时与多个输入端口相连接,即所谓"多进多出"ΜΜ0。若某个输入端口有数 据输入,且该数据需要从某个设定输出端口输出时,则应由该输入端口向该设定输出端口 发出申请,若该设定输出端口对该输入端口的申请作出响应,则可以完成该数据的传输过 程。显然,在多进多出的场景下,存在多个输入端口同时向同一个输出端口都发出数据传输 申请的情况,此时,由于每个输出端口一次只能响应一个输入端口的申请,因此必须对所有 发出申请的输入端口进行调度,才能从中选择一个输入端口发出响应。这里,所谓调度是一 种"多选一"的选择过程,该调度具备如下特点:首先,调度要具备公平性,即要有理、有据地 完成选择,而不是随意选择。其次,调度要有较低的时延,因时延的长短在很大程度上影响 了交换系统的性能。最后,调度的实现方法要尽可能的简单,复杂的实现方式会导致交换系 统的整体成本过高。
[0004] 调度的实现方法可分为两种:基于软件方式和基于硬件方式。通过上文介绍的调 度的基本特点对这两种实现方法进行比较,可以获知:基于软件方式实现的调度方法公平 性很高,但时延长,且实现方式复杂;而通过硬件方式实现的调度方法时延短,实现方式简 单,且其公平性也能满足大多数交换系统要求。
[0005] 通过硬件方式实现的调度方法主要是采用轮转调度策略,该策略的核心思想是: 当前时刻得到输出端口响应的输入端口,在下一时刻将不会被响应;除非只有该输入端口 发出申请时。
[0006] 目前,基于轮转调度策略的调度方法有许多种,这些方法大多采用对输入端口逐 个询问的方式,即按照设定顺序逐个检测输入端口是否发出申请。若正在检测的输入端 口发出申请,则输出端口就立即响应该输入端口发出的申请,然后,继续检测下一个输入端 口;若正在检测的输入端口没有发出申请,则直接检测下一个输入端口。这种方式虽然实现 了轮转调度策略,但是其公平性很难得到保证。例如,某个输入端口在被检测时并没有发出 申请,而当开始检测下一个输入端口时,该输入端口才发出申请。但此时的输出端口是不能 响应该输入端口的申请,只能等到下一次检测该输入端口时,此时发出的申请时才能被响 应。这无疑大大影响了交换系统的工作效率。


【发明内容】

[0007] 有鉴于此,本发明的目的是提供一种用于通信交换系统中的基于硬件公平性轮转 输出的调度方法,本发明是基于硬件实现轮转调度策略的调度方法,用于对交换系统中的 多个输入端口进行合理、高效的输出调度,解决现有轮转调度输出技术中存在的效率低和 公平性差的缺陷,从而提供一种既高效、快速、还比较公平的调度服务方法。
[0008] 为了达到上述目的,本发明提供了一种基于硬件的交换系统公平性轮转输出的调 度方法,其特征在于:将有若干位二进制数值为" 1"的多位输出申请信号转换为只有一位 二进制数值为"1"、其余各位的二进制数值皆为"〇"的多位输出申请信号、即独热码;这样, 因独热码的多位输出申请信号中只有该一个数位为"1",使得输出端口只需响应该"1"数 位所对应的输入端口,从而在同时发出输出申请信号的多个输入端口中,完成只选择一个 输入端口实现公平性轮转输出的调度过程;所述方法包括下列操作步骤:
[0009] 步骤1,将具有若干位数值为"1"的多位输出申请信号分别依次与初始状态的高 优先级掩码和低优先级掩码进行"位与"操作后,得到高优先级信号和低优先级信号;其中, 所述高优先级掩码和低优先级掩码是两个不同的变量,且二者互为反码,其位数均与多位 输出申请信号相同;
[0010] 步骤2,对所述高优先级信号和低优先级信号分别进行设定编码的操作,得到相应 的高优先级编码结果与低优先级编码结果;
[0011] 所述设定编码的方法为:
[0012] 若进行设定编码的高优先级信号或低优先级信号的各位数值均为"0"时,则编码 结果为0 ;
[0013] 若进行设定编码的高优先级信号或低优先级信号的各位数值不全为"0"时,则编 码结果为该多位信号中数值为"1"的最高位的位序号的二进制数;
[0014] 步骤3 :对所述高优先级编码结果与低优先级编码结果进行选择:
[0015] 若高优先级编码结果不为0,则首先选择高优先级编码结果执行步骤4 ;
[0016] 否则,即高优先级编码结果为0,则选择低优先级编码结果执行步骤4 ;
[0017] 步骤4 :对所述选择的编码结果进行译码而得到译码结果:该译码结果中,除了步 骤2的编码结果、即位序号最高位的一位数值为"1"以外,其余各位的数值皆为"0",且译码 结果的位数与多位输出申请信号相同;从而完成将有若干位数值为"1"的多位输出申请信 号转换为只有一位数值为" 1"的多位输出申请信号、即独热码的全部过程。
[0018] 本发明基于硬件的交换系统公平性轮转输出调度方法的实质是利用简单的逻辑 电路器件,将有若干位数值为" 1"的多位申请信号转化为只有一位数值为" 1"的多位输出 申请信号,又称独热码。独热码是一种只有一位数值为" 1",其余位数值均为"〇"的码制。 采用本发明方法得到的多位输出申请信号(即独热码)中只有一位数值为"1",这样,输出 端口只需响应该数值位所对应的输入端口,从而完成了在多个发出输出申请的输入端口中 选择一个输入端口的调度过程。
[0019] 本发明方法的创新优点是:与基于编程软件方式实现的输出调度方法相比较,本 发明仅需要简单逻辑电路器件就能够实现发明目的,不仅实现方式简单,省略了大量复杂 的编制程序代码劳动,而且逻辑器件工作可靠,便于维护;同时,运行时间也从数量级方面 由秒级缩短到微秒级,极大地提高了调度效率;再者,本发明采用轮转调度策略,与采用其 他调度策略的输出调度方法相比较,调度的公平性能也得到了大幅度提升。因此,本发明具 有很好的推广应用前景。

【专利附图】

【附图说明】
[0020] 图1是本发明方法的一种应用场景:四进一出交换系统结构示意图。
[0021] 图2是本发明方法的另一种应用场景:四进四出交换系统结构示意图。
[0022] 图3是本发明方法操作步骤流程图

【具体实施方式】
[0023] 为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步 的详细描述。
[0024] 在介绍本发明基于硬件的交换系统公平性轮转输出的调度方法以前,首先介绍本 发明方法的应用场景:"多进一出"和"多进多出"的两种交换系统。其中"多进一出"交换 系统如图1所示的4进1出系统实例;"多进多出""交换系统如图2所示的4进4出系统 实例。
[0025] 本发明调度方法中,每个输入端口向输出端口发出的输出申请信号是数字信号: "1"为发出输出申请,"〇"为没有发出输出申请。因为每个输出端口连接多个输入端口,故 当多个输入端口同时发出输出申请信号时,每个输出端口都会得到多位的输出申请信号: 其位数与输入端口的数量相同,且每一位都与一个输入端口相对应。也就是采用多位输出 申请信号分别表示交换系统中的每个输入端口的输出申请状态,若多位输出申请信号中各 位数值均为"〇"时,表示没有输入端口发出输出申请。若多位申请信号中只有一位数值为 " 1"时,表示只有该数位对应的输入端口有输出申请,输出端口将响应该输入端口发出的输 出申请。若多位申请信号中有多位数值同时为" 1 "时,表示这些数位分别对应的各个输入 端口都有输出申请;此时就要使用本发明方法对该多个发出输出申请的端口进行调度,使 得其中只有一个输入端口得到公平性轮转输出。
[0026] 对于"多进多出"的交换系统,因为是对其中每个输出端口分别采用"多进一出"的 调度方法,完成其对同时发出输出申请的多个端口进行调度的操作,使得其中只有一个输 入端口得到公平性轮转输出。因此,下面重点介绍本发明的第一种应用场景:"多进一出"时 对交换系统中的各个端口进行调度,提供更公平和快速调度服务的方法。
[0027] 本发明方法是将有若干位二进制数值为"1"的多位输出申请信号转换为只有一位 二进制数值为"1"、其余各位的二进制数值皆为"〇"的多位输出申请信号、即独热码。这样, 因独热码的多位输出申请信号中只有该一个数位为"1",使得输出端口只需响应该"1"数 位所对应的输入端口,从而在同时发出输出申请信号的多个输入端口中,完成只选择一个 输入端口实现公平性轮转输出的调度过程。
[0028] 参见图3,介绍本发明方法的下列具体操作步骤:
[0029] 步骤1,将具有若干位数值为"1"的多位输出申请信号分别依次与初始状态的高 优先级掩码和低优先级掩码进行"位与"操作后,得到高优先级信号和低优先级信号。其 中,所述高优先级掩码和低优先级掩码是两个不同的变量,且二者互为反码,其位数均与多 位输出申请信号相同。
[0030] 在步骤1中,初始状态的高优先级掩码的各位数值均为" 1",初始状态的低优先级 掩码的各位数值均为0,且该二者的数位将根据每次的调度结果分别进行更新。
[0031] 步骤2,对所述高优先级信号和低优先级信号分别进行设定编码的操作,得到相应 的高优先级编码结果与低优先级编码结果。
[0032] 在步骤2中,编码结果信号中的最左边数位是最高位,最右边数位为最低位,即最 右边的、最低位位号是第一位,从右到左的各个位序号依次递增。
[0033] 编码方式为:若进行编码的高(低)优先级信号各位的值均为0,则编码结果为0 ; 若进行编码的高(低)优先级信号各位的值不全为〇,则设定信号的最左边为最高位,最右 边位为最低位,位号从右到左依次增加,最低位位号为第一位。输出的编码结果为该信号的 值为1的最高位的位号的二进制表示
[0034] 本发明的设定编码方法为:
[0035] 若进行设定编码的高优先级信号或低优先级信号的各位数值均为"0"时,则编码 结果为0。
[0036] 若进行设定编码的高优先级信号或低优先级信号的各位数值不全为"0"时,则编 码结果为该多位信号中数值为"1"的最高位的位序号的二进制数。例如,对00100010进行 设定编码,该信号数值为1的最高位的位序号为第6位,而6的二进制数为110,则00100010 的设定编码结果为110。
[0037] 步骤3 :对所述高优先级编码结果与低优先级编码结果进行选择。
[0038] 若高优先级编码结果不为0,则首先选择高优先级编码结果执行步骤4 ;
[0039] 否则,即高优先级编码结果为0,则选择低优先级编码结果执行步骤4。
[0040] 步骤4 :对所述选择的编码结果进行译码而得到译码结果:该译码结果中,除了步 骤2的编码结果、即位序号最高位的一位数值为"1"以外,其余各位的数值皆为"0",且译码 结果的位数与多位输出申请信号相同;从而完成将有若干位数值为"1"的多位输出申请信 号转换为只有一位数值为" 1"的多位输出申请信号、即独热码的全部过程。
[0041] 例如,若对编码结果110进行译码后,得到的译码结果:独热码中数值为1的位序 号就是第6 (二进制表示为110)位,其余位的数值为0,即00100000。
[0042] 至此,本发明方法已经完成了将有若干位数值为1的多位输出申请信号转换为只 有一位数值为1的多位输出申请信号、即独热码的调度操作全部过程。接下来的操作步骤 是根据本次调度结果对高、低优先级掩码两个变量进行更新。
[0043] 步骤5,根据步骤3的选择结果和步骤4的独热码译码结果,分别对高优先级掩码 和低优先级掩码两个变量进行更新,以供后续操作。
[0044] 步骤5包括下述操作内容:
[0045] 若步骤3中选择高优先级的编码结果,则将当前的高优先级掩码与独热码译码结 果的反码执行"位与"操作,得到更新后的高优先级掩码,其反码即为更新后的低优先级掩 码。
[0046] 若步骤3中选择低优先级的编码结果,则将当前的低优先级掩码与独热码译码结 果执行"位与"操作,得到更新后的低优先级掩码,其反码为更新后的高优先级掩码。
【权利要求】
1. 一种基于硬件的交换系统公平性轮转输出的调度方法,其特征在于:将有若干位二 进制数值为"1"的多位输出申请信号转换为只有一位二进制数值为"1"、其余各位的二进 制数值皆为"〇"的多位输出申请信号、即独热码;这样,因独热码的多位输出申请信号中只 有该一个数位为" 1",使得输出端口只需响应该" 1"数位所对应的输入端口,从而在同时发 出输出申请信号的多个输入端口中,完成只选择一个输入端口实现公平性轮转输出的调度 过程;所述方法包括下列操作步骤: 步骤1,将具有若干位数值为" 1"的多位输出申请信号分别依次与初始状态的高优先 级掩码和低优先级掩码进行"位与"操作后,得到高优先级信号和低优先级信号;其中,所述 高优先级掩码和低优先级掩码是两个不同的变量,且二者互为反码,其位数均与多位输出 申请号相同; 步骤2,对所述高优先级信号和低优先级信号分别进行设定编码的操作,得到相应的高 优先级编码结果与低优先级编码结果; 所述设定编码的方法为: 若进行设定编码的高优先级信号或低优先级信号的各位数值均为"〇"时,则编码结果 为〇 ; 若进行设定编码的高优先级信号或低优先级信号的各位数值不全为"〇"时,则编码结 果为该多位信号中数值为"1"的最高位的位序号的二进制数; 步骤3 :对所述高优先级编码结果与低优先级编码结果进行选择: 若高优先级编码结果不为〇,则首先选择高优先级编码结果执行步骤4 ; 否则,即高优先级编码结果为〇,则选择低优先级编码结果执行步骤4 ; 步骤4 :对所述选择的编码结果进行译码而得到译码结果:该译码结果中,除了步骤2 的编码结果、即位序号最高位的一位数值为"1"以外,其余各位的数值皆为"〇",且译码结 果的位数与多位输出申请信号相同;从而完成将有若干位数值为"1"的多位输出申请信号 转换为只有一位数值为" 1"的多位输出申请信号、即独热码的全部过程。
2. 根据权利要求1所述的方法,其特征在于:所述方法还包括下述步骤: 步骤5,根据步骤3的选择结果和步骤4的独热码译码结果,分别对高优先级掩码和低 优先级掩码两个变量进行更新,以供后续操作。
3. 根据权利要求1所述的方法,其特征在于:所述方法中,每个输入端口向输出端口发 出的输出申请信号是数字信号:" 1"为发出输出申请,"〇"为没有发出输出申请;因输出端 口连接多个输入端口,故当多个输入端口同时发出输出申请信号时,输出端口就得到多位 输出申请信号:其位数与输入端口的数量相同,且每一位都与一个输入端口相对应。
4. 根据权利要求3所述的方法,其特征在于:所述方法的应用场景如下:因采用多位输 出申请信号分别表示每个输入端口的输出申请状态,若多位输出申请信号中各位数值均为 "0"时,表示没有输入端口发出输出申请;若多位申请信号中只有一位数值为"1"时,表示 只有该数位对应的输入端口有输出申请,输出端口将响应该输入端口发出的输出申请;若 多位申请信号中有多位数值同时为" 1 "时,表示这些数位分别对应的各个输入端口都有输 出申请,此时就要使用所述方法对该多个发出输出申请的端口进行调度,使得其中只有一 个输入端口得到公平性轮转输出。
5. 根据权利要求1所述的方法,其特征在于:所述步骤1中,所述初始状态的高优先级 掩码的各位数值均为" 1",初始状态的低优先级掩码的各位数值均为0,且该二者的数位将 根据每次的调度结果分别进行更新。
6. 根据权利要求1所述的方法,其特征在于:所述步骤2中,编码结果信号中的最左边 数位是最高位,最右边数位为最低位,即最右边的、最低位位号是第一位,从右到左的各个 位序号依次递增。
7. 根据权利要求2所述的方法,其特征在于:所述步骤5包括下述操作内容: 若步骤3中选择高优先级的编码结果,则将当前的高优先级掩码与独热码译码结果的 反码执行"位与"操作,得到更新后的高优先级掩码,其反码即为更新后的低优先级掩码; 若步骤3中选择低优先级的编码结果,则将当前的低优先级掩码与独热码译码结果执 行"位与"操作,得到更新后的低优先级掩码,其反码为更新后的高优先级掩码。
8. 根据权利要求4所述的方法,其特征在于:所述方法的应用场景包括"多进一出"和 "多进多出"的两种交换系统;对于"多进多出"的交换系统,其中每个输出端口应该分别采 用"多进一出"方法,完成其对同时发出输出申请的多个端口进行调度的操作,使得其中只 有一个输入端口得到公平性轮转输出。
【文档编号】H04L12/937GK104158769SQ201410448424
【公开日】2014年11月19日 申请日期:2014年9月4日 优先权日:2014年9月4日
【发明者】袁东明, 胡鹤飞, 冉静, 刘凯明, 刘元安, 李宏伟, 杨学斌, 郭富豪, 赵世功 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1