当前位置: 首页 > 专利查询>浙江大学专利>正文

平衡负载与性能的硬件优先级队列实现方法技术

技术编号:2915257 阅读:376 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种平衡负载与性能的硬件优先级队列实现方法。是通过结合两种当前硬件优先级队列较为普遍的实现方法:平移型硬件优先级队列以及传递行硬件优先级队列,解决了负载与性能的矛盾问题,充分发挥了硬件并行化的性能优势以及减少了并行化所带来的负载增加问题。本发明专利技术采样模块化设计,使得优先级队列的扩展性好,无论是需要增加优先级还是增加目录项,都相对独立,无须改变整个队列的结构。利用下层处理单元的并行移项队列,提高了优先级队列的并行性以及响应速度。利用上层队列的逐项传递队列,使得新实体的插入,仅仅需要与第一级的上层队列中所有目录项进行比较,降低了负载。

【技术实现步骤摘要】

本专利技术涉及硬件优先级队列设计领域,尤其涉及一种平衡负载与性能的硬件优先级队列实现方法
技术介绍
当今世界,计算机技术的应用,将人类文明推向了一个新的高度,不仅在科学与工程领域,人们的生活中,也有融入了越来越多的计算机设备。而在很多嵌入式设备以及网络设备中,优先级队列应用的十分广泛。由于硬件的速度优势,用硬件实现优先级队列,成为了许多要求快速队列操作系统的选择。许多嵌入式实时系统,例如语音播放器等,需要快速的实体队列响应。许多要求低延时,高质量的网络系统,例如实时语音交换系统,需要快速的网络包队列收发保证。为了对这些实时要求高,要求调度迅速简单的实体或服务,优先级调度是其最佳的选择方案之一,而直接用硬件实现的优先级队列,无疑是该类系统性能提高的途径之一,如何设计一个合理有效的硬件结构,实现优先级队列,成为一个工程领域上研究的课题之一。目前市场上已经有许多嵌入式设备与网络设备,带有硬件优先级队列,其种类大致包括:先进先出队列,并行移项队列以及逐项传递队列。先进先出队列的实现比较简单,其根据不同的优先级,分配目录项,相同优先级的实体,将被放入同一目录项中,目录项位置靠前的表示优先级高,实体出队列时,从位置靠前的目录项开始,按照先进先出的策略出队列。该种设计的优点是设计简单,但是缺点是由于目录项的个数以及目录项内部存放实体信息个数一定,造成扩展性差,不利于后续功能的扩充。并行移项队列,充分利用了硬件并行能力强的特点,通过独立的硬件单元,同时比较所有的硬件单元与新实体的优先级比较,进行一定规则的平移实现优先级队列。这种设计的硬件优先级队列的优点是速度快,硬件并行性与可扩展性好,但是缺点也十分明显,由于需要同时将新实体信息传递到所有的硬件模块上,从VLSI角度分析,将造成硬件负载大的缺点,进一步造成队列的扩展以及操作的速度受到限制。逐项传递优先级队列,使用逐项比较的方法,新实体的优先级仅仅与队列的第一项进行比较,依次逐项传递,直到找到正确的位置。这种队列很好的解-->决了并行移项队列负载过大的缺点,但是由于需要逐项比较,造成了队列性能的下降,同时,逐项比较,需要在每个硬件单元里,插入暂存模块,增加了硬件资源的开销。上述三种硬件优先级队列的实现方式,各有优缺点,如何设计一种硬件队列,既能够发挥硬件并行与速度优势,提高性能,又能够降低硬件负载,节省硬件资源,成为了设计硬件优先级队列的焦点。
技术实现思路
本专利技术的目的在于提供一种平衡负载与性能的硬件优先级队列实现方法。本专利技术解决技术问题所采用的技术方案是:1.一种平衡负载与性能的硬件优先级队列实现方法,其特征在于:1)下层处理单元由若干目录项组成:每个下层处理单元,由若干相同的目录项组成,每个目录项为一个硬件单元,包括读写口,控制信号以及实体信息输入/输出口。相邻项之间,通过与数据位宽相同的数据通路,以及一位宽的比较结果信号连接。每一项记录了实体信息,包括实体优先级以及其他信息;2)下层处理单元新实体插入,按照并行移项队列模式,采用并行比较的方式实现:当有新的实体到来时,该实体的实体信息将同时被传送到每个目录项的实体输入口,同时,控制信号告知每个目录项有新实体到来。目录项发现有新实体到来时,立即比较自己当前记录的实体优先级与新实体的优先级,若新实体的优先级高于当前记录的实体,且上一级目录项输出的比较结果为新实体优先级高于其记录的当前实体,则本目录项将上一级目录项当前实体信息记录内容读入,作为当前实体信息,同时将原有实体信息,输出到与下一级目录项连接的数据通路上,并且将自身比较结果输出到比较结果信号上,作为下一级目录的输入;若新实体的优先级高于当前记录实体,且上一级目录项输出的比较结果为新实体优先级低于其记录的当前实体,则本目录项将新实体信息读入,作为当前实体信息,同时将原有实体信息,输出到与下一级目录项连接的数据通路上,并且将自身比较结果输出到比较结果信号上,作为下一级目录项的输入;若新实体优先级低于当前记录实体,则保持原有实体信息不变,同时将自身比较结果输出到比较结果信号上,作为下一级目录项的输入。一次插入操作,总共需要的周期数为3拍,第一拍输入新实体,第二拍产生比较结果,第三拍,根据比较结果,整个优先级队列进行上述规则的平移,以达到优先级的顺序排-->列;3)上层队列由传递优先级模型实现,每个上层队列,包括了一个的下层处理单元,上层队列之间,按照优先级,顺序排列:上层队列按照传递优先级模型实现,每一级之间,由数据通路,控制信号,连接,且按照优先级高低顺序排列。其内部为一个下层处理单元;4)上层队列之间的实体传递,发生在前一级上层队列内部下层处理单元的目录项耗尽时:当新实体需要插入时,若新实体插入位置的下层处理单元中,优先级队列目录项未满,则按照上文中提到的下层处理单元新实体插入方法插入,上层队列之间无须任何动作。当新实体插入位置的下层处理单元中,优先级队列目录项已满,则需要在上层队列之间传递实体信息,此时,将新实体插入需要插入的位置,同时,将溢出队列的最低优先级的目录项,迁移到下一级上层队列中。实体信息以及控制信号由当前上层队列输出,下一级上层队列收到信号,其内部下层处理单元开始新实体的插入,若下层处理单元的目录项未满,则插入成功,操作停止;若由于下层处理单元的目录项已满,则需要继续与再下一级的上层队列发生实体传递,依次进行,直到操作停止;5)整条优先级队列,由1条或多条上层队列组成:整条优先级队列,由1条或多条上层队列,按照优先级顺序,串联而成,各个上层队列内,包括了一个下层处理单元,下层处理单元,包括了多个目录项。6)常数时间的最高优先级实体出队列:最高优先级的实体信息,总是存放在最高级上层队列中的下层处理单元最高级目录项中,当该实体出队列时,所有后续的目录项向上级平移,上层队列直接,下一级上层队列中的最高优先级目录项将被迁移到上一级的上层队列中,完成这一过程所需要的时间为常数;7)平衡负载与性能的优先级目录插入:当新实体插入时,由于其只需送给第一级上层队列中下层处理单元的所有目录项,因此负载较同时送给整条队列的情况降低;同时,实体的插入,采用了局部并行比较多方法,较传递优先级方式,节省了比较传递的时间以及诸项比较所需的暂存硬件资源,性能上得到了提升。本专利技术与
技术介绍
相比,本专利技术具有的有益的效果是:该设计是一种结合了并行移项队列硬件并行性优势,以及逐项比较队列负-->载小的优势,通过并行移项与逐项比较相互结合的方法,设计硬件优先级队列,从而达到平衡负载与性能的特点。(1)模块化设计,使得优先级队列的扩展性好,无论是需要增加优先级还是增加目录项,都相对独立,无须改变整个队列的结构。(2)利用下层处理单元的并行移项队列,提高了优先级队列的并行性以及响应速度。(3)利用上层队列的逐项传递队列,使得新实体的插入,仅仅需要与第一级的上层队列中所有目录项进行比较,降低了负载。附图说明图1是上层队列示意图。图2是下层处理单元图。具体实施方法方法中涉及到相关的符号解释:Compareself:实体输入端口与当前记录的比较结果,其值为0(Low)表示当前输入实体优先级高于当前记录优先级,或1(High)表示当前输入实体优先级低于或等于当前目录项中的实体优先级。C本文档来自技高网
...

【技术保护点】
一种平衡负载与性能的硬件优先级队列实现方法,其特征在于: 1)下层处理单元由若干目录项组成: 每个下层处理单元,由若干相同的目录项组成,每个目录项为一个硬件单元,包括读写口,控制信号以及实体信息输入/输出口。相邻项之间,通过与数据位宽相同的数据通路,以及一位宽的比较结果信号连接。每一项记录了实体信息,包括实体优先级以及其他信息; 2)下层处理单元新实体插入,按照并行移项队列模式,采用并行比较的方式实现: 当有新的实体到来时,该实体的实体信息将同时被传送到每个目录项的实体输入口,同时,控制信号告知每个目录项有新实体到来。目录项发现有新实体到来时,立即比较自己当前记录的实体优先级与新实体的优先级,若新实体的优先级高于当前记录的实体,且上一级目录项输出的比较结果为新实体优先级高于其记录的当前实体,则本目录项将上一级目录项当前实体信息记录内容读入,作为当前实体信息,同时将原有实体信息,输出到与下一级目录项连接的数据通路上,并且将自身比较结果输出到比较结果信号上,作为下一级目录的输入;若新实体的优先级高于当前记录实体,且上一级目录项输出的比较结果为新实体优先级低于其记录的当前实体,则本目录项将新实体信息读入,作为当前实体信息,同时将原有实体信息,输出到与下一级目录项连接的数据通路上,并且将自身比较结果输出到比较结果信号上,作为下一级目录项的输入;若新实体优先级低于当前记录实体,则保持原有实体信息不变,同时将自身比较结果输出到比较结果信号上,作为下一级目录项的输入。一次插入操作,总共需要的周期数为3拍,第一拍输入新实体,第二拍产生比较结果,第三拍,根据比较结果,整个优先级队列进行上述规则的平移,以达到优先级的顺序排列; 3)上层队列由传递优先级模型实现,每个上层队列,包括了一个的下层处理单元,上层队列之间,按照优先级,顺序排列: 上层队列按照传递优先级模型实现,每一级之间,由数据通路,控制信号,连接,且按照优先级高低顺序排列。其内部为一个下层处理单元; 4)上层队列之间的实体传递,发生在前一级上层队列内部下层处理单元的目录项耗尽时: 当新实体需要插入时,若新实体插入位置的下层处理单元中,优先级队列目录项未满,则按照上文中提到的下层处理单元新实体插入方法插入,上层队列之间无须任何动作。当新实体插入位置的下层处理单元中,优先级队列目录项已满,则需要在上层队列之间传递实体信息,此时,将新实体插入需要插入的位置,同时,将溢出队列的...

