CN114741161A - 一种基于混合集群的hpc作业集群感知方法 - Google Patents
一种基于混合集群的hpc作业集群感知方法 Download PDFInfo
- Publication number
- CN114741161A CN114741161A CN202210487700.2A CN202210487700A CN114741161A CN 114741161 A CN114741161 A CN 114741161A CN 202210487700 A CN202210487700 A CN 202210487700A CN 114741161 A CN114741161 A CN 114741161A
- Authority
- CN
- China
- Prior art keywords
- job
- cluster
- container
- cpu
- cloud cluster
- 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
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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种基于混合集群的HPC作业集群感知方法,包括:A、获取传统虚拟化云集群环境和容器云集群环境作业运行日志记录信息;B、初构建、处理传统虚拟化云集群环境和容器云集群环境下的作业运行数据集;C、训练得到基于传统虚拟化云集群环境和容器云集群环境两种环境下的基于RFR随机森林回归算法的预测模型;D、根据用户提交的作业需求信息,预测模型给予运行时间、CPU使用率、内存使用率的预测;E、将作业运行结果信息对提交的作业进行集群感知模型的处理,最终形成HPC作业集群节点感知方法。本发明建立两种环境下的预测模型,并以预测结果为依据进行集群节点感知,达到了根据作业需求自动感知最佳集群节点的效果。
Description
技术领域
本发明涉及云计算以及高性能计算领域,特别是涉及一种基于混合集群的HPC作业集群节点感知方法。
背景技术
作为科技创新的重要手段,高性能计算应用于更多领域,包括核爆模拟、天气预报、石油和天然气勘探的地震研究、高分辨率固体和流体力学、社交媒体分析和分子动力学等,近年来更是在物理研究、核武器设计、航空航天飞行器设计、能源勘探、卫星图像处理、国民经济的预测和决策、情报分析、互联网服务、工业仿真等领域有更深层次的运用。高性能计算的发展成为了科技进步的重要标志之一,同时也是一个国家科技综合实力的集中体现。高性能计算执行计算任务通常是通过超级计算机,或者大规模高性能计算集群运行,通过集群内的各节点高速协同工作完成的。超级计算机或者高性能计算集群,成为现代超算中心的重要基础设施。HPC(High Performance Computing,高性能计算机群)用户通常可以访问本地的高性能计算集群,但是基于资源和时间层面来说,对于用户提交的作业及要求,可能本地的高性能计算集群提供的运行条件并不是最优的,比如对于用户提交的新作业,资源不足以满足时,可能导致作业在队列中等待很长时间不得已运行。在这种背景下,由于云计算在弹性供应、轻量虚拟化、资源控制等方面的优势,越来越多的一些学术和商业HPC用户开始尝试将云作为超级计算机或高性能计算集群的经济替代方案。已有研究表明,由于云计算的虚拟化在网络和存储性能上存在一定的开销,使得HPC应用无法在云上无法获得与超算集群相媲美的性能,但云计算可以作为超级计算机或高性能计算的补充。首先,从HPC用户角度来看,存在一部分对于性能要求不高、更注重性价比的用户,愿意将HPC应用迁移到云上运行,以此获得更短的排队时间、更低廉的机时租用费用。第二,从平台运营方角度来看,将适当的HPC作业转移到云上运行,可以减少HPC集群的资源碎片,提高平台整体资源的负载均衡和利用率,同时也可有效缩短用户响应时间。同时,云平台中的可视化和数据管理功能、灵活的软件许可模式以及云增值服务都使得云对于HPC应用的发展越来越人性化。目前,大部分超算中心虽然具有异构计算集群(如高性能计算集群、云计算集群)的能力,但各个集群还是分别管理且分别负载各自的应用,并没有实现基于混合集群的应用感知能力,不能及时且准确的为用户判断提交的作业适合运行于何种集群节点,即不能帮助用户更好的确定提交的作业运行在本地集群还是基于云中的集群。
发明内容
为了克服上述技术问题的缺点,本发明提供了一种基于混合集群的HPC作业集群节点感知方法,提供选择功能以支持决策。包括:根据提交的HPC作业需求信息来预测HPC作业适合在何种集群节点上运行,以此对HPC作业进行调度感知,为HPC用户做出合适的、更优的选择,并得到作业的运行结果。其中,对现有不同类别的HPC应用,通过数据中心获取基于传统虚拟化云集群环境和容器云集群环境下两种不同的环境下HPC作业运行结果,取得运行的特征值;通过特征值的获取建立数据集以及感知模型,预测并感知不同特征的HPC作业所适合的集群,达到最适合HPC作业感知的效果,给用户反馈合适的工作分配解决方案下运行的作业结果。
术语解释:
数据中心,是全球协作的特定设备网络,用来在internet网络基础设施上传递、加速、展示、计算、存储数据信息。
StandardScalarTransform(),Scikitlearn Python包中的算法,用来对需要进行样本训练的数据集进行数据归一化处理,通过转移到各自的平均值并按各自的标准差进行缩放,使数据范围在模型可接纳的范围里。
本发明的技术方案为:
一种基于混合集群的HPC作业集群感知方法,包括步骤如下:
A、获取传统虚拟化云集群环境和容器云集群环境作业运行日志记录信息;
B、根据步骤A中获取到的传统虚拟化云集群环境和容器云集群环境作业运行日志记录信息,初构建、处理传统虚拟化云集群环境和容器云集群环境下的作业运行数据集,包括:获取特征值、过滤和处理特征值信息、对特征信息进行标准化处理、对特征值数据数据集进行训练集和测试集拆分、对数据集的数据进行数据规范化处理;
C、对从步骤B中得到的两种集群环境下的特征数据集,在RFR随机森林回归算法上分别进行训练,得到基于传统虚拟化云集群环境和容器云集群环境两种环境下的基于RFR随机森林回归算法的预测模型;
D、根据用户提交的作业需求信息,作业需求信息包括:作业应用类型名称、作业运行节点需求数、作业运行CPU核心数;
通过步骤C训练出的预测模型给予运行时间、CPU使用率、内存使用率的预测;
对于预测模型得到的预测结果说明如下:
运行时间是指预测模型根据用户提交的作业需求信息预测出该作业运行完成所需要的时间;CPU使用率是指预测模型根据用户提交的作业需求信息预测出该作业运行时CPU使用与集群当前环境下CPU的占比;内存使用率是指预测模型根据用户提交的作业需求信息预测出该作业运行时内存使用与集群当前环境下内存的占比;
E、将步骤D中预测的作业运行结果信息对提交的作业进行集群感知模型的处理,最终形成HPC作业集群节点感知方法。
根据本发明优选的,步骤A中,获取传统虚拟化云集群环境和容器云集群环境作业运行日志记录信息,包括:
从数据中心获取HPC用户提交作业至传统虚拟化云集群环境下以及容器云集群环境下运行的日志记录,日志记录包括:运行作业的应用类别、运行该作业需要的节点数、核心数、该作业运行结果状态、该作业运行时间、该作业运行时CPU使用率、该作业运行时的内存使用率的相关作业运行信息。
根据本发明优选的,步骤B中,初构建、处理传统虚拟化云集群环境和容器云集群环境下的作业运行数据集,包括:
对获取到的传统虚拟化云集群环境下以及容器云集群环境下运行的日志记录,进行特征值提取,特征值包括作业名称JobName、作业完成状态State、作业运行节点数AllocNodes、作业运行CPU核心数AllocCPUS、作业运行时间Elapsed、CPU运行时间CPUTimeRAW、CPU使用率CPU usage、内存使用率Memory usage;
过滤和处理特征值信息:包括:过滤掉作业完成状态State非COMPLETED日志记录;过滤掉CPU运行时间CPUTimeRAW为0的作业运行信息条目;
对特征信息进行标准化处理:包括:对非数字型特征进行编码转换成数字,对数据型信息进行单位统一换算;
对特征值数据数据集进行训练集和测试集拆分:对标准化处理后的特征值数据,按照一定比例分为训练集和测试集。
进一步优选的,传统虚拟化云集群环境下以及容器云集群环境下的训练集和测试集划分比例皆为4:1。
对数据集的数据进行数据规范化处理:包括:使用Scikitlearn Python包中的StandardScalarTransform()将传统虚拟化云集群和容器云集群两种环境下分别得到的数据集特征,即两种环境下的作业完成状态State、作业运行节点数AllocNodes、作业运行CPU核心数AllocCPUS、作业运行时间Elapsed、CPU运行时间CPUTimeRAW、CPU使用率CPUusage、内存使用率Memory usage都通过转移到各自的平均值并按各自的标准差进行缩放来进行归一化处理。
根据本发明优选的,对从步骤B中得到的两种集群环境下的特征数据集,在RFR随机森林回归算法上分别进行训练,得到基于传统虚拟化云集群环境和容器云集群环境两种环境下的基于RFR随机森林回归算法的预测模型;包括:
(a)从训练样本集S中随机的抽取m个样本点,得到一个新的子训练集{S1…Sn};
(b)用子训练集,训练一个回归树,在训练过程中,对每个节点的切分规则是:先从所有特征中随机的选择k个特征,再在从这k个特征中选择最优的切分点在做左右子树的划分;
(c)通过步骤(b)生成很多个回归树;
(d)每一个回归树最终的预测结果为该样本点所到叶节点的均值;
(e)随机森林最终的预测结果为所有回归树预测结果的均值。
根据本发明优选的,将步骤D中预测的作业运行结果信息对提交的作业进行集群感知模型的处理;
对于用户提交的作业i,包括作业需求信息为iJobName、iAllocNodes、iAllocCPUS,iJobName为用户提交的作业i的作业应用类型名称;iAllocNodes为用户提交的作业i的作业运行节点需求数;iAllocCPUs为用户提交的作业i的作业运行CPU核心数;
对于传统虚拟化云集群环境下预测模型预测出的运行时间ElapsedPublii、CPU使用率CPU usagePublic、内存使用率Memory usagePublii,命名为集合predictedPublic,其中,集合信息为:predictedPublic={ElapsedPublii,CPU usagePublic,Memory usagePublic};
对于容器云集群环境下预测模型预测出的运行时间ElapsedContainer、CPU使用率CPU usageContainer、内存使用率Memory usageContainer,命名为集合predictedContainer,其中,集合信息为:
predictedContainer={ElapsedContainer,CPU usageContainer,Memory usageContainer};
将集合predictedPublic和集合predictedContainer所包含的特征作为在集群感知模型对HPC集群节点的感知依据;包括:
步骤1:输入矩阵X;矩阵X包括矩阵X1和矩阵X2;传统虚拟化云集群环境下特征数据集里每条作业运行记录里包括的作业运行时间Elapsed、CPU运行时间CPUTimeRAW、CPU使用率CPU usage、内存使用率Memory usage,记为矩阵X1;容器云集群环境下特征数据集里每条作业运行记录包括的作业运行时间Elapsed、CPU运行时间CPUTimeRAW、CPU使用率CPUusage、内存使用率Memory usage,记为矩阵X2;
样本对象包括1到m;
每个样本对象有n个特征,n=4,4个特征包括作业运行时间Elapsed、CPU运行时间CPUTimeRAW、CPU使用率CPU usage、内存使用率Memory usage;
步骤2:初始化m=1;n=1;
步骤3:对每个数据进行无量纲化处理即进行逆向化处理:每条作业日志记录的特征经过数据标准化处理后,m增加1,迭代处理直至m达到每个环境下数据集里的最后一条作业日志记录;
步骤4:对每个特征进行标准差处理:S(ij),得到指标变异性,n增加1,迭代处理直至n达到4;
步骤5:对每个特征进行信息量处理:C(j),得到指标冲突性,n增加1,迭代处理直至n达到4;
步骤6:对每个特征进行客观权重计算,得到每个特征的权重值,n增加1,迭代处理直至n达到4;
ElapsedPublic、CPU usagePublic、Memory usagePublic经过步骤1至步骤6处理,得到的权重值分别为Wpe、Wpc、Wpm;ElapsedContainer、CPU usageContainer、Memory usageContainer经过步骤1至步骤6处理,得到的权重值分别为Wce、Wcc、Wcm。
进一步优选的,逆向化处理公式如式(I)所示:
式(II)中,xij表示第i条作业日志记录中第j个特征值;表示输入的数据集矩阵X中的第j列特征值中的最大值;表示输入的数据集矩阵X中的第j列特征值中的最小值;max(j)表示第i条作业日志记录中第j个特征值的最大值。
进一步优选的,步骤4中,对每个特征求取反应指标变异性的标准差Sj,如式(III)所示:
进一步优选的,步骤5中,对每个特征进行信息量处理,包括:
求取冲突性R,如式(III)所示:
求取冲突系数Aj,如式(IV)所示:
式(IV)中,rij表示低i个指标与低j个指标的相关系数;
求取信息承载量Cj,如式(V)所示:
Cj=Sj×Aj(V)。
进一步优选的,步骤6中,对每个特征进行客观权重Wj计算,如式(VI)所示:
根据本发明优选的,形成HPC作业集群节点感知方法,包括:
1)求取基于传统虚拟化云集群环境和容器云集群环境下集群节点感知函数值:
传统虚拟化云集群环境下的感知函数值为:
GPublic=Wpe*ElapsedPublic+Wpc*CPU UsagePublic+Wpm*Memory UsagePublic;
容器云集群环境下的感知函数值为:
GContainer=Wce*ElapsedContainer+Wcc*CPU UsageContainer+Wcm*Memory UsageContainer;
2)若GPublic>GContainer,那么则将作业i感知到容器云集群环境的节点中去运行作业;若GPublic<GContainer,那么则将作业i感知到传统虚拟化云集群环境的节点中去运行作业。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现基于混合集群的HPC作业集群节点感知方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现基于混合集群的HPC作业集群节点感知方法的步骤。
本发明的有益效果为:
1、形成了基于不同环境下的HPC作业运行特征数据集。基于数据中心获取的HPC用户在传统虚拟化云集群环境和容器云集群环境下提交作业运行的日志记录,并加以处理,形成了关于传统虚拟化云集群环境下的HPC作业运行特征数据集以及关于容器云集群环境下的HPC作业运行特征数据集。
2、形成了基于混合集群的高性能作业对于集群节点的感知预测方法。根据传统虚拟化云集群环境和容器云集群环境下的HPC作业运行的特征数据集,建立两种环境下基于用户提交的作业需求信息的运行时间预测模型,并以预测结果为依据进行集群节点感知,达到了根据作业需求自动感知最佳集群节点的效果;
3、解决了当下满足用户需求的前提下尽可能减少用户任务的整体完成时间或成本的要求,促进HPC应用在混合集群中的发展。
附图说明
图1为本发明基于混合集群的HPC作业集群节点感知方法的流程示意图;
具体实施方式
下面结合说明书附图和实施例对本发明作进一步限定,但不限于此。
实施例1
一种基于混合集群的HPC作业集群感知方法,如图1所示,包括步骤如下:
A、获取传统虚拟化云集群环境和容器云集群环境作业运行日志记录信息;
B、根据步骤A中获取到的传统虚拟化云集群环境和容器云集群环境作业运行日志记录信息,初构建、处理传统虚拟化云集群环境和容器云集群环境下的作业运行数据集,包括:获取特征值、过滤和处理特征值信息、对特征信息进行标准化处理、对特征值数据数据集进行训练集和测试集拆分、对数据集的数据进行数据规范化处理;
C、对从步骤B中得到的两种集群环境下的特征数据集,在RFR随机森林回归算法上分别进行训练,得到基于传统虚拟化云集群环境和容器云集群环境两种环境下的基于RFR随机森林回归算法的预测模型;
D、根据用户提交的作业需求信息,作业需求信息包括:作业应用类型名称、作业运行节点需求数、作业运行CPU核心数;
通过步骤C训练出的预测模型给予运行时间、CPU使用率、内存使用率的预测;
对于预测模型得到的预测结果说明如下:
运行时间是指预测模型根据用户提交的作业需求信息预测出该作业运行完成所需要的时间;CPU使用率是指预测模型根据用户提交的作业需求信息预测出该作业运行时CPU使用与集群当前环境下CPU的占比;内存使用率是指预测模型根据用户提交的作业需求信息预测出该作业运行时内存使用与集群当前环境下内存的占比;
E、将步骤D中预测的作业运行结果信息对提交的作业进行集群感知模型的处理,最终形成HPC作业集群节点感知方法。
实施例2
根据实施例1所述的一种基于混合集群的HPC作业集群感知方法,其区别在于:
步骤A中,获取传统虚拟化云集群环境和容器云集群环境作业运行日志记录信息,包括:
从数据中心获取HPC用户提交作业至传统虚拟化云集群环境下以及容器云集群环境下运行的日志记录,传统虚拟化云集群环境作业日志记录一共获取到一百四十万条,容器云集群环境作业日志记录一共获取到一百二十万条。日志记录包括:运行作业的应用类别、运行该作业需要的节点数、核心数、该作业运行结果状态、该作业运行时间、该作业运行时CPU使用率、该作业运行时的内存使用率的相关作业运行信息。这些特征信息将用于基于两种环境下作业运行的数据集的构建。
步骤B中,初构建、处理传统虚拟化云集群环境和容器云集群环境下的作业运行数据集,包括:
对获取到的传统虚拟化云集群环境下以及容器云集群环境下运行的日志记录,进行特征值提取,特征值包括作业名称JobName、作业完成状态State、作业运行节点数AllocNodes、作业运行CPU核心数AllocCPUS、作业运行时间Elapsed、CPU运行时间CPUTimeRAW(作业运行时间*核心数)、CPU使用率CPU usage、内存使用率Memory usage;
过滤和处理特征值信息:处理了得到的特征信息里某些不符合构建预测数据集的作业记录。包括:过滤掉作业完成状态State非COMPLETED(运行成功)日志记录;具体的,作业完成状态State作为过滤条件,删除掉作业完成状态State为FAILED(代表作业运行失败)、CANCELLED(代表作业被取消)、TIMEOUT(作业超时)、PENDING(作业等待)、NODE_FAIL(作业节点选取失败)的作业运行信息条目。同时,对数据中的缺失值进行处理,以CPUTimeRAW的值非0为过滤条件,过滤掉CPU运行时间CPUTimeRAW为0的作业运行信息条目;为数据集的构建提供更精准的数据信息;在过滤和处理后,在传统虚拟化云集群环境下还保留九十二万条日志记录,在容器云集群环境下还保留七十四万条日志记录;
对特征信息进行标准化处理:包括:对非数字型特征进行编码转换成数字,对数据型信息进行单位统一换算;对于作业名称JobName,其内容不能用于模型的数学计算,所以需要编码成数字;对于作业运行时间Elapsed,转换为统一计数单位,计数单位为s(seconds);即对每一项特征数据的单位进行统一处理;
对特征值数据数据集进行训练集和测试集拆分:对标准化处理后的特征值数据,按照一定比例分为训练集和测试集。本方法中,数据有特殊的物理含义,所以需要提前划分数据训练集与测试集,不再随机划分。对标准化处理过后的特征信息数据集进行基于模型训练和测试的数据集拆分,即划分为训练集和测试集;传统虚拟化云集群环境下以及容器云集群环境下的训练集和测试集划分比例皆为4:1。
对数据集的数据进行数据规范化处理:包括:对于从得到的被拆分成训练集的数据集特征进行数据规范化处理,并且对数据集中的训练集特征数据处理成训练模型可识别、可接受的数值范围。
对传统虚拟化云集群环境和容器云集群两个环境下选择的特征,即作业名称JobName、作业完成状态State、作业运行节点数AllocNodes、作业运行CPU核心数AllocCPUS、作业运行时间Elapsed、CPU运行时间CPUTimeRAW、CPU使用率CPU usage、内存使用率Memory usage进行进一步处理和分析。因为CPUTimeRAW是Elapsed*AllocNodes,也就是作业运行时间*核心数得来的结果,在前期对数据集的构建具有过滤和处理的意义,但不具有测试意义,这里不将其作为预测模型的训练和测试特征。使用Scikitlearn Python包中的StandardScalarTransform()将传统虚拟化云集群和容器云集群两种环境下分别得到的数据集特征,即两种环境下的作业完成状态State、作业运行节点数AllocNodes、作业运行CPU核心数AllocCPUS、作业运行时间Elapsed、CPU运行时间CPUTimeRAW、CPU使用率CPUusage、内存使用率Memory usage都通过转移到各自的平均值并按各自的标准差进行缩放来进行归一化处理。
以用户提交的作业应用类型为主节点,形成数据集,包括模型训练数据集和模型测试数据集,为高性能计算作业集群节点感知预测模型做好数据准备;
对从步骤B中得到的两种集群环境下的特征数据集,在RFR随机森林回归算法上分别进行训练,得到基于传统虚拟化云集群环境和容器云集群环境两种环境下的基于RFR随机森林回归算法的预测模型;包括:
按照历史数据训练模型得到新的预测结果的事件,可以看作是回归问题。所以,RFR随机森林回归算法,建立基于传统虚拟化云集群环境和容器云集群环境两种环境下数据集的回归训练模型,即用RFR随机森林回归模型训练两个不同环境下的数据集,分别得到两个环境下的预测模型;
(a)从训练样本集S(步骤B中得到的两种集群环境下的特征数据集中的一种)中随机的抽取m个样本点,得到一个新的子训练集{S1…Sn};
(b)用子训练集,训练一个回归树(决策树),在训练过程中,对每个节点的切分规则是:先从所有特征中随机的选择k个特征,再在从这k个特征中选择最优的切分点在做左右子树的划分;(这里的得到决策树都是二叉树)。
(c)通过步骤(b)生成很多个回归树;
(d)每一个回归树最终的预测结果为该样本点所到叶节点的均值;
(e)随机森林最终的预测结果为所有回归树预测结果的均值。
步骤D中,根据用户提交的作业需求信息,通过步骤C训练出的预测模型给予运行时间、CPU使用率、内存使用率的预测,包括步骤如下:
根据得到的基于传统虚拟化云集群环境和容器云集群环境下两个环境下分别训练得到的两个预测模型,对于用户提交的作业进行对两个环境下Elapsed、CPU usage、Memory usage的预测,预测信息如下表1所示:
表1
iJobName为用户提交的作业i的作业应用类型名称;iAllocNodes为用户提交的作业i的作业运行节点需求数;iAllocCPUS为用户提交的作业i的作业运行核心需求数。
将步骤D中预测的作业运行结果信息对提交的作业进行集群感知模型的处理;
对于用户提交的作业i,包括作业需求信息为iJobName、iAllocNodes、iAllocCPUS,iJobName为用户提交的作业i的作业应用类型名称;iAllocNodes为用户提交的作业i的作业运行节点需求数;iAllocCPUs为用户提交的作业i的作业运行CPU核心数;
对于传统虚拟化云集群环境下预测模型预测出的运行时间ElapsedPublii、CPU使用率CPU usagePublic、内存使用率Memory usagePublic,命名为集合predictedPublic,其中,集合信息为:predictedPublic={ElapsedPublic,CPU usagePublic,Memory usagePublic};
对于容器云集群环境下预测模型预测出的运行时间ElapsedContainer、CPU使用率CPU usageContainer、内存使用率Memory usageContainer,命名为集合predictedContainer,其中,集合信息为:
predictedContainer={ElapsedContainer,CPU usageContainer,Memory usageContainer};
将集合predictedPublic和集合predictedContainer所包含的特征作为在集群感知模型对HPC集群节点的感知依据;包括:
步骤1:输入矩阵X;矩阵X包括矩阵X1和矩阵X2;传统虚拟化云集群环境下特征数据集里每条作业运行记录里包括的作业运行时间Elapsed、CPU运行时间CPUTimeRAW、CPU使用率CPU usage、内存使用率Memory usage,记为矩阵X1;容器云集群环境下特征数据集里每条作业运行记录包括的作业运行时间Elapsed、CPU运行时间CPUTimeRAW、CPU使用率CPUusage、内存使用率Memory usage,记为矩阵X2;
样本对象包括1到m;这里的样本对象即为传统虚拟云集群环境和容器云集群环境下特征数据集里每条作业日志记录;
每个样本对象有n个特征,n=4,4个特征包括作业运行时间Elapsed、CPU运行时间CPUTimeRAW、CPU使用率CPU usage、内存使用率Memory usage;
步骤2:初始化m=1;n=1;
步骤3:对每个数据进行无量纲化处理即进行逆向化处理:主要目的就是消除量纲影响,使所有数据能用统一的标准去衡量。若特征的值越大对结果越产生正面影响,则该特征为正向特征值,进行正向化处理;若特征的值越小对结果越产生正面影响,则改特征为逆向特征值,进行逆向化处理;每条作业日志记录的特征经过数据标准化处理后,m增加1,迭代处理直至m达到每个环境下数据集里的最后一条作业日志记录;
无量纲化处理中,正向化处理公式如下所示:
式(I)中,xij表示第i条作业日志记录中第j个特征值;x′ij表示xij被缩放后的特征值;表示输入的数据集矩阵X中的第j列特征值中的最小值;表示输入的数据集矩阵X中的第j列特征值中的最大值;max(j)表示第i条作业日志记录中第j个特征值的最大值。
逆向化处理公式如式(I)所示:
式(II)中,xij表示第i条作业日志记录中第j个特征值;表示输入的数据集矩阵X中的第j列特征值中的最大值;表示输入的数据集矩阵X中的第j列特征值中的最小值;max(j)表示第i条作业日志记录中第j个特征值的最大值。传统虚拟云集群环境和容器云集群环境下传入该模型的数据集矩阵中的三个特征属性,作业运行时间Elapsed、CPU运行时间CPUTimeRAW、CPU使用率CPU usage、内存使用率Memory usage,皆是特征值越小,对结果越产生正面影响,所以这三个特征属性皆为逆向化处理。
步骤4:对每个特征进行标准差处理:S(ij),得到指标变异性,n增加1,迭代处理直至n达到4;对每个特征求取反应指标变异性的标准差Sj,如式(III)所示:
步骤5:对每个特征进行信息量处理:C(j),得到指标冲突性,n增加1,迭代处理直至n达到4;对每个特征进行信息量处理,包括:
求取冲突性R,如式(III)所示:
求取冲突系数Aj,如式(IV)所示:
式(IV)中,rij表示低i个指标与低j个指标的相关系数;
求取信息承载量Cj,如式(V)所示:
Cj=Sj×Aj(V)。
步骤6:对每个特征进行客观权重计算,得到每个特征的权重值,n增加1,迭代处理直至n达到4;对每个特征进行客观权重Wj计算,如式(VI)所示:
ElapsedPublic、CPU usagePublic、Memory usagePublic经过步骤1至步骤6处理,得到的权重值分别为Wpe、Wpc、Wpm;ElapsedContainer、CPU usageContainer、Memory usageContainer经过步骤1至步骤6处理,得到的权重值分别为Wce、Wcc、Wcm。
形成HPC作业集群节点感知方法,包括:
1)求取基于传统虚拟化云集群环境和容器云集群环境下集群节点感知函数值:
传统虚拟化云集群环境下的感知函数值为:
GPublic=Wpe*ElapsedPublic+Wpc*CPU UsagePublic+Wpm*Memory UsagePublic;
容器云集群环境下的感知函数值为:
GContainer=Wce*ElapsedContainer+Wcc*CPU UsageContainer+Wcm*Memory UsageContainer;
2)若GPublic>GContainer,那么则将作业i感知到容器云集群环境的节点中去运行作业;若GPublic<GContainer,那么则将作业i感知到传统虚拟化云集群环境的节点中去运行作业。
实施例3
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现实施例1或2基于混合集群的HPC作业集群节点感知方法的步骤。
实施例4
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现实施例1或2基于混合集群的HPC作业集群节点感知方法的步骤。
Claims (10)
1.一种基于混合集群的HPC作业集群感知方法,其特征在于,包括步骤如下:
A、获取传统虚拟化云集群环境和容器云集群环境作业运行日志记录信息;
B、根据步骤A中获取到的传统虚拟化云集群环境和容器云集群环境作业运行日志记录信息,初构建、处理传统虚拟化云集群环境和容器云集群环境下的作业运行数据集,包括:获取特征值、过滤和处理特征值信息、对特征信息进行标准化处理、对特征值数据数据集进行训练集和测试集拆分、对数据集的数据进行数据规范化处理;
C、对从步骤B中得到的两种集群环境下的特征数据集,在RFR随机森林回归算法上分别进行训练,得到基于传统虚拟化云集群环境和容器云集群环境两种环境下的基于RFR随机森林回归算法的预测模型;
D、根据用户提交的作业需求信息,作业需求信息包括:作业应用类型名称、作业运行节点需求数、作业运行CPU核心数;
通过步骤C训练出的预测模型给予运行时间、CPU使用率、内存使用率的预测;
对于预测模型得到的预测结果说明如下:
运行时间是指预测模型根据用户提交的作业需求信息预测出该作业运行完成所需要的时间;CPU使用率是指预测模型根据用户提交的作业需求信息预测出该作业运行时CPU使用与集群当前环境下CPU的占比;内存使用率是指预测模型根据用户提交的作业需求信息预测出该作业运行时内存使用与集群当前环境下内存的占比;
E、将步骤D中预测的作业运行结果信息对提交的作业进行集群感知模型的处理,最终形成HPC作业集群节点感知方法。
2.根据权利要求1所述的一种基于混合集群的HPC作业集群感知方法,其特征在于,步骤A中,获取传统虚拟化云集群环境和容器云集群环境作业运行日志记录信息,包括:
从数据中心获取HPC用户提交作业至传统虚拟化云集群环境下以及容器云集群环境下运行的日志记录,日志记录包括:运行作业的应用类别、运行该作业需要的节点数、核心数、该作业运行结果状态、该作业运行时间、该作业运行时CPU使用率、该作业运行时的内存使用率的相关作业运行信息。
3.根据权利要求1所述的一种基于混合集群的HPC作业集群感知方法,其特征在于,步骤B中,初构建、处理传统虚拟化云集群环境和容器云集群环境下的作业运行数据集,包括:
对获取到的传统虚拟化云集群环境下以及容器云集群环境下运行的日志记录,进行特征值提取,特征值包括作业名称JobName、作业完成状态State、作业运行节点数AllocNodes、作业运行CPU 核心数AllocCPUS、作业运行时间Elapsed、CPU运行时间CPUTimeRAW、CPU使用率CPU usage、内存使用率Memory usage;
过滤和处理特征值信息:包括:过滤掉作业完成状态State非COMPLETED日志记录;过滤掉CPU运行时间CPUTimeRAW为0的作业运行信息条目;
对特征信息进行标准化处理:包括:对非数字型特征进行编码转换成数字,对数据型信息进行单位统一换算;
对特征值数据数据集进行训练集和测试集拆分:对标准化处理后的特征值数据,按照一定比例分为训练集和测试集;
对数据集的数据进行数据规范化处理:包括:使用Scikitlearn Python包中的StandardScalarTransform()将传统虚拟化云集群和容器云集群两种环境下分别得到的数据集特征,即两种环境下的作业完成状态State、作业运行节点数AllocNodes、作业运行CPU核心数AllocCPUS、作业运行时间Elapsed、CPU运行时间CPUTimeRAW、CPU使用率CPUusage、内存使用率Memory usage都通过转移到各自的平均值并按各自的标准差进行缩放来进行归一化处理;
进一步优选的,传统虚拟化云集群环境下以及容器云集群环境下的训练集和测试集划分比例皆为4∶1。
4.根据权利要求1所述的一种基于混合集群的HPC作业集群感知方法,其特征在于,步骤B中,对从步骤B中得到的两种集群环境下的特征数据集,在RFR随机森林回归算法上分别进行训练,得到基于传统虚拟化云集群环境和容器云集群环境两种环境下的基于RFR随机森林回归算法的预测模型;包括:
(a)从训练样本集S中随机的抽取m个样本点,得到一个新的子训练集{S1…Sn};
(b)用子训练集,训练一个回归树,在训练过程中,对每个节点的切分规则是:先从所有特征中随机的选择k个特征,再在从这k个特征中选择最优的切分点在做左右子树的划分;
(c)通过步骤(b)生成很多个回归树;
(d)每一个回归树最终的预测结果为该样本点所到叶节点的均值;
(e)随机森林最终的预测结果为所有回归树预测结果的均值。
5.根据权利要求1所述的一种基于混合集群的HPC作业集群感知方法,其特征在于,步骤B中,将步骤D中预测的作业运行结果信息对提交的作业进行集群感知模型的处理;
对于用户提交的作业i,包括作业需求信息为iJobName、iAllocNodes、iAllocCPUS,iJobName为用户提交的作业i的作业应用类型名称;iAllocNodes为用户提交的作业i的作业运行节点需求数;iAllocCPUS为用户提交的作业i的作业运行CPU核心数;
对于传统虚拟化云集群环境下预测模型预测出的运行时间ElapsedPublic、CPU使用率CPU usagePublic、内存使用率Memory usagePublic,命名为集合predictedPublic,其中,集合信息为:predictedPublic={ElapsedPublic,CPU usagePublic,Memory usagePublic};
对于容器云集群环境下预测模型预测出的运行时间ElapsedContainer、CPU使用率CPUusageContainer、内存使用率Memory usageContainer,命名为集合predictedContainer,其中,集合信息为:
predictedContainer={ElapsedContainer,CPU usageContainer,Memory usageContainer};
将集合predictedPublic和集合predictedContainer所包含的特征作为在集群感知模型对HPC集群节点的感知依据;包括:
步骤1:输入矩阵X;矩阵X包括矩阵X1和矩阵X2;传统虚拟化云集群环境下特征数据集里每条作业运行记录里包括的作业运行时间Elapsed、CPU运行时间CPUTimeRAW、CPU使用率CPU usage、内存使用率Memory usage,记为矩阵X1;容器云集群环境下特征数据集里每条作业运行记录包括的作业运行时间Elapsed、CPU运行时间CPUTimeRAW、CPU使用率CPUusage、内存使用率Memory usage,记为矩阵X2;
样本对象包括1到m;
每个样本对象有n个特征,n=4,4个特征包括作业运行时间Elapsed、CPU运行时间CPUTimeRAW、CPU使用率CPU usage、内存使用率Memory usage;
步骤2:初始化m=1;n=1;
步骤3:对每个数据进行无量纲化处理即进行逆向化处理:每条作业日志记录的特征经过数据标准化处理后,m增加1,迭代处理直至m达到每个环境下数据集里的最后一条作业日志记录;
步骤4:对每个特征进行标准差处理:S(ij),得到指标变异性,n增加1,迭代处理直至n达到4;
步骤5:对每个特征进行信息量处理:C(j),得到指标冲突性,n增加1,迭代处理直至n达到4;
步骤6:对每个特征进行客观权重计算,得到每个特征的权重值,n增加1,迭代处理直至n达到4;
ElapsedPublic、CPU usagePublic、Memory usagePublic经过步骤1至步骤6处理,得到的权重值分别为Wpe、Wpc、Wpm;ElapsedContainer、CPU usageContainer、Memory usageContainer经过步骤1至步骤6处理,得到的权重值分别为Wce、Wcc、Wcm。
8.根据权利要求1所述的一种基于混合集群的HPC作业集群感知方法,其特征在于,步骤B中,形成HPC作业集群节点感知方法,包括:
1)求取基于传统虚拟化云集群环境和容器云集群环境下集群节点感知函数值:
传统虚拟化云集群环境下的感知函数值为:
GPublic=Wpe*ElapsedPublic+Wpc*CPU Usagepublic+Wpm*Memory Usagepublic;
容器云集群环境下的感知函数值为:
GContainer=Wce*ElapsedContainer+Wcc*CPU UsageContainer+Wcm*Memory UsageContainer;
2)若GPublic>GContainer,那么则将作业i感知到容器云集群环境的节点中去运行作业;若GPublic<GContainer,那么则将作业i感知到传统虚拟化云集群环境的节点中去运行作业。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-8任一基于混合集群的HPC作业集群节点感知方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8任一基于混合集群的HPC作业集群节点感知方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210487700.2A CN114741161A (zh) | 2022-05-06 | 2022-05-06 | 一种基于混合集群的hpc作业集群感知方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210487700.2A CN114741161A (zh) | 2022-05-06 | 2022-05-06 | 一种基于混合集群的hpc作业集群感知方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114741161A true CN114741161A (zh) | 2022-07-12 |
Family
ID=82284790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210487700.2A Pending CN114741161A (zh) | 2022-05-06 | 2022-05-06 | 一种基于混合集群的hpc作业集群感知方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114741161A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116560968A (zh) * | 2023-07-11 | 2023-08-08 | 北京景行锐创软件有限公司 | 一种基于机器学习的仿真计算时间预测方法、系统及设备 |
-
2022
- 2022-05-06 CN CN202210487700.2A patent/CN114741161A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116560968A (zh) * | 2023-07-11 | 2023-08-08 | 北京景行锐创软件有限公司 | 一种基于机器学习的仿真计算时间预测方法、系统及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Abd Elaziz et al. | Advanced optimization technique for scheduling IoT tasks in cloud-fog computing environments | |
Chen et al. | A bi-layered parallel training architecture for large-scale convolutional neural networks | |
CN110399222B (zh) | Gpu集群深度学习任务并行化方法、装置及电子设备 | |
CN110389820B (zh) | 一种基于v-TGRU模型进行资源预测的私有云任务调度方法 | |
CN105550323B (zh) | 一种分布式数据库负载均衡预测方法和预测分析器 | |
CN104683405B (zh) | 在车联网中集群服务器分发地图匹配任务的方法和装置 | |
CN106020933B (zh) | 基于超轻量虚拟机的云计算动态资源调度系统及方法 | |
CN112764893B (zh) | 数据处理方法和数据处理系统 | |
CN110362611B (zh) | 一种数据库查询方法、装置、电子设备及存储介质 | |
CN112181620B (zh) | 云环境下虚拟机服务能力感知的大数据工作流调度方法 | |
CN114902273A (zh) | 使用gpu优化资源分配的系统和方法 | |
CN110209467A (zh) | 一种基于机器学习的弹性资源扩展方法和系统 | |
CN104793993A (zh) | 基于Levy飞行的人工蜂群粒子群算法的云计算任务调度方法 | |
CN115292046A (zh) | 算力分配方法、装置、存储介质及电子设备 | |
CN113886080A (zh) | 高性能集群任务调度方法、装置、电子设备及存储介质 | |
CN114741161A (zh) | 一种基于混合集群的hpc作业集群感知方法 | |
Ding et al. | Classification rules mining model with genetic algorithm in cloud computing | |
CN109992412B (zh) | 云服务器的容量调节方法、装置、存储介质和云服务器 | |
Jiao et al. | Immune optimization of task scheduling on multidimensional QoS constraints | |
Dongarra et al. | Parallel Processing and Applied Mathematics | |
Nichols et al. | MagmaDNN: accelerated deep learning using MAGMA | |
CN112948115B (zh) | 一种基于极限学习机的云工作流调度器压力预测方法 | |
CN110209631A (zh) | 大数据处理方法及其处理系统 | |
Zhang et al. | Scheduling strategy for computational-intensive data flow in generalized cluster environments | |
CN115033616A (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 |
Effective date of registration: 20221213 Address after: 250014 No. 19, ASTRI Road, Lixia District, Shandong, Ji'nan Applicant after: SHANDONG COMPUTER SCIENCE CENTER(NATIONAL SUPERCOMPUTER CENTER IN JINAN) Applicant after: Qilu University of Technology Address before: 250014 No. 19, ASTRI Road, Ji'nan, Shandong Applicant before: SHANDONG COMPUTER SCIENCE CENTER(NATIONAL SUPERCOMPUTER CENTER IN JINAN) |
|
TA01 | Transfer of patent application right |