CN116089248B - 一种写i/o突发分布预测方法、装置、设备及存储介质 - Google Patents
一种写i/o突发分布预测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116089248B CN116089248B CN202310361726.7A CN202310361726A CN116089248B CN 116089248 B CN116089248 B CN 116089248B CN 202310361726 A CN202310361726 A CN 202310361726A CN 116089248 B CN116089248 B CN 116089248B
- Authority
- CN
- China
- Prior art keywords
- job
- write
- burst
- current
- time interval
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
- G06F11/3423—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time where the assessed time is active or idle time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
-
- 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)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种写I/O突发分布预测方法、装置、设备及存储介质,涉及超级计算机领域,该方法包括:根据作业特征确定当前作业所属的作业组;判断作业组是否为聚类拆分组,以此确定当前作业的写I/O突发的时间间隔和运行时间,进而确定当前作业在运行周期内写I/O突发的分布情况,并将当前作业的写I/O突发的时间间隔和运行时间加入到历史作业中;其中聚类拆分组为历史作业根据作业特征分类得到的分类作业组,经聚类指标聚类后被拆分为作业组子集的分类作业组。本发明能够准确预测当前作业的写I/O突发的时间间隔和运行时间,并且可以确定当前作业的写I/O突发的分布情况。
Description
技术领域
本发明涉及超级计算机领域,特别涉及一种写I/O突发分布预测方法、装置、设备及存储介质。
背景技术
科学计算作业在其运行的过程中会产生大量的流量数据,这些I/O流量在不同时刻的分布并不是均衡的,I/O流量总是突然到来,产生了I/O时间突发现象,我们把这种普遍存在的现象称为作业层面的时间I/O突发。I/O的这种时间突发性容易引起多作业的I/O冲突,影响作业I/O效率和系统整体I/O性能。通常应对时间I/O突发现象,直接的解决办法是将多个作业的突发I/O流量错开,实现这种错峰调度的前提是进行I/O流量突发的预测。
但目前关于作业内部I/O突发预测的研究极少,且它们主要关注的是突发的严重程度,即I/O流量在不同时间上分布的不均衡程度,如利用一种数学模型来量化作业的I/O突发程度,并通过决策树等手段对当前提交作业的I/O突发程度进行预测,且对作业内部I/O突发预测的研究仅仅是利用常规的作业特征进行分类预测,准确度差。
发明内容
有鉴于此,本发明的目的在于提供一种写I/O突发分布预测方法、装置、设备及存储介质,解决了现有技术中对于I/O突发到来时刻预测的缺失以及预测准确性差的问题。
为解决上述技术问题,本发明提供了一种写I/O突发分布预测方法,包括:
获取当前作业和作业特征;
根据所述作业特征确定所述当前作业所属的作业组;
若所述作业组是聚类拆分组,则获取所述当前作业中第一个写I/O突发和第二个写I/O突发,计算所述第一个写I/O突发和所述第二个写I/O突发的时间间隔,作为第一时间间隔,根据所述第一时间间隔确定所述当前作业所属的作业组子集,将所述作业组子集的平均写I/O突发的时间间隔确定为所述当前作业的写I/O突发的时间间隔,且将所述作业组子集的平均运行时间确定为所述当前作业的运行时间;
若所述作业组不是聚类拆分组,则将所述作业组的平均写I/O突发的时间间隔确定为所述当前作业的写I/O突发的时间间隔,且将所述作业组的平均运行时间确定为所述当前作业的运行时间;其中所述聚类拆分组为历史作业根据所述作业特征分类得到的分类作业组,经聚类指标聚类后被拆分为作业组子集的分类作业组,其中所述聚类指标为所述历史作业中每个作业的平均写I/O突发的时间间隔;
根据所述当前作业的写I/O突发的时间间隔和所述当前作业的运行时间确定所述当前作业在运行周期内写I/O突发的分布情况;
将所述当前作业的写I/O突发的时间间隔和所述当前作业的运行时间加入到所述历史作业的作业信息中,并更新所述作业信息。
可选的,所述根据所述作业特征确定所述当前作业所属的作业组,包括:
将<作业名,用户名,计算结点数量>三元组作为所述作业特征;
根据所述作业特征确定所述当前作业所属的所述作业组。
可选的,所述其中所述聚类拆分组为历史作业根据所述作业特征分类得到的分类作业组,再经聚类指标聚类后被拆分为作业组子集的分类作业组,包括:
所述历史作业根据所述作业特征进行分类得到所述分类作业组;
利用DBSCAN聚类算法对所述分类作业组进行聚类;
将所述分类作业组中经所述聚类后被拆分为子集的作业组,确定为聚类拆分组。
可选的,所述在根据所述当前作业的写I/O突发的时间间隔和所述当前作业的运行时间确定所述当前作业在运行周期内写I/O突发的分布情况之后,还包括:
将所述当前作业的写I/O突发的分布情况和所述当前作业的ID发送到控制器;
通过所述控制器根据所述写I/O突发的分布情况判断是否在相同时间片内存在与所述当前作业冲突的重叠作业,其中所述时间片为30s;
若存在,则通过所述控制器唤醒作业调度器,通过所述作业调度器对所述重叠作业进行处置操作。
可选的,所述通过所述作业调度器对所述重叠作业进行处置操作,包括:
若所述当前作业的写I/O突发的时间间隔小于所述重叠作业的写I/O突发的时间间隔,则通过所述控制器向所述作业调度器发送将所述重叠作业暂停的指令。
可选的,所述则通过所述控制器向所述作业调度器发送将所述重叠作业暂停的指令,包括:
若所述重叠作业的暂停时间达到60s后,所述重叠作业开始运行;
通过所述控制器更新所述重叠作业的写I/O突发分布的时间信息。
可选的,在所述则通过所述控制器向所述作业调度器发送将所述重叠作业暂停的指令之后,还包括:
在所述当前作业运行结束后,向所述控制器发送删除指令;
通过所述控制器根据所述删除指令将所述当前作业的作业信息删除。
本发明还提供了一种写I/O突发分布预测装置,包括:
获取模块,用于获取当前作业和作业特征;
第一确定模块,用于根据所述作业特征确定所述当前作业所属的作业组;
第二确定模块,用于若所述作业组是聚类拆分组,则获取所述当前作业中第一个写I/O突发和第二个写I/O突发,计算所述第一个写I/O突发和所述第二个写I/O突发的时间间隔,作为第一时间间隔,根据所述第一时间间隔确定所述当前作业所属的作业组子集,将所述作业组子集的平均写I/O突发的时间间隔确定为所述当前作业的写I/O突发的时间间隔,且将所述作业组子集的平均运行时间确定为所述当前作业的运行时间;
第三确定模块,用于若所述作业组不是聚类拆分组,则将所述作业组的平均写I/O突发的时间间隔确定为所述当前作业的写I/O突发的时间间隔,且将所述作业组的平均运行时间确定为所述当前作业的运行时间;其中所述聚类拆分组为历史作业根据所述作业特征分类得到的分类作业组,经聚类指标聚类后被拆分为作业组子集的分类作业组,其中所述聚类指标为所述历史作业中每个作业的平均写I/O突发的时间间隔;
第四确定模块,用于根据所述当前作业的时间间隔和所述当前作业的运行时间确定所述当前作业在运行周期内写I/O突发的分布情况;
更新模块,用于将所述当前作业的时间间隔和所述当前作业的运行时间加入到所述历史作业的作业信息中,并更新所述作业信息。
本发明还提供了一种写I/O突发分布预测设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序实现上述的写I/O突发分布预测方法的步骤。
本发明还提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的写I/O突发分布预测方法。
可见,本发明通过分类与聚类的方法对大量的历史作业进行作业分组,对当前作业进行分类得到当前作业所属作业组,能够准确预测高性能计算机作业中的当前作业的写I/O突发的时间间隔和运行时间,并且在此预测的基础上,确定提交的当前作业的写I/O突发的分布情况。
此外,本发明还提供了一种写I/O突发分布预测装置、设备及存储介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的高性能计算机系统结构图;
图2为本发明实施例提供的一种写I/O突发分布预测方法的流程图;
图3为本发明实施例提供的一种基于写I/O突发预测的错峰调度策略图;
图4为本发明实施例提供的一种写I/O突发分布预测装置的结构框图;
图5为本发明实施例提供的一种写I/O突发分布预测设备的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
超级计算机系统提供强大的并行计算能力,系统中的作业可利用超级计算机数量庞大的计算结点,协同完成复杂的科学计算问题。在作业运行过程中,除了完成数值计算任务,还需要花费一部分时间进行I/O活动和操作,比如读/写数据、写检查点等,尤其是对于数据密集型作业而言,I/O活动的比重甚至超过50%。如图1所示,图1为本发明实施例提供的高性能计算机系统结构图,目前大量的主流高性能计算系统通常在计算和存储层之间设计一个I/O转发层,I/O操作一般从计算结点发起,途径I/O转发层后达到存储结点。这种I/O转发结构大大减少了参与I/O操作的结点数量,提高了存储系统的稳定性和性能。
高性能计算机系统中的作业通常花费大量的时间进行I/O(Input/Output)操作,比如:读取输入数据、写检查点、写输入结果等。I/O活动一般从计算结点发起,途径I/O转发层后达到存储结点,计算结点、I/O转发结点和存储结点通过高速互连网络连接,实现通信和数据传输。I/O行为在很大程度上影响着应用和系统的整体性能,理解应用的I/O特性对于应用优化、作业调度等至关重要。
由于作业中普遍存在的这种时间I/O突然特性,当多个作业的突发流量在同一段较短时间内到来,也就是多个突发流量发生冲突时,I/O系统和存储系统无法消化这些突然涌入的流量负载,使得作业在相互竞争存储资源的过程中花费更多的时间进行I/O活动,整体的I/O系统性能面临挑战。通常,高性能计算应用中读写I/O的行为差异较大,读操作表现出明显的聚集特性,而写操作则呈现出较为明显的周期性,即写I/O突发流量总是周期性地到来,这注定了写I/O突发具有更好的可预测性。
针对现有研究对于I/O突发到来时刻预测和基于I/O突发进行错峰调度实践的缺失,本发明的目的是基于作业在运行时间内写I/O活动的周期性,提出一种普适且实用的I/O突发到来时刻的预测方法。具体请参考图2,图2为本发明实施例提供的一种写I/O突发分布预测方法的流程图。该方法可以包括:
S101:获取当前作业和作业特征。
本实施例的执行主体为预测器。
本实施例并不限定获取的频率,例如可以30s获取一次;或者还可以40s获取一次。本实施例并不限定获取的预设条件,例如当有新作业时,即获取新作业作为当前作业;或者还可以当出现新作业时,等待预设时间后再获取。其中本实施例并不限定预设时间,例如可以是1s,或者还可以是2s。
本实施例并不限定作业特征的数量,例如可以是1个,或者还可以是2个。本实施例并不限定作业特征的内容,例如可以是作业的作业名;或者还可以是作业的用户名;或者还可以是计算结点数量。
S102:根据作业特征确定当前作业所属的作业组。
根据上述作业特征对当前作业进行划分,得到当前作业所在的作业组。
进一步的,为了确保分类的准确性,上述根据作业特征确定当前作业所属的作业组,可以包括以下步骤,具体可以包括:
将<作业名,用户名,计算结点数量>三元组作为作业特征;
根据作业特征确定当前作业所属的作业组。
对于提交到系统的作业而言,新作业即为要预测的对象作为当前作业,在开始运行之前,当前作业的作业名、用户名以及需要的结点数量都已经确定,即当前作业根据<作业名,用户名,计算结点数量>三元组就找到其所属的作业组。
S103:判断作业组是否为聚类拆分组。
得到当前作业所在的作业组,判断作业组是否是聚类拆分作业组。其中聚类拆分组为历史作业根据作业特征分类得到的分类作业组,经聚类指标聚类后被拆分为作业组子集的分类作业组,其中聚类指标为历史作业中每个作业的平均写I/O突发的时间间隔。
本实施例并不限定聚类算法的具体内容,例如可以是kmeans(K-平均)聚类算法;或者还可以是DBSCAN(Density-Based Spatial Clustering of Applications withNoise,是一个比较有代表性的基于密度的聚类算法)聚类算法。
进一步的,为了提高聚类效果的准确性且高效性,上述聚类拆分组为历史作业根据作业特征分类得到的分类作业组,经聚类指标聚类后被拆分为作业组子集的分类作业组,可以包括以下步骤:
历史作业根据作业特征进行分类得到分类作业组;
利用DBSCAN聚类算法对分类作业组进行聚类;
将分类作业组中经聚类后被拆分为子集的作业组,确定为聚类拆分组。
大量的历史作业根据作业特征<作业名,用户名,计算结点数量>三元组进行分类,将历史作业分为多个作业组,每个作业组中的作业具有较为相似的写I/O突发的时间间隔,再采用DBSCAN聚类算法,根据聚类指标对<作业名,用户名,计算结点数量>三元组分类后的历史作业组开展进一步的聚类,再经DBSCAN聚类后,一些作业组没有被拆分,则这些作业组就是未聚类拆分组,一些作业组被拆分为多个不同的子集,这些被拆分的作业组是聚类拆分组。其中聚类指标为历史作业中每个作业的平均写I/O突发的时间间隔。
S104:将作业组的平均写I/O突发的时间间隔确定为当前作业的写I/O突发的时间间隔,且将作业组的平均运行时间确定为当前作业的运行时间。
如果当前作业通过<作业名,用户名,计算结点数量>三元组找到其所属的作业组,且该作业组在DBSCAN聚类后未被拆分,作业组中所有作业的平均写I/O突发时间间隔即被认定为当前作业的写I/O突发时间间隔,同时,作业组中所有作业的平均运行时间即被认定为当前作业的运行时间。
S105:获取当前作业中第一个写I/O突发和第二个写I/O突发,计算第一个写I/O突发和第二个写I/O突发的时间间隔,作为第一时间间隔。
如果当前作业通过<作业名,用户名,计算结点数量>三元组找到其所属的作业组,而该作业组在DBSCAN聚类后被拆分为多个子集,即作业组为聚类拆分组,则需要在运行过程中抓取当前作业前两个写I/O突发即第一个写I/O突发和第二个写I/O突发,并计算它们之间的写I/O突发的时间间隔,作为第一时间间隔。
S106:根据第一时间间隔确定当前作业所属的作业组子集。
第一时间间隔落入到某一子集中,也就是这个写I/O突发的时间间隔介于该子集中作业的最大写I/O突发的时间间隔和最小写I/O突发的时间间隔之间,即将这个子集确定为当前作业所属的作业组子集。
S107:将作业组子集的平均写I/O突发的时间间隔确定为当前作业的写I/O突发的时间间隔,且将作业组子集的平均运行时间确定为当前作业的运行时间。
这个作业组子集的平均写IO突发的时间间隔就被认定为当前作业的写I/O突发的时间间隔,同时,这个作业组子集中作业的平均运行时间被认定为是当前作业的运行时间。
S108:根据当前作业的写I/O突发的时间间隔和当前作业的运行时间确定当前作业在运行周期内写I/O突发的分布情况。
基于上述当前作业写I/O突发的时间间隔和运行时间,在运行过程中抓取前1-2个写I/O突发后,当前作业在整个运行周期里的写I/O突发分布可以确定。具体为当作业组是聚类拆分组时,只需在运行过程中抓取第一个写I/O突发,根据当前作业写I/O突发的时间间隔和运行时间就可以确定当前作业在运行周期内写I/O突发的分布情况;当作业组不是聚类拆分组时,只需在运行过程中抓取第一个写I/O突发和第二个写I/O突发,根据当前作业写I/O突发的时间间隔和运行时间就可以确定当前作业的在运行周期内写I/O突发的分布情况。
S109:将当前作业的写I/O突发的时间间隔和当前作业的运行时间加入到历史作业的作业信息中,并更新作业信息。
当前作业的在运行周期内写I/O突发的分布情况确定后,将当前作业的写I/O突发信息(写I/O突发的时间间隔、运行时间)加入到历史作业中,并更新历史作业组中的作业数量、平均写I/O间隔、运行时间等信息。
研究表明,由于写操作呈现出较为明显的周期性,即写I/O突发具有很好的可预测性,有少量研究试图利用这种写I/O突发的周期重复性,针对作业是否立即运行给出简单的建议,但并未从根本上完成多作业写突发I/O的错峰调度。因此本实施例可以在预测当前作业相邻写I/O突发之间的时间间隔,然后依据写I/O突发预测结果进行错峰调度,以提升作业和系统本身的I/O效率。
进一步的,为了提升作业和系统本身的I/O效率,在上述根据当前作业的写I/O突发的时间间隔和所述当前作业的运行时间确定所述当前作业在运行周期内写I/O突发的分布情况之后,还可以包括以下步骤:
将当前作业的写I/O突发的分布情况和当前作业的ID发送到控制器;
通过控制器根据写I/O突发的分布情况判断是否在相同时间片内存在与当前作业冲突的重叠作业,其中时间片为30s;
若存在,则通过控制器唤醒作业调度器,通过作业调度器对重叠作业进行处置操作。
当作业的写I/O突发分布情况确定后,将作业的ID发送到控制器,控制器中包括所有的作业,历史作业和当前作业,控制器介于所有运行中的作业和作业调度器之间,控制器会从当前时间开始,以时间片(30秒为1个时间片)为单位逐一遍历。在遍历过程中,一旦控制器发现来自多个作业的写I/O突发可能会在相同的时间片上重叠,控制器立即唤醒调度响应机制,并与作业调度系统进行交互,对重叠作业进行处置操作。
本实施例并不限定具体的处置操作,例如可以是暂停当前作业;或者还可以是暂停重叠作业;或者是设定暂停条件,暂停符合暂停条件的作业。
进一步的,为了高效的完成作业错峰,上述通过作业调度器对重叠作业进行处置操作,还可以包括以下步骤:
若当前作业的写I/O突发的时间间隔小于重叠作业的写I/O突发的时间间隔,通过控制器向作业调度器发送将重叠作业暂停的指令。
面对提前预见可能会发生冲突的多个作业的写I/O突发,调度器采取相应措施,仅保留其中一个写I/O突发。事实上,绝大多数发生冲突的写I/O突发仅来自于2个作业,几乎很少会超过3个作业。控制器获取重叠作业的写I/O突发的时间间隔,比较这些可能发生冲突的作业的写I/O突发的时间间隔,即比较当前作业与重叠作业的写I/O突发的时间间隔,若当前作业的写I/O突发的时间间隔小于重叠作业的写I/O突发的时间间隔,则保留当前作业,将重叠作业暂停。通过保留具有最小写I/O突发的时间间隔的作业,通知调度器将其它作业挂起(暂停)的方法,将写I/O突发错开,缓解冲突的可能性。最小写I/O突发的时间间隔的作业对于时间的改变最敏感,而且,与写I/O突发的时间间隔的作业相比,挂起并推迟其它作业而增加新I/O冲突的可能性更小。
进一步的,为了高效的完成作业错峰,通过控制器向作业调度器发送将重叠作业暂停的指令,还可以包括以下步骤:
若重叠作业的暂停时间达到60s后,重叠作业开始运行;
通过控制器更新重叠作业的写I/O突发分布的时间信息。
单次写I/O突发持续通常都不超过2个时间片,即60s。因此,对于那些需要挂起和推延的作业,调度器在挂起它们2个时间片后释放,从暂停处继续运行。一旦作业被挂起后,需要更新该作业的写I/O突发分布时间信息。
进一步的,为了提升作业和系统本身的I/O效率,在通过控制器向作业调度器发送将重叠作业暂停的指令之后,还可以包括以下步骤:
在当前作业运行结束后,向控制器发送删除指令;
通过控制器根据删除指令将当前作业的作业信息删除。
一旦一个作业完成运行,它的相关信息将会从中央控制器中删除。
应用本发明实施例提供的写I/O突发分布预测方法,通过获取当前作业和作业特征;根据作业特征确定当前作业所属的作业组;若作业组是聚类拆分组,则获取当前作业中第一个写I/O突发和第二个写I/O突发,计算第一个写I/O突发和第二个写I/O突发的时间间隔,作为第一时间间隔,根据第一时间间隔确定当前作业所属的作业组子集,将作业组子集的平均写I/O突发的时间间隔确定为当前作业的写I/O突发的时间间隔,且将作业组子集的平均运行时间确定为当前作业的运行时间;若作业组不是聚类拆分组,则将作业组的平均写I/O突发的时间间隔确定为当前作业的写I/O突发的时间间隔,且将作业组的平均运行时间确定为当前作业的运行时间;其中聚类拆分组为历史作业根据作业特征分类得到的分类作业组,经聚类指标聚类后被拆分为作业组子集的分类作业组,其中聚类指标为历史作业中每个作业的平均写I/O突发的时间间隔;根据当前作业的写I/O突发的时间间隔和当前作业的运行时间确定当前作业在运行周期内写I/O突发的分布情况;将当前作业的写I/O突发的时间间隔和当前作业的运行时间加入到历史作业的作业信息中,并更新作业信息。本方法能够准确预测高性能计算机作业中的当前作业的写I/O突发的时间间隔和运行时间,并且在此预测的基础上,确定提交的当前作业的写I/O突发的分布情况,深入研究了作业时间写I/O突发特性以及写I/O突发模式的相似性,能够获得更高的准确性,操作也更具便利性。当作业存在重叠冲突时,最小的I/O突发的时间间隔对应的作业被保留,其它冲突作业被暂停2个时间片后才可正常运行,并对冲突作业的写I/O突发分布的时间信息进行更新,合理进行作业错峰调度,以提升作业和系统本身的写I/O效率。将运行完成后的作业从控制器中删除,减少占用空间,提高整体作业效率。
为了使本发明更便于理解,具体请参考图3,图3为本发明实施例提供的一种基于写I/O突发预测的错峰调度策略图。预测器获取提交的新作业作为待预测的当前作业,以及获取运行的作业,预测器对当前作业进行预测,得出当前作业的写/O突发的分布情况,并将当前作业和作业ID发送到中央控制器,控制器根据写I/O突发的分布情况进行分析,将可能存在冲突的作业进行二次分析,得到需要挂起的作业信息发送给作业调度器,作业调度器将作业挂起,挂起完成后,中央控制器更新挂起作业的作业信息,以此完成作业的错峰。
下面对本发明实施例提供的一种写I/O突发分布预测装置进行介绍,下文描述的写I/O突发分布预测装置与上文描述的写I/O突发分布预测方法可相互对应参照。
具体请参考图4,图4为本发明实施例提供的一种写I/O突发分布预测装置的结构框图,可以包括:
获取模块100,用于获取当前作业和作业特征;
第一确定模块200,用于根据作业特征确定当前作业所属的作业组;
第二确定模块300,用于若作业组是聚类拆分组,则获取当前作业中第一个写I/O突发和第二个写I/O突发,计算第一个写I/O突发和第二个写I/O突发的时间间隔,作为第一时间间隔,根据第一时间间隔确定当前作业所属的作业组子集,将作业组子集的平均写I/O突发的时间间隔确定为当前作业的写I/O突发的时间间隔,且将作业组子集的平均运行时间确定为当前作业的运行时间;
第三确定模块400,用于若作业组不是聚类拆分组,则将作业组的平均写I/O突发的时间间隔确定为当前作业的写I/O突发的时间间隔,且将作业组的平均运行时间确定为当前作业的运行时间;其中聚类拆分组为历史作业根据作业特征分类得到的分类作业组,经聚类指标聚类后被拆分为作业组子集的分类作业组,其中聚类指标为历史作业中每个作业的平均写I/O突发的时间间隔;
第四确定模块500,用于根据当前作业的写I/O突发的时间间隔和当前作业的运行时间确定当前作业在运行周期内写I/O突发的分布情况;
更新模块600,用于将当前作业的写I/O突发的时间间隔和当前作业的运行时间加入到历史作业的作业信息中,并更新作业信息。
基于上述实施例,其中第一确定模块200,可以包括:
设定单元,用于将<作业名,用户名,计算结点数量>三元组作为作业特征;
第一确定单元,用于根据作业特征确定当前作业所属的作业组。
基于上述实施例,其中第三确定模块400,可以包括:
第二确定单元,用于历史作业根据作业特征进行分类得到分类作业组;
聚类单元,用于利用DBSCAN聚类算法对分类作业组进行聚类;
第三确定单元,用于将分类作业组中经聚类后被拆分为子集的作业组,确定为聚类拆分组。
基于上述实施例,其中一种写I/O突发分布预测装置,还可以包括:
第一发送模块,用于将当前作业的写I/O突发的分布情况和当前作业的ID发送到控制器;
判断模块,用于控制器根据写I/O突发的分布情况判断是否在相同时间片内存在与当前作业冲突的重叠作业,其中时间片为30s;
处置模块,用于若存在,则控制器唤醒作业调度器,作业调度器对重叠作业进行处置操作。
基于上述实施例,其中处置模块,可以包括:
比较单元,用于控制器对重叠作业和当前作业的写I/O突发的时间间隔进行比较;
第二发送单元,用于若当前作业的写I/O突发的时间间隔小于重叠作业的写I/O突发的时间间隔,控制器向作业调度器发送将重叠作业暂停的指令。
基于上述实施例,其中第二发送单元,可以包括:
运行子单元,用于若重叠作业的暂停时间达到60s后,重叠作业开始运行;
更新子单元,用于控制器更新重叠作业的写I/O突发分布的时间信息。
基于上述实施例,其中一种写I/O突发分布预测装置,还可以包括:
发送模块,用于在当前作业运行结束后,向控制器发送删除指令;
删除模块,用于控制器根据删除指令将当前作业的作业信息删除。
需要说明的是,上述写I/O突发分布预测装置中的模块以及单元在不影响逻辑的情况下,其顺序可以前后进行更改。
应用本发明实施例提供的写I/O突发分布预测装置,本装置通过获取模块100,用于获取当前作业和作业特征;第一确定模块200,用于根据作业特征确定当前作业所属的作业组;第二确定模块300,用于若作业组是聚类拆分组,则获取当前作业中第一个写I/O突发和第二个写I/O突发,计算第一个写I/O突发和第二个写I/O突发的时间间隔,作为第一时间间隔,根据第一时间间隔确定当前作业所属的作业组子集,将作业组子集的平均写I/O突发的时间间隔确定为当前作业的写I/O突发的时间间隔,且将作业组子集的平均运行时间确定为当前作业的运行时间;第三确定模块400,用于若作业组不是聚类拆分组,则将作业组的平均写I/O突发的时间间隔确定为当前作业的写I/O突发的时间间隔,且将作业组的平均运行时间确定为当前作业的运行时间;其中聚类拆分组为历史作业根据作业特征分类得到的分类作业组,经聚类指标聚类后被拆分为作业组子集的分类作业组,其中聚类指标为历史作业中每个作业的平均写I/O突发的时间间隔;第四确定模块500,用于根据当前作业的写I/O突发的时间间隔和当前作业的运行时间确定当前作业在运行周期内写I/O突发的分布情况;更新模块600,用于将当前作业的写I/O突发的时间间隔和当前作业的运行时间加入到历史作业的作业信息中,并更新作业信息。本装置能够准确预测高性能计算机作业中的当前作业的写I/O突发的时间间隔和运行时间,并且在此预测的基础上,确定提交的当前作业的写I/O突发的分布情况,深入研究了作业时间写I/O突发特性以及写I/O突发模式的相似性,能够获得更高的准确性,操作也更具便利性。当作业存在重叠冲突时,最小的I/O突发的时间间隔对应的作业被保留,其它冲突作业被暂停2个时间片后才可正常运行,并对冲突作业的写I/O突发分布的时间信息进行更新,合理进行作业错峰调度,以提升作业和系统本身的写I/O效率。将运行完成后的作业从控制器中删除,减少占用空间,提高整体作业效率。
下面对本发明实施例提供的写I/O突发分布预测设备进行介绍,下文描述的写I/O突发分布预测设备与上文描述的写I/O突发分布预测方法可相互对应参照。
请参考图5,图5为本发明实施例提供的一种写I/O突发分布预测设备的结构框图,可以包括:
存储器10,用于存储计算机程序;
处理器20,用于执行计算机程序,以实现上述的写I/O突发分布预测方法。
存储器10、处理器20、通信接口31均通过通信总线32完成相互间的通信。
在本发明实施例中,存储器10中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本申请实施例中,存储器10中可以存储有用于实现以下功能的程序:
获取当前作业和作业特征;
根据作业特征确定当前作业所属的作业组;
若作业组是聚类拆分组,则获取当前作业中第一个写I/O突发和第二个写I/O突发,计算第一个写I/O突发和第二个写I/O突发的时间间隔,作为第一时间间隔,根据第一时间间隔确定当前作业所属的作业组子集,将作业组子集的平均写I/O突发的时间间隔确定为当前作业的写I/O突发的时间间隔,且将所述作业组子集的平均运行时间确定为当前作业的运行时间;
若作业组不是聚类拆分组,则将作业组的平均写I/O突发的时间间隔确定为当前作业的写I/O突发的时间间隔,且将作业组的平均运行时间确定为当前作业的运行时间;其中聚类拆分组为历史作业根据作业特征分类得到的分类作业组,经聚类指标聚类后被拆分为作业组子集的分类作业组,其中聚类指标为历史作业中每个作业的平均写I/O突发的时间间隔;根据当前作业的写I/O突发的时间间隔和当前作业的运行时间确定当前作业在运行周期内写I/O突发的分布情况;
将当前作业的写I/O突发的时间间隔和当前作业的运行时间加入到历史作业的作业信息中,并更新作业信息。
在一种可能的实现方式中,存储器10可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及至少一个功能所需的应用程序等;存储数据区可存储使用过程中所创建的数据。
此外,存储器10可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括NVRAM。存储器存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可以包括各种系统程序,用于实现各种基础任务以及处理基于硬件的任务。
处理器20可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件,处理器20可以是微处理器或者也可以是任何常规的处理器等。处理器20可以调用存储器10中存储的程序。
通信接口31可以为通信模块的接口,用于与其他设备或者系统连接。
当然,需要说明的是,图5所示的结构并不构成对本申请实施例中写I/O突发分布预测设备的限定,在实际应用中写I/O突发分布预测设备可以包括比图5所示的更多或更少的部件,或者组合某些部件。
下面对本发明实施例提供的存储介质进行介绍,下文描述的存储介质与上文描述的写I/O突发分布预测方法可相互对应参照。
本发明还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的写I/O突发分布预测方法的步骤。
该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本发明的范围。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
以上对本发明所提供的写I/O突发分布预测方法、装置、设备和存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种写I/O突发分布预测方法,其特征在于,包括:
获取当前作业和作业特征;
根据所述作业特征确定所述当前作业所属的作业组;
若所述作业组是聚类拆分组,则获取所述当前作业中第一个写I/O突发和第二个写I/O突发,计算所述第一个写I/O突发和所述第二个写I/O突发的时间间隔,作为第一时间间隔,根据所述第一时间间隔确定所述当前作业所属的作业组子集,将所述作业组子集的平均写I/O突发的时间间隔确定为所述当前作业的写I/O突发的时间间隔,且将所述作业组子集的平均运行时间确定为所述当前作业的运行时间;
若所述作业组不是聚类拆分组,则将所述作业组的平均写I/O突发的时间间隔确定为所述当前作业的写I/O突发的时间间隔,且将所述作业组的平均运行时间确定为所述当前作业的运行时间;其中所述聚类拆分组为历史作业根据所述作业特征分类得到的分类作业组,经聚类指标聚类后被拆分为作业组子集的分类作业组,其中所述聚类指标为所述历史作业中每个作业的平均写I/O突发的时间间隔;
根据所述当前作业的写I/O突发的时间间隔和所述当前作业的运行时间确定所述当前作业在运行周期内写I/O突发的分布情况;
将所述当前作业的写I/O突发的时间间隔和所述当前作业的运行时间加入到所述历史作业的作业信息中,并更新所述作业信息。
2.根据权利要求1所述的写I/O突发分布预测方法,其特征在于,所述根据所述作业特征确定所述当前作业所属的作业组,包括:
将<作业名,用户名,计算结点数量>三元组作为所述作业特征;
根据所述作业特征确定所述当前作业所属的所述作业组。
3.根据权利要求1所述的写I/O突发分布预测方法,其特征在于,所述其中所述聚类拆分组为历史作业根据所述作业特征分类得到的分类作业组,经聚类指标聚类后被拆分为作业组子集的分类作业组,包括:
所述历史作业根据所述作业特征进行分类得到所述分类作业组;
利用DBSCAN聚类算法对所述分类作业组进行聚类;
将所述分类作业组中经聚类后被拆分为子集的作业组,确定为聚类拆分组。
4.根据权利要求1所述的写I/O突发分布预测方法,其特征在于,在所述根据所述当前作业的写I/O突发的时间间隔和所述当前作业的运行时间确定所述当前作业在运行周期内写I/O突发的分布情况之后,还包括:
将所述当前作业的写I/O突发的分布情况和所述当前作业的ID发送到控制器;
通过所述控制器根据所述写I/O突发的分布情况判断是否在相同时间片内存在与所述当前作业冲突的重叠作业,其中所述时间片为30s;
若存在,则通过所述控制器唤醒作业调度器,通过所述作业调度器对所述重叠作业进行处置操作。
5.根据权利要求4所述的写I/O突发分布预测方法,其特征在于,所述通过所述作业调度器对所述重叠作业进行处置操作,包括:
若所述当前作业的写I/O突发的时间间隔小于所述重叠作业的写I/O突发的时间间隔,则通过所述控制器向所述作业调度器发送将所述重叠作业暂停的指令。
6.根据权利要求5所述的写I/O突发分布预测方法,其特征在于,所述则通过所述控制器向所述作业调度器发送将所述重叠作业暂停的指令,包括:
若所述重叠作业的暂停时间达到60s后,所述重叠作业开始运行;
通过所述控制器更新所述重叠作业的写I/O突发分布的时间信息。
7.根据权利要求5所述的写I/O突发分布预测方法,其特征在于,在所述则通过所述控制器向所述作业调度器发送将所述重叠作业暂停的指令之后,还包括:
在所述当前作业运行结束后,向所述控制器发送删除指令;
通过所述控制器根据所述删除指令将所述当前作业的作业信息删除。
8.一种写I/O突发分布预测装置,其特征在于,包括:
获取模块,用于获取当前作业和作业特征;
第一确定模块,用于根据所述作业特征确定所述当前作业所属的作业组;
第二确定模块,用于若所述作业组是聚类拆分组,则获取所述当前作业中第一个写I/O突发和第二个写I/O突发,计算所述第一个写I/O突发和所述第二个写I/O突发的时间间隔,作为第一时间间隔,根据所述第一时间间隔确定所述当前作业所属的作业组子集,将所述作业组子集的平均写I/O突发的时间间隔确定为所述当前作业的写I/O突发的时间间隔,且将所述作业组子集的平均运行时间确定为所述当前作业的运行时间;
第三确定模块,用于若所述作业组不是聚类拆分组,则将所述作业组的平均写I/O突发的时间间隔确定为所述当前作业的写I/O突发的时间间隔,且将所述作业组的平均运行时间确定为所述当前作业的运行时间;其中所述聚类拆分组为历史作业根据所述作业特征分类得到的分类作业组,经聚类指标聚类后被拆分为作业组子集的分类作业组,其中所述聚类指标为所述历史作业中每个作业的平均写I/O突发的时间间隔;
第四确定模块,用于根据所述当前作业的写I/O突发的时间间隔和所述当前作业的运行时间确定所述当前作业在运行周期内写I/O突发的分布情况;
更新模块,用于将所述当前作业的写I/O突发的时间间隔和所述当前作业的运行时间加入到所述历史作业的作业信息中,并更新所述作业信息。
9.一种写I/O突发分布预测设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的写I/O突发分布预测方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的写I/O突发分布预测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310361726.7A CN116089248B (zh) | 2023-04-07 | 2023-04-07 | 一种写i/o突发分布预测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310361726.7A CN116089248B (zh) | 2023-04-07 | 2023-04-07 | 一种写i/o突发分布预测方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116089248A CN116089248A (zh) | 2023-05-09 |
CN116089248B true CN116089248B (zh) | 2023-06-02 |
Family
ID=86208651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310361726.7A Active CN116089248B (zh) | 2023-04-07 | 2023-04-07 | 一种写i/o突发分布预测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116089248B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111581454A (zh) * | 2020-04-27 | 2020-08-25 | 清华大学 | 基于深度图压缩算法的并行查询表现预测系统及方法 |
CN111625367A (zh) * | 2020-07-29 | 2020-09-04 | 北京并行科技股份有限公司 | 一种动态调整文件系统读写资源的方法 |
CN111897702A (zh) * | 2020-07-16 | 2020-11-06 | 中国工商银行股份有限公司 | 用于业务系统的预警处理方法和装置、计算机系统和介质 |
CN113590633A (zh) * | 2021-08-11 | 2021-11-02 | 中国建设银行股份有限公司 | 一种数据库读写热点消除方法、装置、存储介质和设备 |
CN115543761A (zh) * | 2022-11-28 | 2022-12-30 | 苏州浪潮智能科技有限公司 | 一种支持iops突发的方法、装置、电子设备及可读存储介质 |
CN115687034A (zh) * | 2021-07-22 | 2023-02-03 | 中国移动通信集团浙江有限公司 | 一种业务系统平面可用性判定方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9189260B2 (en) * | 2012-09-27 | 2015-11-17 | International Business Machines Corporation | Resource allocation for virtual machines and logical partitions |
-
2023
- 2023-04-07 CN CN202310361726.7A patent/CN116089248B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111581454A (zh) * | 2020-04-27 | 2020-08-25 | 清华大学 | 基于深度图压缩算法的并行查询表现预测系统及方法 |
CN111897702A (zh) * | 2020-07-16 | 2020-11-06 | 中国工商银行股份有限公司 | 用于业务系统的预警处理方法和装置、计算机系统和介质 |
CN111625367A (zh) * | 2020-07-29 | 2020-09-04 | 北京并行科技股份有限公司 | 一种动态调整文件系统读写资源的方法 |
CN115687034A (zh) * | 2021-07-22 | 2023-02-03 | 中国移动通信集团浙江有限公司 | 一种业务系统平面可用性判定方法和装置 |
CN113590633A (zh) * | 2021-08-11 | 2021-11-02 | 中国建设银行股份有限公司 | 一种数据库读写热点消除方法、装置、存储介质和设备 |
CN115543761A (zh) * | 2022-11-28 | 2022-12-30 | 苏州浪潮智能科技有限公司 | 一种支持iops突发的方法、装置、电子设备及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
面向超级计算机的I/O实时监控与自适应优化技术研究;杨斌;《中国博士学位论文全文数据库》(第01期);第I137-13页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116089248A (zh) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190303200A1 (en) | Dynamic Storage-Aware Job Scheduling | |
CN110413389B (zh) | 一种资源不均衡Spark环境下的任务调度优化方法 | |
CN110442451B (zh) | 一种面向深度学习的多类型gpu集群资源管理调度方法和系统 | |
CN103729248B (zh) | 一种基于缓存感知的确定待迁移任务的方法和装置 | |
JP5120061B2 (ja) | 優先度制御プログラム、優先度制御装置、及び優先度制御方法 | |
CN107404523A (zh) | 云平台自适应资源调度系统和方法 | |
CN112685170B (zh) | 备份策略的动态优化 | |
Xu et al. | Adaptive task scheduling strategy based on dynamic workload adjustment for heterogeneous Hadoop clusters | |
CN114072766A (zh) | 用于数字劳动力智能编排的系统和方法 | |
Wang et al. | Energy utilization task scheduling for mapreduce in heterogeneous clusters | |
WO2020238989A1 (zh) | 一种调度任务处理实体的方法及装置 | |
CN116702907B (zh) | 一种服务器无感知的大语言模型推理系统、方法和设备 | |
Bok et al. | An efficient MapReduce scheduling scheme for processing large multimedia data | |
JP2008152618A (ja) | ジョブ割当プログラム、方法及び装置 | |
CN108509280A (zh) | 一种基于推送模型的分布式计算集群本地性调度方法 | |
CN115658311A (zh) | 一种资源的调度方法、装置、设备和介质 | |
US11868808B2 (en) | Automatic driving simulation task scheduling method and apparatus, device, and readable medium | |
CN111857995B (zh) | 进程调度方法和装置、存储介质及电子装置 | |
CN116089248B (zh) | 一种写i/o突发分布预测方法、装置、设备及存储介质 | |
CN117435306A (zh) | 集群容器扩缩容方法、装置、设备及存储介质 | |
CN102184124A (zh) | 任务调度方法及系统 | |
CN117093335A (zh) | 分布式存储系统的任务调度方法及装置 | |
CN112948092A (zh) | 批量作业的调度方法、装置、电子设备及存储介质 | |
Al-Fareed et al. | Simulator for Scheduling Real-Time Systems with Reduced Power Consumption. | |
CN111211938A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |