[发明专利]一种基于内存独占的作业调度方法无效
申请号: | 201110397361.0 | 申请日: | 2011-12-02 |
公开(公告)号: | CN102521029A | 公开(公告)日: | 2012-06-27 |
发明(设计)人: | 张涛;李媛;梁晓湛;温鑫;赵欢;孙国忠;邵宗有 | 申请(专利权)人: | 曙光信息产业(北京)有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 北京安博达知识产权代理有限公司 11271 | 代理人: | 徐国文 |
地址: | 100084 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 内存 独占 作业 调度 方法 | ||
技术领域
本发明涉及高性能计算中的作业调度,特别涉及一种基于内存独占的作业调度方法。
背景技术
在高性能计算领域,通常应用大型应用软件对于内存的消耗量非常大,很容易出现部分节点内存耗尽、节点宕机的情况。这种情况的出现会严重影响大型集群的可用性。出现这一问题的原因在于,市场上的多数调度系统对于内存的管理不是很完善,通常的做法是统计作业的实际使用量,当超过限额时杀死作业。这种方法可以解决部分某些场景,但是不能根本解决这一问题。因为上述方法是从作业的角度检查内存,而作业内存超限和节点内存超限是两个不同的问题,即如果作业内存超限并不一定导致节点内存超限,而节点内存超限也不一定是因为其运行的作业有内存超限的问题。最根本的解决办法是从节点操作系统的角度调度作业来解决节点内存耗尽的问题。
发明内容
本发明的目的是通过作业的内存预测参数(以及进程内存预测参数)和节点内存配置信息来调度作业。该方法可以相对准确的预测内存的使用情况,从而根据这一信息解决作业调度问题,达到控制节点内存消耗的目的。
一种基于内存独占的作业调度方法,所述方法包括如下步骤:
S1,在每次作业调度运行时获取每个节点的可用内存量;
S2,在作业提交时对该作业需要占用的内存量进行预测;
S3,根据作业提交的参数中指定的进程数,将预测的内存量平均分配到每个进程中;
S4,作业等待调度和运行,调度时检查各个节点的可用内存量,并以此作为该节点能否运行作业的依据;
S5,作业调度成功后,根据S2和S3中获得的信息,计算该作业在各个节点上占用的内存量;
S6,根据S5中的信息更新节点的内存可用量;
S7,根据设定的时间间隔,重复S2到S7。
优选的,所述预测是根据该类作业之前的历史统计值的最大值做出或根据作业的申请做出。
优选的,所述进程在节点上运行时,如果内存不够,则继续向该节点申请。
优选的,所述节点内存如果不够,则将该节点运行的进程转移到其他节点,或暂停该进程,等待其他作业的资源释放。
优选的,所述进程在完成后释放占用的内存。
本发明的优点在于:综合作业的资源请求和节点的内存信息来调度作业,而不是仅根据作业的信息来预防节点内存耗尽问题,达到控制节点内存消耗的目的。
附图说明
具体实施方式
本发明通过作业的内存预测参数(以及进程内存预测参数)和节点内存配置信息来调度作业。
(1)首先,在作业调度运行时获取节点的总的可用内存;
(2)其次,在作业提交时预测该作业需要占用的内存量;预测可以根据之前该类作业的内存申请量的最大值或在作业中申请的内存量;
(3)再次,根据作业提交参数中指定的进程数,平均分配预测的内存到每个进程中;
(4)然后,等待作业调度调度和运行作业。调度时检查各节点的剩余可用内存量,并以此作为该节点能否运行作业的依据;
(5)一旦作业成功调度,根据步骤(2)、(3)中获取的信息,计算该作业在各个节点上占用的内存量;当进程需要的内存节点不满足时,可以将该进程转移到其他节点或等待其他作业释放内存;进程工作完成后释放内存;
(6)根据(5)中的信息更新节点的内存可用量;
(7)根据设定的时间间隔不断重复步骤(2)到(7)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于曙光信息产业(北京)有限公司,未经曙光信息产业(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110397361.0/2.html,转载请声明来源钻瓜专利网。