调度装置的制造方法

文档序号:9553533阅读:621来源:国知局
调度装置的制造方法
【技术领域】
[0001] 本发明涉及一种调度装置,尤其涉及一种高速硬件调度器。
【背景技术】
[0002]高速硬件调度器是当今的应用中需要的,尤其是对于业务服务质量(QoS)、CPU核 心之间的任务分布以及其它应用。调度器接收请求集合或输入队列状态集合,且根据调度 方案产生对那些请求或输入队列的允许。每一允许可被解释为对发送包或数据信息块或者 使用共享资源的许可。
[0003]调度方案的类型从简单的轮循到具有若干分层、权重和优先级等级的极复杂方案 而变化。标准硬件调度器实现最常见的调度方案,但具有过低允许速率的主要缺陷。在这 方面中,两个参数是最重要的。第一者是调度器可产生的最大允许速率。第二者是从请求 直到所述请求的允许所存在的最小时延。
[0004] 在先前的现有技术中,硬件调度器通常可每两个时钟周期执行不超过一个允许, 而时延可占用几个到甚至一千个周期以便服务于新请求。这是由调度方案的复杂性导致。

【发明内容】

[0005] 本发明的目的是提供一种快速调度器,其在低时延下以比系统时钟高的速率允许 请求。
[0006] 独立权利要求的特征可以实现这个目的。进一步的实施形式通过从属权利要求、 说明书以及图式清楚可见。
[0007] 为了详细描述本发明,将使用以下术语、缩写和符号:
[0008]QoS:服务质量(qualityofservice),
[0009]CPU:中央处理单元(centralprocessingunit),
[0010]RR:轮循(round-robin),
[0011]RCS:速率控制整形器或速率限制单元(ratecontrolshaperorratelimiting unit),
[0012] LVP:查找向量准备单元(lookupvectorprepareunit),
[0013]PFF:前缀森林单元(prefixforestunit),
[0014]req_vec:请求集合或请求向量(setofrequestsorvectorofrequests),
[0015]ack_vec:确认集合或确认向量(setofacknowledgementsorvectorof acknowledgements),
[0016]raw_mask:选择掩码集合或选择掩码向量(setofselectionmasksorvector ofselectionmasks),
[0017]CMP:比较模块(comparemodule),
[0018]NASO:与非移一位模块(NotAndShiftOnemodule),
[0019]TE,Bld,Sel:指定可具有不同优先级的不同队列群组(designatedifferent queuegroupswhichmayhavedifferentpriorities),
[0020]PD:传播延迟(propagationdelay),
[0021]FA,HA:实施前缀树的加法器(addersimplementingtheprefixtree)〇
[0022] 根据第一方面,本发明涉及一种调度装置,用于接收请求集合(asetof requests)且提供对所述请求集合的允许集合(asetofgrants),所述调度装置包括:查 找向量准备单元(alookupvectorprepareunit),用于合并(merge)请求集合和选择掩 码(aselectionmask)以便提供查找向量准备请求集合(alookupvectorpreparedset ofrequests)且提供对所述请求集合的确认集合(asetofacknowledgements);以及親 合到所述查找向量准备单元的前缀森林单元(aprefixforestunit),其中所述前缀森林 单元用于提供作为所述新请求集合(thenewsetofrequests)的函数的所述允许集合且 提供基于所述允许集合的所述选择掩码。
[0023] 所述调度装置可实施为同步硬件电路调度器(asynchronoushardwarecircuit scheduler)。所述调度装置能够根据调度方案选择N个请求,例如输入队列,且所述调度装 置能够在每一时钟周期中执行P个选择(selections)或分发(issues)。因此,所述调度装 置允许在低时延下以比系统时钟高的速率处理请求。
[0024] 所述调度装置可用作CPU之间的任务的调度器,或在交换或路由单元上调度数据 包。所述调度装置还可用作用于更复杂的调度器的构建模块以便产生更复杂的调度方案。 在此意义上所述调度装置可以是级联的若干任务调度器,所述调度器以不同方式配置以便 产生分层式调度方案。
[0025] 在根据第一方面的调度装置的第一可能的实施形式中,所述调度装置包括耦合到 所述查找向量准备单元的速率限制单元(aratelimitingunit),其中所述速率限制单元 用于根据调度方案(aschedulingscheme)限制所述请求集合的速率以提供速率受限请求 集合(arate-limitedsetofrequests),相应的,由所述查找向量准备单元合并的所述请 求集合是所述速率受限请求集合。
[0026] 通过根据调度方案对请求集合进行速率限制,所述调度装置能够产生分层式调度 方案。
[0027] 在根据第一方面的第一实施形式的调度装置的第二可能的实施形式中,速 率限制单元用于过滤已通过(pass)确认的可配置速率(aconfigurablerateof acknowledgments)的请求群组(requestor-groups)的请求(requests) 〇
[0028] 所述速率限制机制因此可用于实施可配置速率限制。
[0029] 当队列已接收到确认时,所述队列被告知将允许请求且所述队列可继续发送下一 请求。所述请求,例如所述队列因此被告知调度装置的内部状态。
[0030] 在根据第一方面的先前实施形式中的任一者的调度装置的第三可能的实施形式 中,调度方案是基于请求集合和确认集合所指派给的队列群组。
[0031] 当在调度方案中实施不同队列群组时,调度装置可实施优先级调度,其中重要请 求放置于高优先级的队列群组中。
[0032] 在根据第一方面的第三实施形式的调度装置的第四可能的实施形式中,速率限制 单元包括桶缓冲器的集合(asetofbucketbuffers),每一桶缓冲器被指派给所述队列群 组中的一者用于存储所述确认集合中的确认,所述确认集合中的确认被指派给所述队列群 组中的一者(eachbucketbufferassignedtooneofthequeuegroupsforstoring acknowledgementsofthesetofacknowledgementsassignedtotheoneofthequeue groups)〇
[0033] 不同桶缓冲器可实现不同队列群组。桶缓冲器可表示用于根据调度方案进行流量 整形的整形器桶,例如整形器存储器。每一桶缓冲器可单独地执行队列群组的整形直到队 列群组可遵照流行的流量合同进行发送。这可在指派给队列群组的桶缓冲器为空的情况下 立即发生,在指派给队列群组的桶缓冲器填充到某一水平的情况下在某一延迟之后发生, 或在桶缓冲器溢出的情况下从不发生。
[0034] 在根据如此的第一方面或根据第一方面的先前实施形式中的任一者的调度装置 的第五可能的实施形式中,查找向量准备单元包括:掩蔽单元,其用于基于选择掩码掩蔽当 前请求集合以提供经掩蔽请求集合;联合单元,其用于合并所述经掩蔽请求集合与所述速 率受限请求集合以提供当前请求集合;以及移位单元,其用于基于所述选择掩码的经移位 版本移位所述当前请求集合以提供所述查找向量准备请求集合。
[0035] 通过基于选择掩码掩蔽经移位请求集合,未允许的请求由查找向量准备单元以递 归方式处理,这是存储器高效的且提供低延迟的快速处理。
[0036] 在根据第一方面的第五实施形式的调度装置的第六可能的实施形式中,查找向量 准备单元用于提供选择掩码的经移位版本以用于轮循所述速率受限请求集合。
[0037] 通过执行轮循,查找向量准备单元可在指定时间内处理每一请求。最长路径的延 迟减少,从而得到低的总延迟。
[0038] 在根据如此的第一方面或根据第一方面的先前实施形式中的任一者的调度装置 的第七可能的实施形式中,前缀森林单元包括前缀树。
[0039] 前缀树较适合存储许多请求。不同于大多数其它算法,前缀树具有独特特征:代码 路径且因此需要的时间对于插入、删除和查找操作来说是几乎相同的。因此,对于其中代码 是以相等量度插入、删除和查找的情形,前缀树可胜过对分搜索树,以及提供CPU指令和分 支高速缓存的较好基础。
[0040] 在根据第一方面的第七实施形式的调度装置的第八可能的实施形式中,所述前缀 森林单元的输出被确定为数字的集合z(asetZofnumbers),且对于Z中的每一数字Zi, XfYf Z工成立。
[0041]当森林的输出是称为Z的数字集合且对于Z中的每一数字21来说关系Xi+YiiZi 成立时,替代于执行实际加法,存在的选项是让所述机制的下一阶段、即比较阶段使用&和 t的原料。前缀森林单元可增加其效率且以较高速度产生输出。
[0042] 在根据第一方面的第八实施形式的调度装置的第九可能的实施形式中,前缀森林 单元用于将Z中的一对乂;和¥;与已知选项集合(aknownsetofoptions)进行比较。
[0043] 替代于将Z中的每一数字与相关值进行比较,前缀森林单元将一对与已知选项集 合进行比较且通过此做法,前缀森林单元节省了由将&和Yi放置到加法
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1