CN117195001A - 基于功耗曲线和脚本信息的hpc作业功耗预测方法及系统 - Google Patents
基于功耗曲线和脚本信息的hpc作业功耗预测方法及系统 Download PDFInfo
- Publication number
- CN117195001A CN117195001A CN202311206504.4A CN202311206504A CN117195001A CN 117195001 A CN117195001 A CN 117195001A CN 202311206504 A CN202311206504 A CN 202311206504A CN 117195001 A CN117195001 A CN 117195001A
- Authority
- CN
- China
- Prior art keywords
- power consumption
- similarity
- job
- script information
- hpc
- 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 83
- 238000012549 training Methods 0.000 claims abstract description 24
- 238000003062 neural network model Methods 0.000 claims abstract description 22
- 239000011159 matrix material Substances 0.000 claims abstract description 21
- 238000004364 calculation method Methods 0.000 claims abstract description 16
- 238000004422 calculation algorithm Methods 0.000 claims description 50
- 230000008569 process Effects 0.000 claims description 18
- 230000006835 compression Effects 0.000 claims description 16
- 238000007906 compression Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 10
- 230000015654 memory Effects 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 8
- 238000010276 construction Methods 0.000 claims description 4
- 238000000638 solvent extraction Methods 0.000 claims description 4
- 108091081062 Repeated sequence (DNA) Proteins 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 11
- 238000013135 deep learning Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000005457 optimization Methods 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 238000012731 temporal analysis Methods 0.000 description 5
- 238000000700 time series analysis Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000001932 seasonal effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
Classifications
-
- 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
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及高性能计算领域,提供了一种基于功耗曲线和脚本信息的HPC作业功耗预测方法及系统。该方法包括基于历史作业功耗曲线数据,得到第一相似度值;基于历史作业脚本信息数据,得到第二相似度值;依据需求,为第一相似度值和第二相似度值分配权重,计算加权求和,得到综合相似度值,以此构建相似度邻接矩阵;以最大化模块度指标为原则,按照相似度邻接矩阵,将HPC作业划分成不同的类别;基于划分后不同类别中历史数据,分别训练不同的神经网络模型,得到已训练的神经网络模型;匹配与目标HPC作业相似的历史作业类别,采用该历史作业类别的神经网络模型对目标HPC作业的脚本信息数据进行预测,得到预测结果。
Description
技术领域
本发明属于高性能计算(HPC)领域,尤其涉及一种基于功耗曲线和脚本信息的HPC作业功耗预测方法及系统。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
HPC系统通常由大量的计算节点和复杂的互联网络组成,为充分利用资源并提高能效,对HPC作业的功耗进行的准确的预测和管理是至关重要的。
当前进行HPC功耗预测的方法多种多样,主要包括基于统计回归模型、机器学习算法以及基于时间序列的分析方法。下面将对这些方法逐一进行介绍。
统计回归模型是一种常见的功耗预测方法,它利用历史作业数据和功耗数据构建模型,通过分析作业的特征(如作业类型、数据规模、资源需求等)与功耗之间的关系来预测未来作业的功耗。常见的统计回归模型包括线性回归和多项式回归等。这些模型具有简单直观、易于实现和解释的优点。然而,这种方法忽略了作业之间复杂的关联性和动态性。此外,对于非线性关系较强的数据,预测的精准度可能会受到影响,对于新类型的作业,模型缺乏泛化的能力。
机器学习方法在HPC功耗预测中也得到了广泛应用。这种方法利用机器学习算法,如决策树、支持向量机、神经网络等,从历史作业数据中学习作业特征与功耗之间的复杂映射关系,以预测未来作业的功耗。相较于统计回归模型,机器学习方法能够更好地捕捉复杂非线性关系和特征之间的相互关系,具有一定的泛化能力,适用于不同类型的作业和场景。然而,这种方法的弊端在于对数据集质量和规模有很大的依赖性,以及在处理不同类型数据时缺乏泛化能力。
时间序列分析方法是一种应用于功耗预测的常见技术,它通过对历史功耗数据的时间序列进行建模和分析,来预测未来作业的功耗。常见的时间序列分析方法包括自回归移动平均模型(ARMA)、自回归积分移动平均模型(ARIMA)、季节性分解等。这些方法能够捕捉作业功耗数据的趋势、周期性和季节性等特征,适用于具有较强长期依赖和时间关联性的数据。然而,时间序列分析方法对数据的要求较高,需要具有一定的时间序列和连续性的功耗数据。若数据不完整、缺失或不连续,可能会对预测结果产生不利影响。此外,时间序列分析通常基于历史数据的模式和趋势进行预测,面对与历史数据不同的情况时,其预测能力可能会下降。
综上所述,不同方法在HPC功耗预测中各有优劣。统计回归模型具有简单直观的特点,但在捕捉复杂关系方面有限。机器学习方法能够处理复杂非线性关系,但对数据质量和规模有依赖性。时间序列分析方法适用于具有时间相关性的数据,但要求数据的连续性和稳定性较高。
发明内容
为了解决上述背景技术中存在的技术问题,本发明提供一种基于功耗曲线和脚本信息的HPC作业功耗预测方法及系统,本发明以功耗曲线和脚本信息为指导,捕捉HPC作业在不同状态下的功耗变化,结合神经网络模型,进行HPC作业功耗预测,实现了更全面、精准的预测HPC作业功耗。
为了实现上述目的,本发明采用如下技术方案:
本发明的第一个方面提供一种基于功耗曲线和脚本信息的HPC作业功耗预测方法。
基于功耗曲线和脚本信息的HPC作业功耗预测方法,包括:
获取历史作业功耗曲线数据和历史作业脚本信息数据;
基于历史作业功耗曲线数据,采用第一相似度算法,得到第一相似度值;
基于历史作业脚本信息数据,采用第二相似度算法,得到第二相似度值;
依据需求,为第一相似度值和第二相似度值分配权重,计算加权求和,得到综合相似度值,以此构建相似度邻接矩阵;
以最大化模块度指标为原则,按照相似度邻接矩阵,将HPC作业划分成不同的类别;
基于划分后不同类别中历史数据,分别训练不同的神经网络模型,得到已训练的神经网络模型;
获取目标HPC作业的脚本信息数据,匹配与目标HPC作业相似的历史作业类别,采用该历史作业类别的已训练的神经网络模型对目标HPC作业的脚本信息数据进行预测,得到预测结果。
进一步地,所述基于历史作业功耗曲线数据,采用第一相似度算法,得到第一相似度值的过程包括:基于历史作业功耗曲线数据,选取若干项与功耗相关的指标,基于所述指标,采用CBD算法,得到第一相似度值。
更进一步地,所述采用CBD算法的过程包括:
对每条HPC作业功耗曲线进行编码,采用CBD算法将连续的功耗值转换成离散的符号序列,构建一个字典,记录重复出现的符号序列和替换键;将每条作业功耗曲线的符号序列中的重复的序列替换成字典中的键,以对作业功耗曲线进行压缩;
计算每条作业功耗曲线单独压缩后的大小,比较压缩后的序列长度,计算压缩率,其中,压缩率表示压缩后的序列与原始序列长度的比率;
基于计算得到的压缩率,判断作业功耗曲线之间的相似性。
进一步地,所述基于历史作业脚本信息数据,采用第二相似度算法,得到第二相似度值的过程包括:基于历史作业脚本信息数据,采用KNN算法,计算历史作业脚本信息数据之间的相似度,得到第二相似度值。
进一步地,所述将HPC作业划分成不同的类别的过程包括:采用基于鲁汶算法的社区检测算法,将HPC作业划分为多个社区,每个社区代表一种类别,表示社区内的HPC作业在某种程度上相似。
更进一步地,在社区划分后,通过计算划分后社区的模块度值,评估划分结果。
进一步地,在已训练的神经网络模型预测的过程中,还包括:根据实时输入的数据,优化神经网络模型的参数和权重。
本发明的第二个方面提供一种基于功耗曲线和脚本信息的HPC作业功耗预测系统。
基于功耗曲线和脚本信息的HPC作业功耗预测系统,包括:
数据获取模块,其被配置为:获取历史作业功耗曲线数据和历史作业脚本信息数据;
第一相似度计算模块,其被配置为:基于历史作业功耗曲线数据,采用第一相似度算法,得到第一相似度值;
第二相似度计算模块,其被配置为:基于历史作业脚本信息数据,采用第二相似度算法,得到第二相似度值;
矩阵构建模块,其被配置为:依据需求,为第一相似度值和第二相似度值分配权重,计算加权求和,得到综合相似度值,以此构建相似度邻接矩阵;
作业划分模块,其被配置为:以最大化模块度指标为原则,按照相似度邻接矩阵,将HPC作业划分成不同的类别;
模型训练模块,其被配置为:基于划分后不同类别中历史数据,分别训练不同的神经网络模型,得到已训练的神经网络模型;
预测模块,其被配置为:获取目标HPC作业的脚本信息数据,匹配与目标HPC作业相似的历史作业类别,采用该历史作业类别的已训练的神经网络模型对目标HPC作业的脚本信息数据进行预测,得到预测结果。
本发明的第三个方面提供一种计算机可读存储介质。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一个方面所述的基于功耗曲线和脚本信息的HPC作业功耗预测方法中的步骤。
本发明的第四个方面提供一种计算机设备。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一个方面所述的基于功耗曲线和脚本信息的HPC作业功耗预测方法中的步骤。
与现有技术相比,本发明的有益效果是:
针对传统的HPC作业功耗预测方法常常依赖简单的特征或模型,无法完全捕捉作业在不同状态下的功耗变化。本发明以功耗曲线和脚本信息为指导,在三个阶段进行训练和预测,从而实现更全面、精准的HPC作业功耗预测。
在模型训练阶段,本发明利用功耗曲线的形态和脚本信息对作业进行分类,并在每个类别内进行单独训练。这种分类训练方法有助于更好地捕捉不同作业之间的相似性和差异性,提高了训练效率和预测精准性。
本发明利用作业的脚本信息来指导模型的选择,选取适合当前作业的候选模型,这样能够避免使用不适合作业的模型,进一步提升了HPC作业功耗预测的精准性。使用候选模型对功耗曲线数据进行预测,并结合目标作业的曲线特征进行在线学习和自适应调整。通过动态调整模型参数,使得模型能够更好地适应当前作业的功耗变化,从而提高了预测的准确性。
本发明根据实际需求对模型进行调整和优化,这使得模型具有整体优化和灵活性,能够更好地适用于不同类型的HPC作业,实现更为精准的功耗预测目标。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是本发明示出的HPC作业功耗预测框架图;
图2是本发明示出的指标相关性分析柱形图;
图3是本发明示出的相似性判断聚类模块框架图;
图4是本发明示出的采用本发明的方法在大幅波动类型作业的预测效果图;
图5是本发明示出的采用本发明的方法在分阶段类型作业的预测效果图;
图6是本发明示出的采用本发明的方法在周期性类型作业的预测效果图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
需要注意的是,附图中的流程图和框图示出了根据本公开的各种实施例的方法和系统的可能实现的体系架构、功能和操作。应当注意,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分可以包括一个或多个用于实现各个实施例中所规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。
实施例一
本实施例提供了一种基于功耗曲线和脚本信息的HPC作业功耗预测方法,本实施例以该方法应用于服务器进行举例说明,可以理解的是,该方法也可以应用于终端,还可以应用于包括终端和服务器和系统,并通过终端和服务器的交互实现。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务器、云通信、中间件服务、域名服务、安全服务CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。本实施例中,该方法包括以下步骤:
步骤1:首先,收集大量HPC作业的数据,包括功耗曲线和脚本信息。通过基于压缩的不相似性度量方法(Compression-based dissimilarity,CBD)以及对脚本信息相似性赋予不同的权重,对每对作业进行相似性评估,从而找出作业之间的相似性程度。其次,引入了基于鲁汶算法的社区检测算法,根据com sim构建相似度邻接矩阵,计算功耗序列之间的Modularity。根据作业之间的相似性将这些海量作业信息分为不同的类别。通过这种联合分析的方式,能够更准确地理解作业之间的关联性,并为后续的HPC作业优化和调度提供有益的指导。
步骤2:在数据处理完成后,使用深度学习方法,将这些数据作为预测模型的输入。针对不同类型的作业,将分别进行训练,生成离线的预测模型,并将它们分别保存至模型库中,为后续的作业功耗预测做准备。
步骤3:对于预测的目标作业,首先使用脚本信息做相似性搜索匹配,计算出所属作业类别后,调用对应类型的离线模型进行HPC作业功耗的预测。
步骤4:在目标作业预测过程中,使用训练好的历史模型对目标作业进行功耗预测。为了进一步提高预测精准度,特别在使用深度学习方法时,增加了一个在线增量更新的模块,以提高预测的准确性。
下面结合附图对本实施例的具体方案进行描述:
如图1所示,本实施例包括模型准备阶段和模型应用阶段。
在模型的准备阶段,包括上述步骤1和步骤2的过程,下面展开说明:
数据收集旨在获取大量HPC作业的关键信息,为后续相似性计算和分类提供基础数据。在数据收集阶段,主要涵盖两方面的作业信息,即作业功耗曲线数据和作业脚本信息数据。
对于作业功耗曲线数据,采集与功耗相关的一些数据,包含“iowait”、“interrupts”、“load1”、“ctx_switches”、“rx_throughput”、“read_throughput”、“qos_token_latency”、“write_iops”等二十多项指标。通过采用统计学方法,设定相关性阈值为0.45,然后选择出与功耗数据最为相关的七个特征。相关性系数经过绘制柱状图后得到,如图2所示,最终选定“cpu_power”、“perf_ddrc_rd_total”、“perf_ddrc_wr_total”、“perf_ips”、“load1”、“perf_mflops”、“usage”特征作为指标。
另一方面,收集HPC作业脚本信息数据,包括作业ID、作业名称(JobName)、用户名(User)、队列名称(Partition)、申请CPU核心数(AlloNodes)等关键特征。这些脚本信息可以更好地体现作业的性质和行为模式,从而更准确地划分作业的类型。
为了确保数据的完整性和多样性,尽可能覆盖不同类型和规模的HPC作业,涵盖各种不同的应用领域和任务。通过收集多样性的数据,获得更全面和具有代表性的作业信息,从而增强后续相似性计算和分类的可靠性和准确性。这些收集到的数据将成为进行功耗预测和优化的重要基础,为HPC作业的性能提升和系统资源的有效利用提供有益的指导。
对于作业分类模块,采用了两种相似性判定方法。首先,通过CBD算法对作业功耗数据曲线图进行相似性计算,其次使用KNN算法对作业脚本信息进行相似性判定。通过这两个相似性判定得到的数值,为它们分别附上不同的权重,将它们组合成作业的综合相似性指标。其框架如图3所示,对于CBD_sim和script_sim分别是通过曲线相似度和作业脚本相似度计算出值,com_sim是作业相似度,是根据对CBD_sim和script_sim分别附上不同的权重计算得出。
CBD算法对作业功耗数据曲线图的相似性判断:当使用基于压缩的不相似性度量方法(CBD)来判断作业功耗数据曲线图的相似性时,以下是实现过程的关键步骤:
对每一个作业的功耗曲线进行编码,使用压缩的不相似性度量方法(Compression-based dissimilarity,CBD)将连续的功耗值转换成离散的符号序列。然后构建一个字典,记录重复出现的符号序列和替换键。将每个功耗曲线的符号序列中的重复的序列替换成字典中的键,从而实现功耗曲线的压缩。
计算每一个功耗曲线单独压缩后的大小,比较压缩后的序列长度,计算压缩率。压缩率表示的是压缩后的序列与原始序列长度的比率。
基于计算得到的压缩率,判断作业功耗曲线之间的相似性。较高的压缩率表示具有共享的模式和趋势,表示两曲线的之间的相似相较高。
KNN算法对作业功耗脚本信息的相似性判断,包括以下步骤:
收集HPC作业的脚本信息数据,包括作业ID、作业名称(JobName)、用户名(User)、队列名称(Partition)等关键特征。这些脚本信息体现作业的性质和行为模式。
对于目标作业的脚本信息,使用KNN算法来计算其与历史作业脚本信息之间的相似性。KNN算法是一种有监督的分类算法,可以用于计算样本之间的相似性。
对每个目标作业的脚本信息与历史作业脚本信息进行KNN相似性计算,得到相似性得分。相似性得分越高,表示目标作业的脚本信息与历史作业更相似,相似性得分越低,表示目标作业的脚本信息与历史作业差异较大。
给出不同的权重并进行分类:包括两个相似性得分,一个是通过CBD算法计算得到的功耗曲线相似性得分,一个是通过KNN算法计算得到的脚本信息相似性得分;为这两个相似性得分赋予不同的权重,以便根据实际需求更重视功耗曲线相似性还是脚本信息相似性。将这两个相似性得分进行加权求和,得到最终的相似性得分。根据相似性得分的大小,为后续聚类提供相似性的数据。
基于鲁汶算法的社区检测算法实现对作业的聚类:
将通过CBD算法和作业脚本信息相似度算法计算得到的相似度值用于构建一个相似度邻接矩阵。在这个矩阵中,每个节点表示一个作业,矩阵的元素是作业之间的相似度值。
使用基于鲁汶算法的社区检测方法(Louvain),将构建的相似度邻接矩阵作为输入。这些算法将尝试将作业划分为不同的社区,以最大化模块度指标。
采用鲁汶算法将根据模块度优化的原则,将作业划分为多个社区。每个社区内的作业被认为在某种程度上相似。
基于鲁汶(Louvain)算法的社区检测方法旨在最大化网络中社区内部的连接强度,同时最小化社区之间的连接。以下是基于鲁汶算法的社区检测的详细步骤:
a初始化:
将每个节点视为一个单独的社区。
计算初始网络的模块度(modularity)。
b迭代优化:
对每个节点,计算将其移到相邻社区所带来的模块度增益。模块度增益表示将节点从一个社区移动到另一个社区后,整体模块度的变化情况。
将节点移动到使模块度增益最大化的社区,如果增益为正。
继续迭代,直到没有节点可以再被移动为止。
c合并社区:
在上述一轮迭代完成后,将每个原始社区视为一个单独的节点,重新构建网络。
重新计算新网络中节点之间的连接权重,这些权重通常是原始社区内部节点之间的连接强度之和。
d重复迭代:
重复b和c,直到模块度不再增加或者迭代次数达到预定值为止。
e结果输出:
输出最终的社区分配,即每个节点属于哪个社区。
计算划分后的图的模块度值,用来评估划分结果的好坏。模块度衡量了实际连接与预期连接之间的差异,较高的模块度值表示划分结果较好。
计算划分后的图的模块度值的过程,采用以下公式:
其中,Q是模块度值,Aij表示节点i和节点j之间的连接权重,ki和kj表示节点i和节点j的度(连接权重的总和),m是网络中所有连接的总权重,ci和cj是节点i和节点j所属的社区,δ(ci,ch)在ci等于ch时为1,否则为0,表示节点i和节点j是否在同一个社区。
通过以上步骤,对作业的功耗数据曲线图和脚本信息分别进行相似性判断,并根据相似性得分进行加权分类。这种联合分析的方式能够更准确地理解作业之间的关联性,并使用基于鲁汶算法的社区检测算法对作业的聚类,为后续的HPC作业优化和调度提供有益的指导。
在数据处理阶段完成后,采用深度学习方法,将经过相似性判定和分类的数据作为预测模型的输入。针对不同类型的作业,进行分别训练,生成针对每个作业类型的离线预测模型,并将它们保存至模型库中,为后续的作业功耗预测做准备。
具体步骤如下:
数据准备:经过相似性判定和分类的作业数据已经被整理和处理,用于作为预测模型的输入数据。
分类预训练:首先,针对每个作业类别,将其相应的数据用于预训练。在预训练阶段,模型将学习捕捉每个类别的特征和模式。
深度学习模型:采用适合时间序列数据处理的深度学习模型,如卷积神经网络(CNN)、循环神经网络(RNN)或长短期记忆网络(LSTM)等。这些模型在处理序列数据上表现出色,能够有效地捕捉数据中的时序关系和模式。
类别特定训练:对每个作业类别的数据进行模型的训练。针对每个类别的模型,使用相应类别的数据进行深度学习的训练过程。
模型保存:训练完成后,将每个作业类别的模型保存至模型库中。这样做的目的是为了后续的作业功耗预测提供快速和高效的调用,以及便于管理和维护。
通过上述深度学习方法,能够为不同类型的作业生成离线预测模型,这些模型能够在后续的作业功耗预测中提供准确的预测结果。根据实际情况,根据需要继续优化和更新这些模型,以适应新的数据和场景,并实现更高精度的功耗预测。这样的深度学习框架能够为HPC系统的管理和优化提供重要的支持和指导,帮助提升计算资源的利用效率和整体性能。
模型的应用阶段:在模型应用阶段,包括步骤3和步骤4,具体的实现步骤如下:
目标作业的预测:对于预测的目标作业,首先使用脚本信息做相似性搜索匹配,以找到与目标作业相似的历史作业类别。
具体步骤如下:
目标作业脚本信息:首先,收集目标作业的脚本信息,包括作业ID、作业名称(JobName)、用户名(User)、队列名称(Partition)、申请CPU核心数(AlloNodes)等关键特征。
相似性搜索匹配:接着,使用相似性搜索匹配的方法,将目标作业的脚本信息与历史作业脚本信息进行比较。这种相似性搜索匹配可以是基于KNN算法、余弦相似性等方法。
计算作业类别:通过相似性搜索匹配,找到与目标作业最相似的历史作业类别。将目标作业归为与之相似的历史作业类别可以更好地预测其功耗。
调用离线模型:一旦目标作业被分类到特定的历史作业类别中,将调用对应该类别的离线预测模型。这些预测模型是在数据处理和深度学习训练阶段得到的。
功耗预测:调用对应类型的离线模型后,将目标作业的功耗曲线数据输入到预测模型中,进行功耗预测。这些预测模型已经在先前的训练阶段针对不同类型的作业进行了优化,因此能够提供较为准确的功耗预测结果。
通过以上步骤,能够针对目标作业使用脚本信息进行相似性搜索匹配,找到所属的历史作业类别,然后调用对应类型的离线模型进行HPC作业功耗的预测。这样的预测方法能够为HPC系统的管理和资源调度提供有益的指导,提高作业的效率和系统资源的利用效率。
预测过程中模型参数的更新:在目标作业预测过程中,使用训练好的历史模型对目标作业进行功耗预测。这些历史模型是通过数据处理和深度学习方法得到的,能够对不同类型的作业进行准确的功耗预测。
为了进一步提高预测的精准度,特别是在使用深度学习方法时,增加了一个在线增量更新的模块。这个模块的目的是实时地对历史模型进行调整和优化,以适应新的数据和变化的作业特征。
具体步骤如下:
实时数据更新:在目标作业预测过程中,随着新的作业数据不断产生,将这些实时的数据输入到历史模型中。
在线增量更新:在线增量更新模块会根据实时输入的数据,持续地优化历史模型的参数和权重。通过这种增量更新的方式,历史模型能够不断学习新的作业特征和模式,从而更好地适应不断变化的作业行为。
动态调整:随着数据的不断更新和模型的动态调整,历史模型的预测能力将得到持续改善。这种动态调整和在线增量更新的方式可以使预测模型保持与实际情况更为接近,提高预测的准确性和可靠性。
通过引入在线增量更新的模块,使历史模型持续地学习和适应新的数据,从而进一步提高预测的精准度。这样的动态预测方法能够更好地应对作业行为的变化和数据的实时更新,为HPC系统的管理和资源调度提供更为准确和高效的预测结果,从而优化系统的性能和资源利用效率。
基于功耗曲线形态和脚本信息联合指导的三阶段HPC作业功耗预测深度学习框架对几种不同的作业的预测效果图,如图4、图5、图6所示,从图中可以看出,采用本发明的方法,预测出的HPC功耗预测结果与实际值基本相符,证明本发明方法是准确性。
实施例二
本实施例提供了一种基于功耗曲线和脚本信息的HPC作业功耗预测系统。
基于功耗曲线和脚本信息的HPC作业功耗预测系统,包括:
数据获取模块,其被配置为:获取历史作业功耗曲线数据和历史作业脚本信息数据;
第一相似度计算模块,其被配置为:基于历史作业功耗曲线数据,采用第一相似度算法,得到第一相似度值;
第二相似度计算模块,其被配置为:基于历史作业脚本信息数据,采用第二相似度算法,得到第二相似度值;
矩阵构建模块,其被配置为:依据需求,为第一相似度值和第二相似度值分配权重,计算加权求和,得到综合相似度值,以此构建相似度邻接矩阵;
作业划分模块,其被配置为:以最大化模块度指标为原则,按照相似度邻接矩阵,将HPC作业划分成不同的类别;
模型训练模块,其被配置为:基于划分后不同类别中历史数据,分别训练不同的神经网络模型,得到已训练的神经网络模型;
预测模块,其被配置为:获取目标HPC作业的脚本信息数据,匹配与目标HPC作业相似的历史作业类别,采用该历史作业类别的已训练的神经网络模型对目标HPC作业的脚本信息数据进行预测,得到预测结果。
此处需要说明的是,上述数据获取模块、第一相似度计算模块、第二相似度计算模块、矩阵构建模块、作业划分模块、模型训练模块和预测模块与实施例一中的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
实施例三
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例一所述的基于功耗曲线和脚本信息的HPC作业功耗预测方法中的步骤。
实施例四
本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例一所述的基于功耗曲线和脚本信息的HPC作业功耗预测方法中的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.基于功耗曲线和脚本信息的HPC作业功耗预测方法,其特征在于,包括:
获取历史作业功耗曲线数据和历史作业脚本信息数据;
基于历史作业功耗曲线数据,采用第一相似度算法,得到第一相似度值;
基于历史作业脚本信息数据,采用第二相似度算法,得到第二相似度值;
依据需求,为第一相似度值和第二相似度值分配权重,计算加权求和,得到综合相似度值,以此构建相似度邻接矩阵;
以最大化模块度指标为原则,按照相似度邻接矩阵,将HPC作业划分成不同的类别;
基于划分后不同类别中历史数据,分别训练不同的神经网络模型,得到已训练的神经网络模型;
获取目标HPC作业的脚本信息数据,匹配与目标HPC作业相似的历史作业类别,采用该历史作业类别的已训练的神经网络模型对目标HPC作业的脚本信息数据进行预测,得到预测结果。
2.根据权利要求1所述的基于功耗曲线和脚本信息的HPC作业功耗预测方法,其特征在于,所述基于历史作业功耗曲线数据,采用第一相似度算法,得到第一相似度值的过程包括:基于历史作业功耗曲线数据,选取若干项与功耗相关的指标,基于所述指标,采用CBD算法,得到第一相似度值。
3.根据权利要求2所述的基于功耗曲线和脚本信息的HPC作业功耗预测方法,其特征在于,所述采用CBD算法的过程包括:
对每条HPC作业功耗曲线进行编码,采用CBD算法将连续的功耗值转换成离散的符号序列,构建一个字典,记录重复出现的符号序列和替换键;将每条作业功耗曲线的符号序列中的重复的序列替换成字典中的键,以对作业功耗曲线进行压缩;
计算每条作业功耗曲线单独压缩后的大小,比较压缩后的序列长度,计算压缩率,其中,压缩率表示压缩后的序列与原始序列长度的比率;
基于计算得到的压缩率,判断作业功耗曲线之间的相似性。
4.根据权利要求1所述的基于功耗曲线和脚本信息的HPC作业功耗预测方法,其特征在于,所述基于历史作业脚本信息数据,采用第二相似度算法,得到第二相似度值的过程包括:基于历史作业脚本信息数据,采用KNN算法,计算历史作业脚本信息数据之间的相似度,得到第二相似度值。
5.根据权利要求1所述的基于功耗曲线和脚本信息的HPC作业功耗预测方法,其特征在于,所述将HPC作业划分成不同的类别的过程包括:采用基于鲁汶算法的社区检测算法,将HPC作业划分为多个社区,每个社区代表一种类别,表示社区内的HPC作业在某种程度上相似。
6.根据权利要求5所述的基于功耗曲线和脚本信息的HPC作业功耗预测方法,其特征在于,在社区划分后,通过计算划分后社区的模块度值,评估划分结果。
7.根据权利要求1所述的基于功耗曲线和脚本信息的HPC作业功耗预测方法,其特征在于,在已训练的神经网络模型预测的过程中,还包括:根据实时输入的数据,优化神经网络模型的参数和权重。
8.基于功耗曲线和脚本信息的HPC作业功耗预测系统,其特征在于,包括:
数据获取模块,其被配置为:获取历史作业功耗曲线数据和历史作业脚本信息数据;
第一相似度计算模块,其被配置为:基于历史作业功耗曲线数据,采用第一相似度算法,得到第一相似度值;
第二相似度计算模块,其被配置为:基于历史作业脚本信息数据,采用第二相似度算法,得到第二相似度值;
矩阵构建模块,其被配置为:依据需求,为第一相似度值和第二相似度值分配权重,计算加权求和,得到综合相似度值,以此构建相似度邻接矩阵;
作业划分模块,其被配置为:以最大化模块度指标为原则,按照相似度邻接矩阵,将HPC作业划分成不同的类别;
模型训练模块,其被配置为:基于划分后不同类别中历史数据,分别训练不同的神经网络模型,得到已训练的神经网络模型;
预测模块,其被配置为:获取目标HPC作业的脚本信息数据,匹配与目标HPC作业相似的历史作业类别,采用该历史作业类别的已训练的神经网络模型对目标HPC作业的脚本信息数据进行预测,得到预测结果。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的基于功耗曲线和脚本信息的HPC作业功耗预测方法中的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7中任一项所述的基于功耗曲线和脚本信息的HPC作业功耗预测方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311206504.4A CN117195001A (zh) | 2023-09-18 | 2023-09-18 | 基于功耗曲线和脚本信息的hpc作业功耗预测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311206504.4A CN117195001A (zh) | 2023-09-18 | 2023-09-18 | 基于功耗曲线和脚本信息的hpc作业功耗预测方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117195001A true CN117195001A (zh) | 2023-12-08 |
Family
ID=88999610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311206504.4A Pending CN117195001A (zh) | 2023-09-18 | 2023-09-18 | 基于功耗曲线和脚本信息的hpc作业功耗预测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117195001A (zh) |
-
2023
- 2023-09-18 CN CN202311206504.4A patent/CN117195001A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Karim et al. | BHyPreC: a novel Bi-LSTM based hybrid recurrent neural network model to predict the CPU workload of cloud virtual machine | |
CN109445935B (zh) | 云计算环境下一种高性能大数据分析系统自适应配置方法 | |
CN104978612A (zh) | 基于ahp-rbf的分布式大数据系统风险预测方法 | |
CN113780684A (zh) | 一种基于lstm神经网络的智慧楼宇用户用能行为预测方法 | |
CN113051130B (zh) | 结合注意力机制的lstm网络的移动云负载预测方法及系统 | |
CN108320027B (zh) | 一种基于量子计算的大数据处理方法 | |
Basterrech | Empirical analysis of the necessary and sufficient conditions of the echo state property | |
CN115018193A (zh) | 基于lstm-ga模型的时间序列风能数据预测方法 | |
Perenda et al. | Evolutionary optimization of residual neural network architectures for modulation classification | |
CN113159441A (zh) | 银行业务项目实施情况的预测方法及装置 | |
CN117575072A (zh) | 一种基于图神经网络的设备能耗预测方法及系统 | |
Saadawi et al. | DEVS execution acceleration with machine learning | |
CN116578858A (zh) | 基于图神经网络的空压机故障预测与健康度评价方法及系统 | |
CN115174421B (zh) | 基于自监督解缠绕超图注意力的网络故障预测方法及装置 | |
CN117195001A (zh) | 基于功耗曲线和脚本信息的hpc作业功耗预测方法及系统 | |
CN115081609A (zh) | 一种智能决策中的加速方法、终端设备及存储介质 | |
CN113111308B (zh) | 基于数据驱动遗传编程算法的符号回归方法及系统 | |
CN113747500A (zh) | 移动边缘计算环境下基于生成对抗式网络的高能效低延迟任务卸载方法 | |
Anireh et al. | HTM-MAT: An online prediction software toolbox based on cortical machine learning algorithm | |
Ling | Score Prediction of Sports Events Based on Parallel Self‐Organizing Nonlinear Neural Network | |
CN118211815B (zh) | 一种电磁环境检测设备资源调度的智能控制方法 | |
Mishra et al. | Enhancing Edge Intelligence with Layer-wise Adaptive Precision and Randomized PCA | |
CN117807114B (zh) | 物流信息智慧检索方法、系统、设备及存储介质 | |
He et al. | HSMS-ADP: Adaptive DNNs Partitioning for End-Edge Collaborative Inference in High-Speed Mobile Scenarios | |
CN117812185B (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 |