CN109656716A - 一种Slurm作业调度方法及系统 - Google Patents

一种Slurm作业调度方法及系统 Download PDF

Info

Publication number
CN109656716A
CN109656716A CN201811522655.XA CN201811522655A CN109656716A CN 109656716 A CN109656716 A CN 109656716A CN 201811522655 A CN201811522655 A CN 201811522655A CN 109656716 A CN109656716 A CN 109656716A
Authority
CN
China
Prior art keywords
resource
slurm
preferentially
seized
district
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811522655.XA
Other languages
English (en)
Other versions
CN109656716B (zh
Inventor
何翔龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201811522655.XA priority Critical patent/CN109656716B/zh
Publication of CN109656716A publication Critical patent/CN109656716A/zh
Application granted granted Critical
Publication of CN109656716B publication Critical patent/CN109656716B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Abstract

本发明实施例公开了一种Slurm作业调度方法及系统,所述方法包括:将集群中存在的物理节点按照不同的优先级设置成第一分区和第二分区,当第一分区作业需要抢占第二分区作业资源时,将节点的剩余资源列入备选资源当中,在Slurm进行模拟抢占时将所述剩余资源列为优先使用资源;按照预定规则区分作业的资源进行优先抢占,实现计算资源的调度。本发明使得Slurm框架可以更合理的调度资源,提高物理资源的使用率,完善了Slurm框架的调度机制。

Description

一种Slurm作业调度方法及系统
技术领域
本发明涉及云计算技术,尤指一种Slurm作业调度方法及系统。
背景技术
Slurm是一个现有开源的集群作业调度框架,用于为作业指定物理资源、中央处理器(Central Processing Unit,CPU)、内存。Slurm工作调度工具是面向Linux和Unix类似内核的免费和开源工作调度程序,为世界上许多超级计算机和计算机集群使用。它提供了三个关键功能。首先,它在一段时间内为用户分配计算资源,如计算机节点的独占和/或非独占访问权限,以便他们可以执行工作。其次,它提供了一个框架,用于在一组分配的节点上启动,执行和监视工作,通常是并行作业任务,例如消息传递接口(Message-Passing-Interface,MPI)。最后,它通过管理待处理作业队列来仲裁资源争用。
Slurm作业调度抢占机制存在缺陷:高优先级分区的作业在运行时,如果所需资源不足,则会进行模拟抢占,直到一种抢占方法可以满足高级分区作业的资源需求,此时被抢占的低级分区作业被挂起,高级分区作业运行,这里存在问题,Slurm在进行模拟抢占的时候并没有将节点的剩余资源优先列入模拟抢占的计算方案中,导致了资源的浪费。另外,抢占时只优先抢占运行时间短的作业的资源,并未对作业所占有的节点数加以区分。
因此现有技术导致Slurm框架对于资源的调度不够合理,存在资源浪费的情况。
发明内容
为了解决上述技术问题,本发明实施例提供了一种Slurm作业调度方法及系统,本发明使得Slurm框架可以更合理的调度资源,提高物理资源的使用率,完善了Slurm框架的调度机制。
为了达到本发明目的,一方面,本发明实施例提供了一种Slurm作业调度方法,包括:
将集群中存在的物理节点按照不同的优先级设置成第一分区和第二分区,当第一分区作业需要抢占第二分区作业资源时,将节点的剩余资源列入备选资源当中,在集群作业调度工具Slurm进行模拟抢占时将所述剩余资源列为优先使用资源;
按照预定规则区分作业的资源进行优先抢占,实现计算资源的调度。
进一步地,所述按照预定规则区分作业的资源进行优先抢占包括:
按第二分区作业运行时长判断,优先抢占运行时长短的作业。
进一步地,所述按照预定规则区分作业的资源进行优先抢占还包括:
同一运行时长中的作业优先抢占占有节点数少的作业。
进一步地,所述按照预定规则区分作业的资源进行优先抢占还包括:
当使用节点数相同时,优先抢占启动时间晚的作业的资源。
进一步地,所述按照预定规则区分作业的资源进行优先抢占还包括:
直到抢占到满足第一分区作业的运行需求时停止判断。
另一方面,本发明实施例还提供了一种Slurm作业调度系统,包括:
设置模块,用于将集群中存在的物理节点按照不同的优先级设置成第一分区和第二分区,当第一分区作业需要抢占第二分区作业资源时,将节点的剩余资源列入备选资源当中,在Slurm进行模拟抢占时将所述剩余资源列为优先使用资源;
调度模块,用于按照预定规则区分作业的资源进行优先抢占,实现计算资源的调度。
进一步地,所述调度模块用于:
按第二分区作业运行时长判断,优先抢占运行时长短的作业。
进一步地,所述调度模块还用于:
同一运行时长中的作业优先抢占占有节点数少的作业。
进一步地,所述调度模块还用于:
当使用节点数相同时,优先抢占启动时间晚的作业的资源。
进一步地,所述调度模块还用于:
直到抢占到满足第一分区作业的运行需求时停止判断。
本发明实施例通过将集群中存在的物理节点按照不同的优先级设置成第一分区和第二分区,当第一分区作业需要抢占第二分区作业资源时,将节点的剩余资源列入备选资源当中,在Slurm进行模拟抢占时将所述剩余资源列为优先使用资源;按照预定规则区分作业的资源进行优先抢占,实现计算资源的调度。本发明使得Slurm框架可以更合理的调度资源,提高物理资源的使用率,完善了Slurm框架的调度机制。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施例Slurm作业调度方法的流程图;
图2为本发明实施例Slurm作业调度系统的结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1为本发明实施例Slurm作业调度方法的流程图,如图1所示,本发明实施例的方法包括以下步骤:
步骤100:将集群中存在的物理节点按照不同的优先级设置成第一分区和第二分区,当第一分区作业需要抢占第二分区作业资源时,将节点的剩余资源列入备选资源当中,在集群作业调度工具Slurm进行模拟抢占时将所述剩余资源列为优先使用资源;
步骤101:按照预定规则区分作业的资源进行优先抢占,实现计算资源的调度。
其中第一分区和第二分区分别为高级别分区和低级别分区。
本发明实施例提出的方法为一种用于Slurm作业调度框架的调度抢占机制的改进方法,主要针对Slurm作业调度框架的调度抢占机制的改进,用来减少资源的浪费。
具体包括:
在Slurm进行模拟抢占时将剩余资源列为优先使用资源。
将优先抢占的作业进行细分。
具体地,当高级分区作业需要抢占低级分区作业资源时,首先将分区剩余资源列入备选资源当中,之后再按低级分区作业运行时长判断,可以指定每10秒为一个运行时长,优先抢占运行时长短的作业。其次,在同一运行时长中的作业优先抢占占有节点数少的作业,当使用节点数相同时,优先抢占启动时间晚的作业的资源,因为一般不存在启动时间完全一样的作业。直到抢占到足够多的资源以满足高级分区作业的运行需求,之后实际运行模拟抢占中判断好的抢占策略。
Slurm对作业调度的基本策略之一是:
对集群中存在的物理节点设置分区,一个节点可以属于多个分区。其中,节点指一个服务器或者一个虚拟机,即一组资源的集合,如CPU\内存,图形处理器(GraphicsProcessing Unit,GPU),可以设置作业执行的默认分区。
对每个分区可以设置不同的优先级。
根据对作业设置的运行分区,对作业实行调度如抢占与等待。
分区举例如下:
例一:
[user@n16~]$sinfo
例二:
[user@n16~]$grep PartitionName/shared/Slurm/Slurm.conf
PartitionName=DEFAULT OverSubscribe=FORCE:1 Nodes=n[12-16]
PartitionName=active PriorityTier=1 Default=YES
PartitionName=hipri PriorityTier=2
上面两例为两个分区的配置,其中hipri分区的优先级为2,active分区的优先级为1,
他们都建立在12-16号节点之上。
作业抢占举例如下:
[user@n8~]$sinfo
[user@n8~]$sbatch-N1-n2./sleepme 60
sbatch:Submitted batch job 17
[user@n8~]$sbatch-N1-n2./sleepme 60
sbatch:Submitted batch job 18
[user@n8~]$sbatch-N1-n2./sleepme 60
sbatch:Submitted batch job 19
[user@n8~]$squeue
[user@n8~]$sbatch-N3-n6-p hipri./sleepme 20
sbatch:Submitted batch job 20
[user@n8~]$squeue-Si
[user@n8~]$sinfo
其中,job17,18,19首先运行在默认分区上即active分区,共占用三个节点,分区剩余两个节点,此时运行job20,job20需要三个节点,此时由于job20运行在hipri分区上,所有job20运行优先级高于job17.18.19,所有job20需要抢占低分区作业的资源,所有调度之后,运行job20,job17,18,19全部挂起,等待高优先级分区作业执行完毕。
本发明实施例改进了现有技术的以下缺陷:
高优先级分区的作业在运行时如果所需资源不足,则会进行模拟抢占,直到一种抢占方法可以满足高分区作业的资源需求,此时被抢占的低级分区作业被挂起,高级分区作业运行,这里存在问题,Slurm在进行模拟抢占的时候并没有将节点的剩余资源优先列入模拟抢占的计算方案中。导致了资源的浪费。抢占时只优先抢占运行时间短的作业的资源,并未对作业所占有的节点数加以区分。
因此,本发明实施例使得Slurm框架可以更合理的调度资源,提高物理资源的使用率,完善了Slurm框架的调度机制。
进一步地,所述按照预定规则区分作业的资源进行优先抢占包括:
按第二分区作业运行时长判断,优先抢占运行时长短的作业。
进一步地,所述按照预定规则区分作业的资源进行优先抢占还包括:
同一运行时长中的作业优先抢占占有节点数少的作业。
进一步地,所述按照预定规则区分作业的资源进行优先抢占还包括:
当使用节点数相同时,优先抢占启动时间晚的作业的资源。
进一步地,所述按照预定规则区分作业的资源进行优先抢占还包括:
直到抢占到满足第一分区作业的运行需求时停止判断。
具体地,本发明实施例的方法在Slurm进行模拟抢占时将剩余资源列为优先使用资源,将优先抢占的作业细分,从而实现在实际运用中的计算资源的更合理高效的利用。
进一步地,在Slurm进行模拟抢占时将剩余资源列为优先使用资源,将优先抢占的作业细分,主要包括如下几个步骤:
步骤1.首先将当前分区中的剩余资源列入备选资源列表。
步骤2.按低级分区作业运行时长判断,优先抢占运行时长短的作业。
步骤3.同一运行时长中的作业优先抢占占有节点数少的作业。
步骤4.当使用节点数相同时,优先抢占启动时间晚的作业的资源(不存在启动时间完全一样的作业)。
步骤5.直到抢占到足够多的资源以满足高级分区作业的运行需求时停止判断。
在Slurm进行模拟抢占时将剩余资源列为优先使用资源,将优先抢占的作业细分,从而实现在实际运用中的计算资源的更合理高效的利用。
本发明使得Slurm框架可以在作业运行资源需要抢占的情况下,优先为作业分配分区剩余资源,将优先抢占的作业细分,完善了Slurm框架的资源调度体系,实现在实际运用中的计算资源的更合理高效的利用。
图2为本发明实施例Slurm作业调度系统的结构图,如图2所示,本发明实施例另一方面提供的一种Slurm作业调度系统,包括:
设置模块201,用于将集群中存在的物理节点按照不同的优先级设置成第一分区和第二分区,当第一分区作业需要抢占第二分区作业资源时,将节点的剩余资源列入备选资源当中,在Slurm进行模拟抢占时将所述剩余资源列为优先使用资源;
调度模块202,用于按照预定规则区分作业的资源进行优先抢占,实现计算资源的调度。
进一步地,所述调度模块202用于:
按第二分区作业运行时长判断,优先抢占运行时长短的作业。
进一步地,所述调度模块202还用于:
同一运行时长中的作业优先抢占占有节点数少的作业。
进一步地,所述调度模块202还用于:
当使用节点数相同时,优先抢占启动时间晚的作业的资源。
进一步地,所述调度模块202还用于:
直到抢占到满足第一分区作业的运行需求时停止判断。
本发明实施例通过将集群中存在的物理节点按照不同的优先级设置成第一分区和第二分区,当第一分区作业需要抢占第二分区作业资源时,将节点的剩余资源列入备选资源当中,在Slurm进行模拟抢占时将所述剩余资源列为优先使用资源;按照预定规则区分作业的资源进行优先抢占,实现计算资源的调度。本发明使得Slurm框架可以更合理的调度资源,提高物理资源的使用率,完善了Slurm框架的调度机制。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (10)

1.一种Slurm作业调度方法,其特征在于,包括:
将集群中存在的物理节点按照不同的优先级设置成第一分区和第二分区,当第一分区作业需要抢占第二分区作业资源时,将节点的剩余资源列入备选资源当中,在集群作业调度工具Slurm进行模拟抢占时将所述剩余资源列为优先使用资源;
按照预定规则区分作业的资源进行优先抢占,实现计算资源的调度。
2.根据权利要求1所述的Slurm作业调度方法,其特征在于,所述按照预定规则区分作业的资源进行优先抢占包括:
按第二分区作业运行时长判断,优先抢占运行时长短的作业。
3.根据权利要求2所述的Slurm作业调度方法,其特征在于,所述按照预定规则区分作业的资源进行优先抢占还包括:
同一运行时长中的作业优先抢占占有节点数少的作业。
4.根据权利要求3所述的Slurm作业调度方法,其特征在于,所述按照预定规则区分作业的资源进行优先抢占还包括:
当使用节点数相同时,优先抢占启动时间晚的作业的资源。
5.根据权利要求1-4任一项所述的Slurm作业调度方法,其特征在于,所述按照预定规则区分作业的资源进行优先抢占还包括:
直到抢占到满足第一分区作业的运行需求时停止判断。
6.一种Slurm作业调度系统,其特征在于,包括:
设置模块,用于将集群中存在的物理节点按照不同的优先级设置成第一分区和第二分区,当第一分区作业需要抢占第二分区作业资源时,将节点的剩余资源列入备选资源当中,在Slurm进行模拟抢占时将所述剩余资源列为优先使用资源;
调度模块,用于按照预定规则区分作业的资源进行优先抢占,实现计算资源的调度。
7.根据权利要求6所述的Slurm作业调度系统,其特征在于,所述调度模块用于:
按第二分区作业运行时长判断,优先抢占运行时长短的作业。
8.根据权利要求7所述的Slurm作业调度系统,其特征在于,所述调度模块还用于:
同一运行时长中的作业优先抢占占有节点数少的作业。
9.根据权利要求8所述的Slurm作业调度系统,其特征在于,所述调度模块还用于:
当使用节点数相同时,优先抢占启动时间晚的作业的资源。
10.根据权利要求6-9任一项所述的Slurm作业调度系统,其特征在于,所述调度模块还用于:
直到抢占到满足第一分区作业的运行需求时停止判断。
CN201811522655.XA 2018-12-13 2018-12-13 一种Slurm作业调度方法及系统 Active CN109656716B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811522655.XA CN109656716B (zh) 2018-12-13 2018-12-13 一种Slurm作业调度方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811522655.XA CN109656716B (zh) 2018-12-13 2018-12-13 一种Slurm作业调度方法及系统

Publications (2)

Publication Number Publication Date
CN109656716A true CN109656716A (zh) 2019-04-19
CN109656716B CN109656716B (zh) 2020-12-01

Family

ID=66112999

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811522655.XA Active CN109656716B (zh) 2018-12-13 2018-12-13 一种Slurm作业调度方法及系统

Country Status (1)

Country Link
CN (1) CN109656716B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110362403A (zh) * 2019-06-25 2019-10-22 苏州浪潮智能科技有限公司 一种作业调度方法及装置
CN113032102A (zh) * 2021-04-07 2021-06-25 广州虎牙科技有限公司 资源重调度方法、装置、设备和介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104021044A (zh) * 2013-02-28 2014-09-03 中国移动通信集团浙江有限公司 一种作业调度方法及装置
CN108769254A (zh) * 2018-06-25 2018-11-06 星环信息科技(上海)有限公司 基于抢占式调度的资源共享使用方法、系统及设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104021044A (zh) * 2013-02-28 2014-09-03 中国移动通信集团浙江有限公司 一种作业调度方法及装置
CN108769254A (zh) * 2018-06-25 2018-11-06 星环信息科技(上海)有限公司 基于抢占式调度的资源共享使用方法、系统及设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SLURM: "preemption", 《SCHEDMD》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110362403A (zh) * 2019-06-25 2019-10-22 苏州浪潮智能科技有限公司 一种作业调度方法及装置
CN113032102A (zh) * 2021-04-07 2021-06-25 广州虎牙科技有限公司 资源重调度方法、装置、设备和介质
CN113032102B (zh) * 2021-04-07 2024-04-19 广州虎牙科技有限公司 资源重调度方法、装置、设备和介质

Also Published As

Publication number Publication date
CN109656716B (zh) 2020-12-01

Similar Documents

Publication Publication Date Title
Hamscher et al. Evaluation of job-scheduling strategies for grid computing
CN107025205B (zh) 一种分布式系统中的训练模型的方法及设备
CN107291547B (zh) 一种任务调度处理方法、装置及系统
US7689996B2 (en) Method to distribute programs using remote Java objects
Bettati et al. End-to-End Scheduling to Meet Deadlines in Distributed Systems.
Bangs et al. Better operating system features for faster network servers
CN108762896A (zh) 一种基于Hadoop集群任务调度方法及计算机设备
Zhang et al. Impact of workload and system parameters on next generation cluster scheduling mechanisms
Lai et al. Sol: Fast distributed computation over slow networks
CN109656716A (zh) 一种Slurm作业调度方法及系统
JPH10143380A (ja) マルチプロセッサシステム
CN106201681A (zh) Hadoop平台下基于预释放资源列表的任务调度算法
CN113626173B (zh) 调度方法、装置及存储介质
Sharma et al. Performance evaluation of fair and capacity scheduling in Hadoop YARN
JPH0628323A (ja) プロセス実行制御方法
CN110955526A (zh) 一种用于在分布式异构环境下实现多gpu调度的方法和系统
KR20170125564A (ko) 병렬 패킷 처리를 위한 패킷 분배 방법 및 패킷 분배 관리장치
Gopalt et al. Load balancing in a heterogeneous computing environment
Khelghatdoust et al. Peacock: Probe-based scheduling of jobs by rotating between elastic queues
CN113225269B (zh) 基于容器的工作流调度方法、装置、系统及存储介质
Li et al. Efficient semantic-aware coflow scheduling for data-parallel jobs
Gadre et al. Investigating MapReduce framework extensions for efficient processing of geographically scattered datasets
Cai et al. A simulation study of dynamic load balancing for network-based parallel processing
Choudhary et al. A comparative study of various CPU scheduling algorithms using MOOS simulator
CN109992382A (zh) 任务调度方法、装置及任务调度器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201103

Address after: 215100 No. 1 Guanpu Road, Guoxiang Street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province

Applicant after: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd.

Address before: 450018 Henan province Zheng Dong New District of Zhengzhou City Xinyi Road No. 278 16 floor room 1601

Applicant before: ZHENGZHOU YUNHAI INFORMATION TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant