资源调度方法和装置的制作方法

文档序号:6444551阅读:284来源:国知局
专利名称:资源调度方法和装置的制作方法
技术领域
本发明涉及通信领域,并且特别地,涉及一种资源调度方法和装置。
技术背景
目前,在支持多应用零拷贝的情况下,能够将过去只能部署在多台主机上的应用程序整合到一台主机上运行,因此,就需要在一台主机上运行多个网络流量处理应用,每个应用都要处理这台主机接收到的所有数据包,从而达到节省硬件资源,同时由于这种整合并不需要对应用进行修改,因此能够兼容原有应用。
但是,在一台主机上的CPU (中央处理单元)的计算资源是有限的,相应地,在处理这些应用的数据时,所需要使用的内存资源(缓冲区资源)同样是有限的。
当多个应用放在一台主机上来运行时,势必造成各个应用对计算资源的争抢问题,从而导致重要的应用无法得到及时处理,而造成损失。
目前,针对多个应用的执行会大量占用计算资源和缓冲区资源而无法进行合理资源分配的问题,尚未提出有效的解决方案。发明内容
针对相关技术中的问题,本发明提出一种资源调度方法和装置,能够对系统的资源进行合理分配,保证高优先级应用的系统资源充足。
本发明的技术方案是这样实现的
根据本发明的另一方面,提供了一种资源调度方法。
该方法包括监控缓冲区空间的占用情况;根据缓冲区被占用的情况以及占用缓冲区的应用的优先级,优先释放最低优先级的应用在缓冲区中占用的空间。
其中,监控缓冲区空间的占用情况包括监控缓冲区的剩余空间。
并且,优先释放最低优先级的应用在缓冲区中占用的空间包括对于使用缓冲区的每个应用,在缓冲区实际的剩余空间小于该应用所对应的缓冲区剩余空间阈值的情况下,释放缓冲区中该应用所占用的空间,其中,优先级最低的应用所对应的剩余空间阈值最大。
此外,监控缓冲区空间的占用情况包括监控缓冲区被占用的空间。
并且,优先释放最低优先级的应用在缓冲区中占用的空间包括对于使用缓冲区的每个应用,在缓冲区实际被占用的空间大于该应用所对应的缓冲区空间占用阈值的情况下,释放缓冲区中该应用所占用的空间,其中,优先级最低的应用所对应的缓冲区空间占用阈值最小。
该方法可进一步包括将缓冲区中被释放的空间分配给未释放空间的应用。
根据本发明的另一方面,提供了一种资源调度装置。
该装置包括监控模块,用于监控缓冲区空间的占用情况;调度模块,用于根据缓冲区被占用的情况以及占用缓冲区的应用的优先级,优先释放最低优先级的应用在缓冲区中占用的空间。
其中,监控模块用于监控缓冲区的剩余空间。
并且,对于使用缓冲区的每个应用,调度模块用于在缓冲区实际的剩余空间小于该应用所对应的缓冲区剩余空间阈值的情况下,释放缓冲区中该应用所占用的空间,其中, 优先级最低的应用所对应的剩余空间阈值最大。
此外,监控模块用于监控缓冲区被占用的空间。
并且,对于使用缓冲区的每个应用,调度模块用于在缓冲区实际被占用的空间大于该应用所对应的缓冲区空间占用阈值的情况下,释放缓冲区中该应用所占用的空间,其中,优先级最低的应用所对应的缓冲区空间占用阈值最小。
本发明通过对应用设置优先级的方式,并根据缓冲区的占用情况优先释放优先级最低的应用占用的缓冲区空间,从而能够在资源紧张的情况下,避免对低优先级的应用进行计算和数据,达到资源合理调度、分配的目的,保证了高优先级应用的资源充足,合理地保证了多个业务应用能在一台主机上顺利工作,整个资源调度方案实现简单,不会带来额外的性能损耗。


图1是根据本发明实施例的资源调度方法的流程图2是根据本发明实施例的资源调度装置的框图。
具体实施方式
考虑到相关技术中存在的上述问题,通过在程序间设立优先级的方式,来达到资源合理调度、分配的目的,从而保证了高优先级应用的资源充足。
根据本发明的实施例,提供了一种资源调度方法。
如图1所示,根据本发明实施例的资源调度方法包括
步骤SlOl,监控缓冲区空间的占用情况;
步骤S103,根据缓冲区被占用的情况以及占用缓冲区的应用的优先级,优先释放最低优先级的应用在缓冲区中占用的空间。
一方面,在监控缓冲区空间的占用情况时,可以监控缓冲区的剩余空间。此时,在优先释放最低优先级的应用在缓冲区中占用的空间时,对于使用缓冲区的每个应用,可以在缓冲区实际的剩余空间小于(也可以将“小于”改为“小于或等于”)该应用所对应的缓冲区剩余空间阈值的情况下,释放缓冲区中该应用所占用的空间,其中,优先级最低的应用所对应的剩余空间阈值最大。
本发明主要利用优先级方法决定多应用的资源调度策略。由于有多个应用同时使用一套CPU资源,势必会出现计算资源缺乏情况,反映到驱动层面,就是由于应用处理慢造成驱动中看到的可用缓冲区数量减少。针对这种情况通过对缓冲区的占用情况设置监控机制就能够体现系统中主要资源的使用情况,当缓冲区空闲数目低于阈值时发信号通知上层应用,上层应用程序接到信号后,根据预定的优先级决定是否丢弃当前占有的缓冲区。对优先级高的应用,对该应用配置的剩余空间阈值比较小,这样可以保证零拷贝尽可能地向高优先应用送数据。相应地,低先级应用对应的剩余空间阈值较大,这样,当资源紧张时,低优先级的应用的缓冲区数量最先达到阈值,从而最先释放低优先级应用的数据缓冲区,从而腾出的计算资源给高优先的应用。
举例来说,假设系统的缓冲区空间大小为10,应用A的优先级高,且应用A对应的剩余空间阈值为3 ;应用B的优先级中等,且应用B对应的剩余空间阈值为5 ;应用C的优先级最低,且应用C对应的剩余空间阈值为7 ;
这样,当缓冲区的剩余空间为8的情况下,因为8大于所有应用的剩余空间阈值, 因此,所有应用在缓冲区中占用的空间均不被释放;而当缓冲区的剩余空间为6的情况下, 由于此时缓冲区实际剩余空间6小于应用C对应的剩余空间阈值7,但是大于应用A和B的剩余空间阈值,所以此时最低优先级的应用C在缓冲区中所占用的空间会被首先释放,同时,对于应用C的相关计算也会停止,释放的空间以及节省的计算资源可以用于帮助处理应用A和B。
基于上述场景,当缓冲区的剩余空间为4的情况下,由于此时缓冲区实际剩余空间4小于应用B对应的剩余空间阈值5 (同时也小于应用C对应的剩余空间阈值7),但是大于应用A的剩余空间阈值3,所以此时的缓冲区空间将不会被应用B和C所占用,只留给优先级最高的应用A使用,同时,相关的计算资源(CPU资源)也会集中处理应用A的数据,保证了最高优先级的应用A资源充足。
而在释放一个应用所占用的缓冲区空间之后,可能会导致缓冲区的当前占用情况允许该释放的应用重新启动并占用该缓冲区,而导致这种情况出现的原因有很多种,而很可能就是因为停止对该应用进行处理,因此,可以增加一定的保护机制,使得当一个应用在缓冲区中占用的空间被释放后的一段时间内,不会重新对该应用进行计算,避免在短时间内对一个应用反复进行缓冲区空间释放操作。
对于更多应用的情况可以根据应用的优先级进一步设置每个应用的剩余空间阈值,判断的具体方式与之前描述的方式类似,这里不再重复。
另一方面,在监控缓冲区空间的占用情况时,可以监控缓冲区被占用的空间。此时,在进行缓冲区空间释放时,对于使用缓冲区的每个应用,在缓冲区实际被占用的空间大于(也可以将“大于”改为“大于或等于”)该应用所对应的缓冲区空间占用阈值的情况下, 释放缓冲区中该应用所占用的空间,其中,优先级最低的应用所对应的缓冲区空间占用阈值最小。
具体的过程与之前描述的过程类似,这里不再对监控缓冲区空间占用情况的情况进行举例说明。
综上,本发明在万兆网卡在零拷贝的基础上,以优先级的方式对多个应用的资源进行调配,保证高优先的应用优先处理数据包,如果资源紧张时,优先释放低优先级的数据包,从而保证高优先级的应用获得足够的数据进行处理,合理地保证了多个业务应用能在一台主机上顺利工作,整个资源调度方案实现简单,不会带来额外的性能损耗。
根据本发明的实施例,提供了一种资源调度装置。
如图2所示,根据本发明实施例的资源调度装置包括
监控模块21,用于监控缓冲区空间的占用情况;
调度模块22,连接至监控模块21,用于根据缓冲区被占用的情况以及占用缓冲区的应用的优先级,优先释放最低优先级的应用在缓冲区中占用的空间。
其中,一方面,监控模块用于监控缓冲区的剩余空间。并且,对于使用缓冲区的每个应用,调度模块用于在缓冲区实际的剩余空间小于该应用所对应的缓冲区剩余空间阈值的情况下,释放缓冲区中该应用所占用的空间,其中,优先级最低的应用所对应的剩余空间阈值最大。
另一方面,监控模块用于监控缓冲区被占用的空间。并且,对于使用缓冲区的每个应用,调度模块用于在缓冲区实际被占用的空间大于该应用所对应的缓冲区空间占用阈值的情况下,释放缓冲区中该应用所占用的空间,其中,优先级最低的应用所对应的缓冲区空间占用阈值最小。
综上,借助于本发明的上述技术方案,通过对应用设置优先级的方式,并根据缓冲区的占用情况优先释放优先级最低的应用占用的缓冲区空间,从而能够在资源紧张的情况下,避免对低优先级的应用进行计算和数据,达到资源合理调度、分配的目的,保证了高优先级应用的资源充足。
以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1 一种资源调度方法,其特征在于,包括 监控缓冲区空间的占用情况;根据所述缓冲区被占用的情况以及占用所述缓冲区的应用的优先级,优先释放最低优先级的应用在所述缓冲区中占用的空间。
2.根据权利要求1所述的资源调度方法,其特征在于,监控缓冲区空间的占用情况包括监控所述缓冲区的剩余空间。
3.根据权利要求2所述的资源调度方法,其特征在于,优先释放最低优先级的应用在所述缓冲区中占用的空间包括对于使用所述缓冲区的每个应用,在所述缓冲区实际的剩余空间小于该应用所对应的缓冲区剩余空间阈值的情况下,释放所述缓冲区中该应用所占用的空间,其中,优先级最低的应用所对应的剩余空间阈值最大。
4.根据权利要求1所述的资源调度方法,其特征在于,监控缓冲区空间的占用情况包括监控缓冲区被占用的空间。
5.根据权利要求4所述的资源调度方法,其特征在于,优先释放最低优先级的应用在所述缓冲区中占用的空间包括对于使用所述缓冲区的每个应用,在所述缓冲区实际被占用的空间大于该应用所对应的缓冲区空间占用阈值的情况下,释放所述缓冲区中该应用所占用的空间,其中,优先级最低的应用所对应的缓冲区空间占用阈值最小。
6.根据权利要求1所述的资源调度方法,其特征在于,进一步包括 将所述缓冲区中被释放的空间分配给未释放空间的应用。
7.一种资源调度装置,其特征在于,包括 监控模块,用于监控缓冲区空间的占用情况;调度模块,用于根据所述缓冲区被占用的情况以及占用所述缓冲区的应用的优先级, 优先释放最低优先级的应用在所述缓冲区中占用的空间。
8.根据权利要求7所述的资源调度装置,其特征在于,所述监控模块用于监控所述缓冲区的剩余空间,并且,对于使用所述缓冲区的每个应用,所述调度模块用于在所述缓冲区实际的剩余空间小于该应用所对应的缓冲区剩余空间阈值的情况下,释放所述缓冲区中该应用所占用的空间,其中,优先级最低的应用所对应的剩余空间阈值最大。
9.根据权利要求7所述的资源调度装置,其特征在于,所述监控模块用于监控缓冲区被占用的空间。
10.根据权利要求9所述的资源调度装置,其特征在于,对于使用所述缓冲区的每个应用,所述调度模块用于在所述缓冲区实际被占用的空间大于该应用所对应的缓冲区空间占用阈值的情况下,释放所述缓冲区中该应用所占用的空间,其中,优先级最低的应用所对应的缓冲区空间占用阈值最小。
全文摘要
本发明公开了一种资源调度方法和装置,其中,该方法包括监控缓冲区空间的占用情况;根据缓冲区被占用的情况以及占用缓冲区的应用的优先级,优先释放最低优先级的应用在缓冲区中占用的空间。本发明通过对应用设置优先级的方式,并根据缓冲区的占用情况优先释放优先级最低的应用占用的缓冲区空间,从而能够在资源紧张的情况下,避免对低优先级的应用进行计算和数据,达到资源合理调度、分配的目的,保证了高优先级应用的资源充足,合理地保证了多个业务应用能在一台主机上顺利工作,整个资源调度方案实现简单,不会带来额外的性能损耗。
文档编号G06F9/50GK102521057SQ201110455928
公开日2012年6月27日 申请日期2011年12月31日 优先权日2011年12月31日
发明者万伟, 刘兴彬, 刘铁, 孙一鸣, 曹振南, 朱春屹, 李云华, 李博文, 杨锦涛, 王泼, 王清, 范玉峰, 董建珊, 邵宗有, 陈科 申请人:曙光信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1