【技术特征摘要】
1.一种平衡负载与性能的硬件优先级队列实现方法,其特征在于:1)下层处理单元由若干目录项组成:每个下层处理单元,由若干相同的目录项组成,每个目录项为一个硬件单元,包括读写口,控制信号以及实体信息输入/输出口。相邻项之间,通过与数据位宽相同的数据通路,以及一位宽的比较结果信号连接。每一项记录了实体信息,包括实体优先级以及其他信息;2)下层处理单元新实体插入,按照并行移项队列模式,采用并行比较的方式实现:当有新的实体到来时,该实体的实体信息将同时被传送到每个目录项的实体输入口,同时,控制信号告知每个目录项有新实体到来。目录项发现有新实体到来时,立即比较自己当前记录的实体优先级与新实体的优先级,若新实体的优先级高于当前记录的实体,且上一级目录项输出的比较结果为新实体优先级高于其记录的当前实体,则本目录项将上一级目录项当前实体信息记录内容读入,作为当前实体信息,同时将原有实体信息,输出到与下一级目录项连接的数据通路上,并且将自身比较结果输出到比较结果信号上,作为下一级目录的输入;若新实体的优先级高于当前记录实体,且上一级目录项输出的比较结果为新实体优先级低于其记录的当前实体,则本目录项将新实体信息读入,作为当前实体信息,同时将原有实体信息,输出到与下一级目录项连接的数据通路上,并且将自身比较结果输出到比较结果信号上,作为下一级目录项的输入;若新实体优先级低于当前记录实体,则保持原有实体信息不变,同时将自身比较结果输出到比较结果信号上,作为下一级目录项的输入。一次插入操作,总共需要的周期数为3拍,第一拍输入新实体,第二拍产生比较结果,第三拍,根据比较结果,整个优先级队列进行上述规则的平移,以达到优先级的顺序排列;3)上层队列由传递优先级模型实现,每个上层队列,包括了一个的下层处理单元,上层队列之间,按照优先级,顺...

【专利技术属性】
技术研发人员:陈天洲王罡胡威陈度冯德贵吴斌斌
申请(专利权)人:浙江大学
类型:发明
国别省市:86[中国|杭州]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1