CN112416596A - 一种节点调度方法、装置及设备 - Google Patents
一种节点调度方法、装置及设备 Download PDFInfo
- Publication number
- CN112416596A CN112416596A CN202011386740.5A CN202011386740A CN112416596A CN 112416596 A CN112416596 A CN 112416596A CN 202011386740 A CN202011386740 A CN 202011386740A CN 112416596 A CN112416596 A CN 112416596A
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- job
- time period
- running
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000009467 reduction Effects 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims description 38
- 230000015654 memory Effects 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 20
- 238000012549 training Methods 0.000 claims description 8
- 238000005265 energy consumption Methods 0.000 abstract description 19
- 230000008901 benefit Effects 0.000 abstract description 13
- 238000003860 storage Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000001174 ascending effect Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003912 environmental pollution Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Supply And Distribution Of Alternating Current (AREA)
Abstract
本申请提供一种节点调度方法、装置及设备,每个时间段各节点不尽相同的使用率,通过确定在当前时间之前的历史时间段内超级计算机系统中各节点运行作业情况的特征值;利用训练好的LSTM模型中,预测在未来时间段内负载小于设定负载阈值的节点数量,并从本系统各节点中,选取与预测的节点数量相同的且负载小于设定负载阈值的目标节点,以为本系统在未来时间段内留有灵活调度目标节点的时间,进而使各节点尽可能发挥本节点的性能优势,同时达到防止因频繁降频或断电目标节点,引起的额外能耗损失。因此,应用本申请实施例能够在不同时间段内动态地确定负载小的目标节点,以使各节点尽可能发挥本节点的性能优势的同时,达到降低能耗的目的。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种节点调度方法、装置及设备。
背景技术
随着超级计算机系统性能规模的不断扩大,整个系统能耗随之也会呈指数增长,相应地,整个系统能耗也会导致巨大的运行开销,同时还会带来严重的环境污染。因此,降低系统能耗已经成为超级计算机系统研制需要解决的重点问题。
目前,在超级计算机系统中,常用的节能方法是通过查询系统中各节点截止当前时间的空闲时间,如果存在空闲时间大于预设的时间阈值的节点,则将这些节点确定为闲置节点,并对闲置节点进行降频或断电处理,在降频或断电处理后,针对新的作业任务,再重新启动闲置节点,进而达到降低系统能耗的目的。
然而在实际应用中,每个时间段各节点运行作业的使用率不尽相同,而上述通过时间阈值确定闲置节点的方法,属于一刀切,不够灵活,在面对新的作业任务进行分配时,使得降频和断电后的闲置节点重新上电,如果时间阈值设定不准确,还会造成闲置节点频繁开关机的现象,反而会加大系统的能耗。
发明内容
有鉴于此,本发明提供一种节点调度方法、装置及设备,以在不同时间段内动态地确定负载小的目标节点,以使各节点尽可能发挥本节点的性能优势的同时,达到降低能耗的目的。
具体地,本申请是通过如下技术方案实现的:
第一方面,本申请实施例提供一种节点调度方法,所述方法包括:
依据在当前时间之前的第一时间段内超级计算机系统中各个节点的作业运行情况,确定对应的至少一个特征值;
将所述至少一个特征值输入到已训练好的长短期记忆网络LSTM模型中,得到预测结果,所述预测结果用于表征预测出的在所述当前时间之后的第二时间段内负载小于设定负载阈值的节点数量N;所述负载用于表征节点运行的作业量;
依据所述超级计算机系统中各节点在当前时间的作业运行情况,从所述超级计算机系统中选择M个负载小于设定负载阈值的目标节点,所述M小于或等于N;
调度选择的M个目标节点以处理所述第二时间段内待处理的作业。
第二方面,基于相同的构思,本申请还提供一种节点调度装置,所述装置包括:
特征值确定单元,用于依据在当前时间之前的第一时间段内超级计算机系统中各个节点的作业运行情况,确定对应的至少一个特征值;
节点数量预测单元,用于将所述至少一个特征值输入到已训练好的长短期记忆网络LSTM模型中,得到预测结果,所述预测结果用于表征预测出的在所述当前时间之后的第二时间段内负载小于设定负载阈值的节点数量N;所述负载用于表征节点运行的作业量;
节点选择单元,用于依据所述超级计算机系统中各节点在当前时间的作业运行情况,从所述超级计算机系统中选择M个负载小于设定负载阈值的目标节点,所述M小于或等于N;
调度单元,用于调度选择的M个目标节点以处理所述第二时间段内待处理的作业。
第三方面,本申请实施例提供一种电子设备,该电子设备包括处理器和存储器;
所述存储器,用于存储机器可执行指令;
所述处理器,用于读取并执行所述存储器存储的机器可执行指令,以实现上述实施例所述的节点调度方法的方法步骤。
由以上技术方案可以看出,本申请实施例中,通过确定超级计算机系统中各节点在当前时间之前的历史时间段内运行作业情况的特征值;利用训练好的LSTM模型中,预测在未来时间段内负载小于设定负载阈值的节点数量,并从本系统各节点中,选取与预测的节点数量相同的且负载小于设定负载阈值的目标节点,以为本系统在未来时间段内留有灵活调度目标节点的时间,进而使各节点尽可能发挥本节点的性能优势,同时达到防止因频繁降频或断电目标节点,引起的额外能耗损失。因此,应用本申请实施例提供的技术方案能够在不同时间段内动态地确定负载小的目标节点,以使各节点尽可能发挥本节点的性能优势的同时,达到降低能耗的目的。
附图说明
图1是本申请实施例提供的一种节点调度方法的流程示意图;
图2是本申请实施例提供的另一种节点调度方法的流程示意图;
图3是本申请实施例提供的一种节点调度装置的硬件结构示意图;
图4是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在实际应用中,每个时间段超级计算机系统中各节点运行作业的使用率不尽相同,而现有技术通过时间阈值确定闲置节点的方法,属于一刀切,不够灵活,而且在面对新的作业任务进行分配时,又需要对已经降频或断电后的闲置节点重新上电,以运行新的业务,但是,对于运行作业少的、且还具备提供继续处理其他业务能力的节点在耗能的同时,却未能够得到充分发挥本节点的性能优势。而且如果时间阈值设定不准确,还会造成闲置节点频繁开关机的现象,反而会加大系统的能耗。为解决这一技术问题,本申请实施例提供了一种节点调度方法、装置及设备。
本申请的一个实施例中,提供了一种节点调度方法,该方法包括:依据在当前时间之前的第一时间段内超级计算机系统中各个节点的作业运行情况,确定对应的至少一个特征值;将至少一个特征值输入到已训练好的长短期记忆网络LSTM模型中,得到预测结果,预测结果用于表征预测出的在当前时间之后的第二时间段内负载小于设定负载阈值的节点数量N;负载用于表征节点运行的作业量;依据超级计算机系统中各节点在当前时间的作业运行情况,从超级计算机系统中选择M个负载小于设定负载阈值的目标节点,所述M小于或等于N;调度选择的M个目标节点以处理所述第二时间段内待处理的作业。
由以上可见,应用本实施例提供的方案针对每个时间段各节点不尽相同的使用率,基于各个节点当前时间的历史时间段内运行作业情况的特征值,利用训练好的LSTM模型动态地预测未来时间段内负载小于设定负载阈值的节点数量,进而依据预测的节点数量确定出负载小于设定负载阈值的目标节点,以为本系统在未来时间段内留有灵活调度目标节点的时间,以使各节点尽可能发挥本节点的性能优势,同时达到防止因频繁降频或断电目标节点,引起的额外能耗损失。因此,应用本申请实施例提供的技术方案能够在不同时间段内动态地确定负载小的目标节点,以使各节点尽可能发挥本节点的性能优势的同时,达到降低能耗的目的。
请参见图1,图1是本申请实施例提供的一种节点调度方法的流程示意图,该方法可以包括如下步骤:
步骤101、依据在当前时间之前的第一时间段内超级计算机系统中各个节点的作业运行情况,确定对应的至少一个特征值。
上述第一时间段可以泛指当前时间之前的任一时间段,这里只是为便于描述进行的命名,并不局限本申请。
在本步骤中,上述确定对应的至少一个特征值可以理解为确定作业运行情况对应的至少一个特征值。
实现步骤101的实现方式有很多,这里,至少可以包括如下两种实施方式,具体为:
第一种实施方式:从超级计算机系统中的节点调度数据库中,获取当前时间之前的第一时间段内本系统的作业运行情况的特征数据,并对获取的特征数据进行统计处理,得到上述特征值。
第二种实施方式:针对每一节点,获取该节点在当前时间之前的第一时间段内作业运行情况的特征数据,并对获取的特征数据进行统计处理,得到上述特征值。
基于此,作为一个实施例,上述特征值至少可以包括以下任一或任一组合:
处于运行作业状态的节点的节点属性信息,节点属性信息至少包括:在第一时间段内被使用的CPU的数量、被使用的内存量、运行的作业量、以及运行作业的总时长;
在第一时间段内处于运行作业状态的节点的节点数量;
在第一时间段内处于作业挂起状态的节点数量;
在第一时间段内处于作业挂起状态的作业挂起总时长;
在第一时间段内处于闲置状态的节点数量,所述闲置状态用于指示未运行作业且不存在已被挂起的作业。
步骤102、将至少一个特征值输入到已训练好的LSTM(Long Short-Term Memory,长短期记忆网络)模型中,得到预测结果,上述预测结果用于表征预测出的在所述当前时间之后的第二时间段内负载小于设定负载阈值的节点数量N;上述负载用于表征节点运行的作业量。
这里,第二时间段只是为了便于描述而进行的命名,并非用于限定某一时间段。
在本步骤中,第二时间段是相对于当前时间的未来时间段。
为了能够提高LSTM模型输出预测结果(节点数量N)的准确率,可以利用较长的历史时间段内对应的特征值,预测较短的未来时间段对应的节点数量N,基于此,作为一个实施例,第二时间段小于或等于第一时间段。
在本步骤中,通过将当前时间之前的第一时间段内对应的特征值输入到LSTM模型中,就可以预测出在当前时间之后的第二时间段内负载小于设定负载阈值的节点数量N。基于此,超级计算机系统在不同时间内可以通过LSTM模型动态地决定负载小于设定负载阈值的节点数量。
上述LSTM模型是以样本节点的样本特征值为输入信息,对LSTM模型进行训练后得到的模型,具体训练过程的实施方式将在后面实施例中详细描述,这里暂不详述。
步骤103、依据超级计算机系统中各节点在当前时间的作业运行情况,从超级计算机系统中选择M个负载小于设定负载阈值的目标节点,上述M小于或等于N。
在预测出N个节点后,本步骤从N个节点中可以选取出小于或等于N个节点(M)进行调度处理。
上述设定负载阈值可以是依据本系统除去N之外的余下节点中的每一节点在当前时间运行作业的数量确定。这样,M个节点中的每一节点当前时间运行作业的数量均小于本系统余下节点中的每一节点在当前时间运行作业的数量。
作为一个实施例,可以按照本系统各节点当前时间运行作业的数量,对本系统各节点进行排序,得到排序后的节点排序序列,从上述节点排序序列中,选取M个排序在端部且运行作业少的节点作为目标节点。
在本实施例中,上述的排序可以是按照各节点当前时间运行作业的数量从多到少进行排序,也就是,降序排序,也可以是按照各节点当前时间运行作业的数量从少到多进行排序,也就是,升序排序。
基于降序排序,上述选取M个排序在端部且运行作业少的节点中的端部就是排序序列的尾部。基于升序排序,上述选取M个排序在端部且运行作业少的节点中的端部就是排序序列的首部。
作为一个实施例,基于上述对该实施例的描述,实现步骤103至少可以包括两种实施方式,具体为:
第一种实施方式,按照本系统中各节点当前时间运行作业的数量,对各节点进行降序排序,得到降序序列;
从上述降序序列中,选取后M个节点作为目标节点。
上述的降序序列就是上述描述的对本系统各节点当前时间运行作业的数量进行从多到少的排序。
示例性的,设本系统各节点分别为节点A、节点B、节点C和节点D,则节点A当前时间运行作业数量为6,节点B当前时间运行作业节点数量为5,节点C当前时间运行节点数量为2,节点D当前时间运行作业节点数量为0,同时,预测的节点数量N为2,通过对上述节点A~D中运行作业数量进行降序排序,得到节点A、节点B、节点C和节点D的降序序列,从上述降序序列中,选取后2个节点,即节点C和节点D作为目标节点。
第二种实施方式,按照本系统中各节点当前时间运行作业的数量,对各节点进行升序排序,得到升序序列;
从升序序列中,选取前M个节点作为目标节点。
上述的降序序列就是上述描述的对本系统各节点当前时间运行作业的数量进行从多到少的排序。
示例性的,基于上述示例,通过对上述节点A~D中运行作业数量进行升序排序,得到节点D、节点C、节点B和节点A的升序序列,从上述升序序列中,选取前2个节点,即节点C和节点D作为目标节点。
步骤104,调度选择的M个目标节点以处理所述第二时间段内待处理的作业。
在本步骤中,第二时间段为实际的时间段,也就是说,调用M个目标节点以处理实际的第二时间段内待处理的作业。
基于上述实施例,如果按照背景技术所描述的现有技术,则选出的目标节点只可能是节点D,且若节点D的闲置时间小于时间阈值,有可能会得出没有闲置节点,进而会造成没有可调度的节点以处理待处理的作业,显然这与事实不符,相对于现有技术的时间阈值一刀切的确定闲置节点,以实现调度的实施方式,本实施例中确定目标节点,以实现调度的实施方式更加灵活且更加接近实际应用。
作为一个实施例,M个目标节点可以包括第一类节点和第二类节点,第一类节点是指处于作业运行状态的节点,第二类节点是指处于闲置状态的节点,闲置状态用于指示未运行作业且不存在已被挂起的作业;
步骤104的具体实现方式可以包括如下步骤:
针对待处理作业,先检查第一类节点中是否存在用于运行该待处理作业的节点,如果是,调度第一类节点中存在的用于运行该待处理作业的节点运行该待处理作业,如果否,从第二类节点中选择用于运行该待处理作业的节点,调度第二类节点中存在的用于运行该待处理作业的节点运行该待处理作业。
在当前时间之后的第二时间段内存在待处理作业,则意味着,需要在目标节点上运行业务,作为一个实施例,针对目标节点中可能存在运行作业的节点,则通过判断这些运行作业的节点(本文指第一类节点)是否具备处理待处理业务的业务处理能力,如果是,则将这些待处理业务全部运行在第一类节点上,如果否,则优先检查第一类节点中的各个节点是否具备处理待处理作业的能力,若存在,则将待处理业务运行在第一类节点中,余下的部分待处理业务可以调度在第二类节点中,这样,可以确定出第一类节点中存在用于运行该待处理作业的节点,进而可以进一步尽可能使各个节点发挥尽可能大的性能优势。若均不存在,则从第二类节点中选择用于运行该待处理作业的节点,调度第二类节点中存在的用于运行该待处理作业的节点运行该待处理作业。
作为另一个实施例,该方法进一步包括:将第二类节点中未被调度处理第二时间段内任一作业的节点进行降频处理或断电处理;
降频处理是指在第二时间段内降低CPU的工作频率。
另外,在目标节点处于降频或断电的过程中,若存在待处理作业,则对目标节点恢复供电,以使待处理业务可以在处于闲置状态的节点中运行。
可见,在本申请实施例提供的技术方案中,通过将第二类节点中未被调度处理第二时间段内任一作业的节点进行降频处理或断电处理,进而可以减小CPU的耗电量,以能够达到降低能耗的目的。
至此,完成图1所示流程。
通过图1所示流程可以看出,在本申请中,不再设置固定的时间阈值,而是针对每个时间段各节点不尽相同的使用率,通过确定超级计算机系统中各节点在当前时间之前的历史时间段内运行作业情况的特征值;利用训练好的LSTM模型中,预测在未来时间段内负载小于设定负载阈值的节点数量,并从本系统各节点中,选取与预测的节点数量相同的且负载小于设定负载阈值的目标节点,以为本系统在未来时间段内留有灵活调度目标节点的时间,进而使各节点尽可能发挥本节点的性能优势,同时达到防止因频繁降频或断电目标节点,引起的额外能耗损失。因此,应用本申请实施例提供的技术方案能够在不同时间段内动态地确定负载小的目标节点,以使各节点尽可能发挥本节点的性能优势的同时,达到降低能耗的目的。
本申请的一个实施例中,LSTM模型通过如下步骤A~步骤D训练:
步骤A,获取样本特征值,样本特征值是依据目标时间之前的第一时间段内超级计算机系统的作业运行情况确定的。
其中,目标时间可以泛指当前时间之前的任一时间,这里只是为便于描述进行的命名,并不局限本申请。
上述样本特征值可以分为两部分,一部分用于训练的第一样本节点对应的样本特征值,另一部分用于验证的第二样本节点对应的样本特征值。
本发明实施例中,第一样本节点和第二样本节点并不特指某两个固定的节点,而是可以指本系统中任意两部分节点,本申请实施例后续不再复述。
在一些实施例中,第二样本节点中的节点可以与第一样本节点中的节点部分相同,或是完全不相同。
作为一个实施例,上述样本特征值可以通过对目标时间之前的第一时间段内表征超级计算机系统的作业运行情况的历史特征数据进行统计处理,获得样本特征值,这些历史特征数据可以来源本系统节点调度数据库中,该数据库中保存有记录用户提交作业时申请的资源状况。该数据库保存的数据可以包括:提交作业的ID、提交人、各节点的CPU数量、正在使用中CPU数量、节点列表、分区信息等13个指标,具体如表1所示。
表1
属性名称 | 说明 |
job_id | 作业的编号 |
account | 提交作业的账号 |
cpu_req | CPU使用的个数 |
job_name | 作业名称 |
gpu_req | GPU使用个数 |
mem_req | 内存使用大小 |
node_list | 节点列表 |
partition | 分区名称 |
priority | 作业优先级 |
state | 作业状态 |
time_submit | 提交作业的时间 |
time_start | 作业开始时间 |
time_end | 作业结束时间 |
由上述表1可见,上述历史特征数据中存在不具有识别性的指标,如作业编号呈递增趋势且不会重复出现的号码,不难看出,作业编号属于不具有识别性的指标,用户自己自定义的用户名称以及作业列表,这些指标均属于不具有识别性的指标,基于此,本步骤中,获取的历史特征数据为过滤掉不具有识别性指标的历史特征数据,这些历史特征数据包括:CPU使用个数、内存使用大小、节点列表、提交作业的时间、作业结束时间、作业开始时间。
基于具有识别性的历史特征数据,需要对上述历史特征数据进行统计处理,作为一个实施例,对节点列表(node_list)进行统计处理,具体为:统计节点列表中节点的主机名,得到运行作业的节点数目。针对每一节点,通过该节点中作业的开始时间和作业的结束时间,可以统计得到各节点中作业的运行时间。针对每一节点,基于该节点中作业的开始时间和作业的提交时间,可以统计得到该节点中作业的挂起时间。在本系统中各节点的作业状态(state)进行统计划分处理,以将失败的任务以及取消的任务、超时的任务都归类为完成状态,可以得到三级划分,具体为:运行、挂起、完成。
基于此,作为一个实施例,第一时间段可以划分为多个时间段T,可以将本系统各节点状态可以分为3类,工作状态的节点:表示有作业运行的节点;降频状态的节点:表示在目标时间之后的T将要使用的节点;断电状态的节点:表示在目标时间之后的2T不会使用的节点。其中,工作状态的节点为当前样本节点中分配作业的节点,降频状态的节点为:在目标时间之后的T-2T处于工作状态的节点减去在目标时间之后的T处于工作状态的节点;断电状态的节点:本系统中样本节点的数量减去降频节点数以及工作节点数。所以只需要预测降频节点数就可以确定出本系统中各节点的三种状态的节点数目分别是多少。
基于上述分析,上述第一样本节点的样本特征值可以为表2的特征值。
表2
属性序号 | 说明 |
cpu_req | 在第一时间段内被使用的CPU的数量 |
mem_req | 在第一时间段内被使用的内存量 |
node_num | 在第一时间段内运行的作业量 |
Running_job | 在第一时间段内运行作业的总时长 |
Pending_job | 在第一时间段内处于运行作业状态的节点的节点数量 |
Complete_job | 在第一时间段内处于作业挂起状态的节点数量 |
Running_time | 在第一时间段内处于闲置状态的节点数量 |
Pending_time | 在第一时间段内处于作业挂起状态的作业挂起总时长 |
步骤B,利用已配置的在目标时间之后第二时间段内负载小于设定负载阈值的样本节点数量、以及样本特征值训练LSTM模型。
获得第一样本节点和第二样本节点分别在目标时间之后的第二时间段内负载小于设定负载阈值的样本节点数量。
鉴于第一样本节点和第二样本节点中各节点在目标时间之后的第二时间段内的作业运行情况均已知晓,基于此,可以直接获得第一样本节点和第二样本节点在目标时间之后的第二时间段内的样本节点数量。
以第一样本节点对应的样本特征值为LSTM模型的输入信息,以第一样本节点对应的样本节点数量为训练基准,对LSTM模型进行训练。
作为一个实施例,针对第一样本节点中的每一节点,将该节点对应的样本特征值输入到LSTM模型中,得到LSTM模型输出的在目标时间之后的第二时间段内的第一样本节点数量,如果该节点对应的第一样本节点数量与该节点已配置的样本节点数量不匹配,则对LSTM模型进行模型参数调整,直到第一样本节点中预设数量的节点对应训练后的LSTM模型输出的样本节点数量均与各自对应已配置的样本节点数量匹配,则将训练后的LSTM模型作为用于预测在当前时间之后的第二时间段内负载小于设定负载阈值的节点数量的模型。
将第二样本节点对应的样本特征值输入到上述实施例已训练后的LSTM模型中,得到在目标时间之后的第二时间段内负载小于设定负载阈值的第二样本节点数量;如果第二样本节点数量与第一样本节点数量的绝对差值小于或等于阈值,则更新第一样本节点,重新按照上述实施例训练后的LSTM模型进行训练,如果第二样本节点数量与第一样本节点数量的绝对差值大于阈值,则表示训练后的LSTM模型预测当前时间之后的第一时间段内节点数量的准确率达到了预期,无需再对LSTM模型进一步训练。
在本步骤中,上述第二样本节点数量是为了与第一样本节点数量进行区分进行命名的,并非用于限定某一样本节点数量。
上述第二样本节点数量可以大于第一样本节点数量,也可以是小于第一样本节点数量,但是,第二样本节点数量与第一样本节点数量的绝对差值小于或等于阈值,上述阈值可以是2,也可以是1,甚至也可以是0,阈值取值越小,则意味着LSTM模型预测的节点数量更加准确。
在完成图1所示流程之后,在本申请中,作为一个实施例,若第二时间段内不存在待处理作业,该方法进一步包括:对M个目标节点中处于闲置状态的节点进行降频处理或断电处理,上述闲置状态就是用于指示未运行作业且不存在已被挂起的作业。
若在当前时间之后的第二时间段内不存在待处理作业,则表明在当前时间之后的第二时间段内均未有提交的作业,也就是说,没有为目标节点调度的作业,这样,就可以对在当前时间之后的第二时间段内的目标节点中未有运行业务且未被挂起作业的节点进行降频或断电处理。
参见图2,图2为本申请实施例提供的另一种节点调度方法的流程示意图,该方法可以包括如下步骤201~208:
步骤201,依据在当前时间之前的第一时间段内超级计算机系统中各个节点的作业运行情况,确定对应的至少一个特征值。
步骤202,将至少一个特征值输入到已训练好的LSTM模型中,得到预测结果。
步骤203,按照超级计算机系统中各节点当前时间运行作业的数量,对各节点进行降序排序,得到降序序列。
步骤204,基于预测结果,从降序序列中,选取后M个节点作为目标节点,判断超级计算机系统是否存在待处理业务,如果存在,则执行步骤205;如果不存在,执行步骤208。
步骤205,先检查第一类节点中是否存在用于运行该待处理作业的节点,如果是,则执行步骤206,如果否,则执行步骤207。
步骤206,调度第一类节点中存在的用于运行该待处理作业的节点运行该待处理作业。
步骤207,从第二类节点中选择用于运行该待处理作业的节点,调度第二类节点中存在的用于运行该待处理作业的节点运行该待处理作业。
步骤208,对M个目标节点中处于闲置状态的节点进行降频处理或断电处理。
至此,完成图2所示流程。
通过图2所示流程可以看出,在本申请中,不再设置固定的时间阈值,而是针对每个时间段各节点不尽相同的使用率,通过确定超级计算机系统中各节点在当前时间之前的历史时间段内运行作业情况的特征值;利用训练好的LSTM模型中,预测在未来时间段内负载小于设定负载阈值的节点数量,并从本系统各节点中,选取与预测的节点数量相同的且负载小于设定负载阈值的目标节点,以为本系统在未来时间段内留有灵活调度目标节点的时间,进而使各节点尽可能发挥本节点的性能优势,同时达到防止因频繁降频或断电目标节点,引起的额外能耗损失。因此,应用本申请实施例提供的技术方案能够在不同时间段内动态地确定负载小的目标节点,以使各节点尽可能发挥本节点的性能优势的同时,达到降低能耗的目的。
基于与上述方法同样的申请构思,本申请实施例还提出一种节点调度装置300,如图3所示,该装置可以包括。
特征值确定单元301,用于依据在当前时间之前的第一时间段内超级计算机系统中各个节点的作业运行情况,确定对应的至少一个特征值;
节点数量预测单元302,用于将所述至少一个特征值输入到已训练好的长短期记忆网络LSTM模型中,得到预测结果,所述预测结果用于表征预测出的在所述当前时间之后的第二时间段内负载小于设定负载阈值的节点数量N;所述负载用于表征节点运行的作业量。
节点选择单元303,用于依据所述超级计算机系统中各节点在当前时间的作业运行情况,从所述超级计算机系统中选择M个负载小于设定负载阈值的目标节点,所述M小于或等于N。
调度单元304,用于调度选择的M个目标节点以处理所述第二时间段内待处理的作业。
作为一个实施例,上述装置还可以至少包括以下任一或任一组合:
处于运行作业状态的节点的节点属性信息,所述节点属性信息至少包括:在第一时间段内被使用的CPU的数量、被使用的内存量、运行的作业量、以及运行作业的总时长;
在第一时间段内处于运行作业状态的节点的节点数量;
在第一时间段内处于作业挂起状态的节点数量;
在第一时间段内处于作业挂起状态的作业挂起总时长;
在第一时间段内处于闲置状态的节点数量,所述闲置状态用于指示未运行作业且不存在已被挂起的作业。
作为一个实施例,M个目标节点包括第一类节点和第二类节点,所述第一类节点是指处于作业运行状态的节点,所述第二类节点是指处于闲置状态的节点,所述闲置状态用于指示未运行作业且不存在已被挂起的作业。该调度单元304,具体用于执行:
其中,模型验证单元可以包括:
针对待处理作业,先检查所述第一类节点中是否存在用于运行该待处理作业的节点,如果是,调度所述第一类节点中存在的用于运行该待处理作业的节点运行该待处理作业,如果否,从所述第二类节点中选择用于运行该待处理作业的节点,调度所述第二类节点中存在的用于运行该待处理作业的节点运行该待处理作业。
作为一个实施例,上述装置还可以包括:
第一节点处理单元,用于将所述第二类节点中未被调度处理所述第二时间段内任一作业的节点进行降频处理或断电处理。
作为一个实施例,若所述第二时间段内不存在待处理作业,该装置可以进一步包括:
第二节点处理单元,用于对所述M个目标节点中处于闲置状态的节点进行降频处理或断电处理,所述闲置状态用于指示未运行作业且不存在已被挂起的作业。
作为一个实施例,所述LSTM模型可以通过以下方式训练:
获得样本特征值,所述样本特征值为依据目标时间之前的第一时间段内所述超级计算机系统的作业运行情况确定的特征值;
利用已配置的在所述目标时间之后第二时间段内负载小于设定负载阈值的样本节点数量、以及所述样本特征值训练所述LSTM模型。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
本申请实施例提供的电子设备,从硬件层面而言,硬件架构示意图可以参见图4所示。包括:机器可读存储介质和处理器,其中:所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现上述示例公开的节点调度操作。
本申请实施例提供的机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现上述示例公开的节点调度操作。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种节点调度方法,其特征在于,所述方法包括:
依据在当前时间之前的第一时间段内超级计算机系统中各个节点的作业运行情况,确定对应的至少一个特征值;
将所述至少一个特征值输入到已训练好的长短期记忆网络LSTM模型中,得到预测结果,所述预测结果用于表征预测出的在所述当前时间之后的第二时间段内负载小于设定负载阈值的节点数量N;所述负载用于表征节点运行的作业量;
依据所述超级计算机系统中各节点在当前时间的作业运行情况,从所述超级计算机系统中选择M个负载小于设定负载阈值的目标节点,所述M小于或等于N;
调度选择的M个目标节点以处理所述第二时间段内待处理的作业。
2.根据权利要求1所述的方法,其特征在于,所述至少一个特征值至少包括以下任一或任一组合:
处于运行作业状态的节点的节点属性信息,所述节点属性信息至少包括:在第一时间段内被使用的CPU的数量、被使用的内存量、运行的作业量、以及运行作业的总时长;
在第一时间段内处于运行作业状态的节点的节点数量;
在第一时间段内处于作业挂起状态的节点数量;
在第一时间段内处于作业挂起状态的作业挂起总时长;
在第一时间段内处于闲置状态的节点数量,所述闲置状态用于指示未运行作业且不存在已被挂起的作业。
3.根据权利要求1所述的方法,其特征在于,所述M个目标节点包括第一类节点和第二类节点,所述第一类节点是指处于作业运行状态的节点,所述第二类节点是指处于闲置状态的节点,所述闲置状态用于指示未运行作业且不存在已被挂起的作业;
所述调度选择的M个目标节点以处理所述第二时间段内待处理的作业包括:
针对待处理作业,先检查所述第一类节点中是否存在用于运行该待处理作业的节点,如果是,调度所述第一类节点中存在的用于运行该待处理作业的节点运行该待处理作业,如果否,从所述第二类节点中选择用于运行该待处理作业的节点,调度所述第二类节点中存在的用于运行该待处理作业的节点运行该待处理作业。
4.根据权利要求3所述的方法,其特征在于,该方法进一步包括:
将所述第二类节点中未被调度处理所述第二时间段内任一作业的节点进行降频处理或断电处理。
5.根据权利要求3所述的方法,其特征在于,若所述第二时间段内不存在待处理作业,该方法进一步包括:
对所述M个目标节点中处于闲置状态的节点进行降频处理或断电处理,所述闲置状态用于指示未运行作业且不存在已被挂起的作业。
6.根据权利要求1所述的方法,其特征在于,所述LSTM模型通过以下方式训练:
获得样本特征值,所述样本特征值是依据目标时间之前的第一时间段内所述超级计算机系统的作业运行情况确定的;
利用已配置的在所述目标时间之后第二时间段内负载小于设定负载阈值的样本节点数量、以及所述样本特征值训练所述LSTM模型。
7.一种节点调度装置,其特征在于,所述装置包括:
特征值确定单元,用于依据在当前时间之前的第一时间段内超级计算机系统中各个节点的作业运行情况,确定对应的至少一个特征值;
节点数量预测单元,用于将所述至少一个特征值输入到已训练好的长短期记忆网络LSTM模型中,得到预测结果,所述预测结果用于表征预测出的在所述当前时间之后的第二时间段内负载小于设定负载阈值的节点数量N;所述负载用于表征节点运行的作业量;
节点选择单元,用于依据所述超级计算机系统中各节点在当前时间的作业运行情况,从所述超级计算机系统中选择M个负载小于设定负载阈值的目标节点,所述M小于或等于N;
调度单元,用于调度选择的M个目标节点以处理所述第二时间段内待处理的作业。
8.根据权利要求7所述的装置,其特征在于,所述M个目标节点包括第一类节点和第二类节点,所述第一类节点是指处于作业运行状态的节点,所述第二类节点是指处于闲置状态的节点,所述闲置状态用于指示未运行作业或者不存在已被挂起的作业;所述调度单元,具体用于执行:
针对待处理作业,先检查所述第一类节点中是否存在用于运行该待处理作业的节点,如果是,调度所述第一类节点中存在的用于运行该待处理作业的节点运行该待处理作业,如果否,从所述第二类节点中选择用于运行该待处理作业的节点,调度所述第二类节点中存在的用于运行该待处理作业的节点运行该待处理作业。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第一节点处理单元,用于将所述第二类节点中未被调度处理所述第二时间段内任一作业的节点进行降频处理或断电处理。
10.一种电子设备,其特征在于,该电子设备包括:处理器和存储器;
所述存储器,用于存储机器可执行指令;
所述处理器,用于读取并执行所述存储器存储的机器可执行指令,以实现如权利要求1至7任一方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011386740.5A CN112416596A (zh) | 2020-12-01 | 2020-12-01 | 一种节点调度方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011386740.5A CN112416596A (zh) | 2020-12-01 | 2020-12-01 | 一种节点调度方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112416596A true CN112416596A (zh) | 2021-02-26 |
Family
ID=74829308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011386740.5A Pending CN112416596A (zh) | 2020-12-01 | 2020-12-01 | 一种节点调度方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112416596A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113023873A (zh) * | 2021-03-30 | 2021-06-25 | 重庆工商大学 | 用于污水处理的智能管理系统及方法 |
CN113608856A (zh) * | 2021-08-12 | 2021-11-05 | 杭州萤石软件有限公司 | 节点调度方法、系统及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103246550A (zh) * | 2012-02-09 | 2013-08-14 | 深圳市腾讯计算机系统有限公司 | 一种基于容量的多任务调度方法及系统 |
CN108170529A (zh) * | 2017-12-26 | 2018-06-15 | 北京工业大学 | 一种基于长短期记忆网络的云数据中心负载预测方法 |
CN108829494A (zh) * | 2018-06-25 | 2018-11-16 | 杭州谐云科技有限公司 | 基于负载预测的容器云平台智能资源优化方法 |
CN111491027A (zh) * | 2020-04-16 | 2020-08-04 | 北京雷石天地电子技术有限公司 | 均衡负载方法、均衡负载装置和可读存储介质 |
WO2020206705A1 (zh) * | 2019-04-10 | 2020-10-15 | 山东科技大学 | 一种基于集群节点负载状态预测的作业调度方法 |
-
2020
- 2020-12-01 CN CN202011386740.5A patent/CN112416596A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103246550A (zh) * | 2012-02-09 | 2013-08-14 | 深圳市腾讯计算机系统有限公司 | 一种基于容量的多任务调度方法及系统 |
CN108170529A (zh) * | 2017-12-26 | 2018-06-15 | 北京工业大学 | 一种基于长短期记忆网络的云数据中心负载预测方法 |
CN108829494A (zh) * | 2018-06-25 | 2018-11-16 | 杭州谐云科技有限公司 | 基于负载预测的容器云平台智能资源优化方法 |
WO2020206705A1 (zh) * | 2019-04-10 | 2020-10-15 | 山东科技大学 | 一种基于集群节点负载状态预测的作业调度方法 |
CN111491027A (zh) * | 2020-04-16 | 2020-08-04 | 北京雷石天地电子技术有限公司 | 均衡负载方法、均衡负载装置和可读存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113023873A (zh) * | 2021-03-30 | 2021-06-25 | 重庆工商大学 | 用于污水处理的智能管理系统及方法 |
CN113608856A (zh) * | 2021-08-12 | 2021-11-05 | 杭州萤石软件有限公司 | 节点调度方法、系统及装置 |
CN113608856B (zh) * | 2021-08-12 | 2024-08-23 | 杭州萤石软件有限公司 | 节点调度方法、系统及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11182213B2 (en) | Application program management method and device | |
CN110442451B (zh) | 一种面向深度学习的多类型gpu集群资源管理调度方法和系统 | |
US8959515B2 (en) | Task scheduling policy for limited memory systems | |
CN110888714B (zh) | 容器的调度方法、装置和计算机可读存储介质 | |
CN111625331B (zh) | 任务调度方法、装置、平台、服务器及存储介质 | |
CN110389816B (zh) | 用于资源调度的方法、装置以及计算机可读介质 | |
US8627330B2 (en) | Workload manager managing a workload of an enterprise data warehouse | |
CN111338791A (zh) | 集群队列资源的调度方法、装置、设备及存储介质 | |
WO2008100781A1 (en) | Project management system | |
EP2631800A2 (en) | QoS aware balancing in data centers | |
CN112416596A (zh) | 一种节点调度方法、装置及设备 | |
CN114217966A (zh) | 基于资源调整的深度学习模型动态批处理调度方法和系统 | |
CN110806918A (zh) | 基于深度学习神经网络的虚拟机运行方法和装置 | |
CN114265679A (zh) | 数据处理方法、装置和服务器 | |
CN107977275B (zh) | 基于消息队列的任务处理方法及相关设备 | |
CN110413393B (zh) | 集群资源管理方法、装置、计算机集群及可读存储介质 | |
CN105824705A (zh) | 一种任务分配方法和电子设备 | |
JP5470177B2 (ja) | トレースシステム | |
JP5515889B2 (ja) | 仮想マシンシステム、自動マイグレーション方法および自動マイグレーションプログラム | |
CN109189581B (zh) | 一种作业调度方法和装置 | |
Chamas et al. | Two-phase virtual machine placement algorithms for cloud computing: An experimental evaluation under uncertainty | |
Iglesias et al. | A methodology for online consolidation of tasks through more accurate resource estimations | |
CN108429704B (zh) | 一种节点资源分配方法及装置 | |
US20160253591A1 (en) | Method and apparatus for managing performance of database | |
CN115952054A (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 |