CN117950599A - 基于分布式***的i/o栈构建方法、装置、设备及介质 - Google Patents

基于分布式***的i/o栈构建方法、装置、设备及介质 Download PDF

Info

Publication number
CN117950599A
CN117950599A CN202410353708.9A CN202410353708A CN117950599A CN 117950599 A CN117950599 A CN 117950599A CN 202410353708 A CN202410353708 A CN 202410353708A CN 117950599 A CN117950599 A CN 117950599A
Authority
CN
China
Prior art keywords
job
information
stack
type
type data
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
Application number
CN202410353708.9A
Other languages
English (en)
Inventor
李宇奇
张健
徐斌
贺成
冯景华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Supercomputer Center In Tianjin
Original Assignee
National Supercomputer Center In Tianjin
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National Supercomputer Center In Tianjin filed Critical National Supercomputer Center In Tianjin
Priority to CN202410353708.9A priority Critical patent/CN117950599A/zh
Publication of CN117950599A publication Critical patent/CN117950599A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开实施例涉及一种基于分布式***的I/O栈构建方法、装置、设备及介质,其中该方法包括:获取待运行作业的作业描述信息,根据所述作业描述信息,确定所述待运行作业的I/O类型数据;其中,所述作业描述信息包括:作业名称信息、作业路径信息、作业提交信息中的至少一个,所述作业名称信息包括:软件名称信息、软件版本信息、作业算例信息中的至少一个;根据所述I/O类型数据确定对所述待运行作业进行处理的目标I/O栈。本公开实施例,I/O栈与作业的适配性较高,并且实现了***级自动化构建I/O栈,减少了人力资源的消耗,合理利用I/O资源,提升了作业的I/O性能。

Description

基于分布式***的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栈。
本公开实施例还提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现如本公开实施例提供的基于分布式***的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为本公开实施例提供的一种基于分布式***的I/O栈构建方法的流程示意图;
图2为本公开实施例提供的另一种基于分布式***的I/O栈构建方法的流程示意图;
图3为本公开实施例提供的一种基于分布式***的I/O栈构建装置的结构示意图;
图4为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
随着计算机技术的发展,超级计算机的算力快速提升,然而超级计算机的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为本公开实施例提供的一种基于分布式***的I/O栈构建方法的流程示意图,该方法可以由基于分布式***的I/O栈构建装置执行,其中该装置可以采用软件和/或硬件实现,一般可集成在电子设备中,在一些实施例中,该电子设备可以为对超级计算机进行运行维护的监控运维平台。如图1所示,该方法包括:
步骤101,获取待运行作业的作业描述信息,根据作业描述信息,确定待运行作业的I/O类型数据;其中,作业描述信息包括:作业名称信息、作业路径信息、作业提交信息中的至少一个,作业名称信息包括:软件名称信息、软件版本信息、作业算例信息中的至少一个。
其中,作业可以为超级计算机运行的计算任务,该作业可以理解为关于给定数据的计算。待运行作业可以为等待超级计算机运行的任务。I/O类型数据可以为预测确定的作业所适配的I/O栈中的I/O类型,本实施例对该I/O类型数据不做限制,例如该I/O类型数据可以包括:读写类型数据、元数据类型数据、占用资源类型数据、文件类型数据中的至少一种。
作业描述信息可以为表征作业性质的信息,该作业描述信息可以理解为作业属性信息。该作业描述信息又称作业元信息。作业名称信息可以为表征作业文件名称的信息,在用户对作业进行命名时,用户可以以该作业相关的模拟软件名称、模拟软件版本、以及运行该作业所对应的算例中的一个或多个对该作业进行命名。因而,该作业名称信息可以包括软件名称信息、软件版本信息、作业算例信息中的一个或多个。
作业路径信息可以为表征作业文件存储路径的信息。软件名称信息可以为表征该作业对应的模拟软件名称的信息。软件版本信息可以为表征该作业对应的模拟软件版本的信息。作业算例信息可以为表征该待运行作业所对应的计算案例的信息,该计算案例信息可以表征待运行作业的工程应用类型。例如,该作业算例信息为以为表征流体计算的信息。
作业路径信息可以为表征作业存储路径的信息。在用户存储作业时,用户可以将作业类型相近、对应算例相近的作业存储在同一个文件路径下,因而基于该作业路径信息能够反映作业相关的模拟软件、对应的算例等信息。
作业提交信息可以为记录待运行作业的提交情况的信息。该作业提交信息可以包括:提交用户信息、提交用户组信息、作业提交时间信息中的一个或多个。其中,提交用户信息可以为提交待运行作业的用户编码(Identity,ID)。提交用户组信息可以为提交待运行作业的用户所在用户组的编码。作业提交时间信息可以为记录待运行作业提交至分布式***的时间的信息。由于待用户可能在相同时间段内提交相同类型的作业,因而基于该作业提交时间信息可以确定I/O类型数据的相关信息。
可选的,该作业描述信息还可以包括硬件资源信息,该硬件资源信息可以为记录待运行作业预估需要硬件资源的信息。该硬件资源信息可以出包括:中央处理器(CentralProcessing Unit,CPU)数量信息和/或节点数量信息。
可选的,该作业描述信息还可以包括用户描述信息,该用户描述信息可以为记录提交该作业用户的属性的信息。该用户描述信息可以包括:用户研究领域信息、用户所属单位信息、用户所属地区信息中的一个或多个。
在本公开一些实施例中,该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特征分类模型;其中,样本描述信息包括:样本名称信息、样本路径信息中的至少一个,样本名称信息包括:样本软件信息、样本算力信息中的至少一个。
其中,样本作业可以为已经运行结束的作业,指标信息可以为从多个维度对样本作业运行过程进行表征的参数,该多个维度包括但不限于:文件路径维度、作业提交维度、硬件资源维度、文件名称维度中的一个或多个。其中,硬件资源维度可以包括:读写维度、占用资源维度、元数据维度中的一个或多个。举例而言,该指标信息包括但不限于:读文件数量信息、写文件数量信息、读吞吐信息、写吞吐信息、读次数信息、写次数信息、元数据操作次数信息、文件大小信息、计算结点数量信息、CPU利用率信息、内存利用率信息、网络接收量信息、网络发送量信息、I/O时间占总作业时间比例信息中的一个或多个。
初始模型可以为待训练的神经网络模型,本实施例对该初始模型的具体种类不做限制,例如,该初始模型可以为长短期记忆网络(Long Short-Term Memory,LSTM)模型。样本描述信息可以为表征样本作业自身性质的信息,该样本描述信息又称样本元信息,该样本描述信息的分类可以与作业描述信息的分类相同。
在本实施例中,基于分布式***的I/O栈构建装置可以获取已经完成运行的样本作业的指标信息,并将指标信息和指标阈值进行比较,根据比较结果确定样本作业的样本I/O类型数据。进一步地,以样本作业的样本描述信息作为初始模型的输入数据,以该样本描述信息对应的样本I/O类型数据作为初始模型的输出数据,对该初始模型进行训练,得到I/O特征分类模型。
另一种可选的实施方式中,根据所述作业描述信息,确定所述待运行作业的I/O类型数据,包括:将作业描述信息在预先设置的描述类型关系中查询,确定与作业描述信息匹配成功的I/O类型数据。
其中,描述类型关系可以记录有各描述信息及其对应的I/O类型数据。
在本实施方式中,预先在描述类型关系中记录了不同描述信息对应的I/O类型数据。基于分布式***的I/O栈构建装置将作业描述信息在该描述类型关系中进行匹配,将与该作业描述信息一致的描述信息对应的I/O类型数据,作为该作业描述信息对应的I/O类型数据。
步骤102,根据I/O类型数据确定对待运行作业进行处理的目标I/O栈。
其中,目标I/O栈可以理解为运行待运行作业相关的I/O读取流程,该目标I/O栈可以包括基于元数据管理服务(Metadata Service,MDS)、元数据目标(Metadata Target,MDT)、对象存储服务器(Object Storage Service,OSS)、对象存储目标(Object StorageTarget,OST)中的一个或多个进行的数据读取流程。基于目标I/O栈,可以在待运行作业的处理过程中进行临时文件的存储、结果文件的存储等操作。
在本实施例中,在确定I/O类型数据之后,可以根据I/O类型数据对相应的I/O栈设置策略进行参数设置,进而得到目标I/O栈。
在本公开一些实施例中,若I/O类型数据包括读写类型数据和占用资源类型数据,根据I/O类型数据确定对待运行作业进行处理的目标I/O栈,包括:
若读写类型数据包括第一读写频率类型,且占用资源类型数据包括第一内存占用类型,则为预先设置的初始I/O栈配置硬盘型的突发缓存,得到目标I/O栈;其中,第一读写频率类型表征待运行作业的预测读写频率大于预设读写频率阈值,第一内存占用类型表征待运行作业的预测内存使用率大于预设内存使用率阈值。
其中,读写类型数据可以为表征作业运行过程中读写特征的数据,本实施例对该读写类型数据不做限制,例如,该读写类型数据可以为表征读写频率的数据。预测读写频率可以为预测的作业运行过程中进行读操作和/或写操作的频率。预设读写频率阈值可以根据用户需求等进行设置,本实施例不做限制。
占用资源类型数据可以为表征作业运行过程中占用的硬件资源的数据。预测内存使用率可以为预测的作业运行过程中使用的内存占总体内存的比例。预设内存使用率阈值可以根据用户需求等进行设置,本实施例不做限制,例如,该预设内存使用率阈值可以设置为50%或者75%。初始I/O栈可以为原始配置的I/O栈,该初始I/O栈可以理解为默认为作业提供的I/O栈。
在本实施例中,第一读写频率类型表征预测的作业运行过程中进行读操作和/或写操作的频率较高,为了使I/O栈适配该较高的频率,可以设置相应的突发缓存(BurstBuffer),本实施例对该突发缓存的大小不做限制。第一内存占用类型表征预测的作业运行过程中占用的内存使用率较高,为了使I/O栈适配该较高的内存使用率,不再划分内存作为突发缓存,而是配置固态硬盘(Solid State Disk,简称SSD)型的突发缓存,进而得到目标I/O栈。
若读写类型数据包括第一读写频率类型,且占用资源类型数据包括第二内存占用类型,则为初始I/O栈配置内存型的突发缓存,得到目标I/O栈;其中,第二内存占用类型表征待运行作业的预测内存使用率小于或等于预设内存使用率阈值。
其中,内存型的突发缓存可以为通过内存进行读操作,通过硬盘进行写操作的突发缓存。
在本实施例中,预测的作业运行过程中进行读操作和/或写操作的频率较高,为了使I/O栈适配该较高的频率,可以设置相应的突发缓存(Burst Buffer),并将待运行作业运行过程中产生的部分数据存储至该突发缓存,本实施例对该突发缓存的大小不做限制。第二内存占用类型表征预测的作业运行过程中占用的内存使用率较低,为了有效的利用该空闲的内存资源,配置内存型的突发缓存,并将待运行作业运行过程中产生的部分数据存储至该内存型的突发缓存。
上述方案中,在读写频率较高的情况下,配置了突发缓存,提高了读写效率。并且在内存使用率较大的情况下,基于硬盘实现了该突发缓存,避免了内存使用率的进一步升高。而在内存使用率较小的情况下,基于内存实现了该突发缓存,有效利用了内存资源,并且通过内存自身较高的读写速度进一步提高了读写效率。
在本公开一些实施例中,若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栈;其中,第一数量类型表征待运行作业的第二空间类型的预测文件数量大于预设文件数量阈值,第二空间类型表征文件占用的预测存储空间小于或等于预设第二空间阈值;
其中,文件类型数据可以为表征运行作业生成的文件的特征的数据,本实施例对该文件类型数据不做限制,例如,该文件类型数据可以包括表征文件占用存储空间的数据和/或文件数量的数据。文件数量阈值可以为判断文件是否过多的标准,该文件数量阈值根据用户需求等进行设置,本实施例不做限制,例如,该文件数量阈值可以设置为10000或者100000。预设第二空间阈值可以为判断文件占用的存储空间是否较小的标准,该预设第二空间阈值根据用户需求等进行设置,本实施例不做限制,例如,该预设第二空间阈值可以为2KB(KiloByte)。元数据存储空间可以为原本用于存储元数据的空间,该元数据存储空间又称元数据目标(Metadata Target,MDT)。
在本实施例中,第二空间类型表征预测的作业运行产生的文件所占用的存储空间较小,即预测存在小文件。第一数量类型表征预测的该第二空间类型的文件的数量较多,即预测存在较多的小文件。当小文件的数量较多时,为了提高I/O性能可以通过lustre MDT中的DoM功能,在初始I/O栈中划分用于存放该小文件的元数据存储空间,得到目标I/O栈,并将待运行作业运行过程中产生的部分数据转存至该元数据存储空间。在该目标I/O栈中,小文件可以存储在元数据存储空间中,进而在进行小文件的处理操作时,提高了小文件元数据的处理速度进而提高了小文件的处理效率,提高了I/O性能。
若文件类型数据包括第一空间类型,则对初始I/O栈中的计算数据存储空间进行条带化处理,得到目标I/O栈;其中,第一空间类型表征文件占用的预测存储空间大于预设第一空间阈值。
其中,预设第一空间阈值可以为判断文件占用的存储空间是否过大的标准,该预设第一空间阈值可以根据用户需求等进行设置,本实施例不做限制。计算数据存储空间可以为用于对计算产生的数据进行存储的空间,该计算数据存储空间又称卷空间、对象存储目标。
在本实施例中,第一空间类型表征预测的作业运行产生的文件所占用的存储空间较大,即预测存在大文件。在初始I/O栈中,使用单个计算数据存储空间对作业产生的文件进行存储,用于单个文件占用的存储空间较大,可能导致该单个计算数据存储空间的空间大小不足,为了解决该问题,将计算数据存储空间进行条带化处理,条带化处理之后的计算数据存储空间,能够将该第一空间类型的文件划分为多个文件包,并将该文件包存储至多个不同的计算数据存储空间内。
需要说明的是,上述确定目标I/O栈的方法可以交叉使用,根据I/O类型数据包括的具体数据确定相应的策略,并根据该策略确定最终的目标I/O栈。
上述方案中,在小文件多时,将该小文件放置于MDT,从而提高了小文件的I/O处理效率;在存在大文件时,对OST进行条带化处理,避免了单一卷空间不足的情况,使得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栈构建方法的流程示意图,如图2所示,在本公开一些实施例中,该基于分布式***的I/O栈构建方法还包括:
步骤201,获取对待运行作业进行计算的多个计算结点的位置信息。
其中,计算结点可以为超级计算机中的计算功能点。位置信息可以为表征计算结点具体物理位置的信息。
在本实施例中,在运行该待运行作业之前,基于分布式***的I/O栈构建装置还可以获取超级计算机中对该待运行作业进行计算的多个计算结点,并确定每个计算结点对应的位置信息。
步骤202,根据位置信息确定多个计算结点之间的最小结点距离。
其中,最小结点距离可以为两两计算结点之间的最近距离。
在本实施例中,基于分布式***的I/O栈构建装置可以根据位置信息计算两两计算结点之间的距离,得到多个结点距离,并将该多个结点距离之间的最小值确定为最小结点距离。
步骤203,若根据最小结点距离小于或等于预设结点距离,则调整计算结点,得到调整结点,并将调整结点作为新的计算结点返回确定新的最小结点距离,直至新的最小结点距离大于预设结点距离。
其中,预设结点距离可以为预先设置的结点距离最小值,若结点距离小于或等于该预设结点距离,说明该两个结点过近,进而可能导致突发性I/O的发生。调整结点可以为重新确定的计算结点。
在本实施例中,基于分布式***的I/O栈构建装置在确定最小结点距离之后,将该最小节点距离和预设结点距离进行比较,若最小结点距离小于或等于预设结点距离,则说明当前的多个计算结点中存在至少两个计算结点之间的距离过近,则通过调整路由的方法选取调整结点,将该调整结点作为新的计算结点,返回获取该新的计算结点的位置信息,进而计算相应的新的最小结点距离,直至该新的最小结点距离大于预设结点距离,说明当前的新的计算结点之间的距离均大于预设结点距离。
上述方案中,确定了最小节点距离大于预设结点距离的计算结点,从而避免了由于计算结点之间距离过近导致的突发性I/O。
在本公开一些实施例中,该基于分布式***的I/O栈构建方法还包括:针对待运行作业的每个结果文件,根据多个预设存储服务器的多个存储负载信息,确定多个预设存储服务器中的目标存储服务器,将该结果文件存储至目标存储服务器。
其中,预设存储服务器可以为用于存储数据的服务器,该预设存储服务器可以理解为存储结点。目标存储服务器可以确定存储该结果文件的服务器。结果文件可以为记录待运行作业的计算结果的文件。
在本实施例中,基于分布式***的I/O栈构建装置可以将每个结果文件从目标I/O栈中的存储装置转存至存储服务器,并将对应的部分目标I/O栈中的存储装置的存储资源释放。具体地,针对每个结果文件,基于分布式***的I/O栈构建装置可以获取当前时刻每个预设存储服务器对应的负载率,并将其中负载率最小的预设存储服务器确定为目标存储服务器,将该结果文件存储至该目标存储服务器。直至将每个结果文件均存储至相应的存储服务器,以使目标I/O栈中的存储装置中用于存储结果文件的部分全部被释放。
上述方案中,以文件为基础单位确定存储服务器,相对于相关技术中将相同作业的所有文件均转存至同一个存储服务器,实现了更细颗粒度的文件转存,从而平均了存储服务器的负载,避免了单一存储服务器的负载过大导致的转存失败。
接下来通过一个具体的示例对本公开实施例中的基于分布式***的I/O栈构建方法,进行进一步说明。
本实施例中,从高性能计算(High performance computing,HPC)***的计算结点至存储结点采集样本作业的指标信息,并结合样本作业的样本描述信息得到I/O特征分类模型,通过该I/O特征分类模型能够预测待运行作业的I/O类型数据,根据该I/O类型数据,在预先设置的知识库中确定相匹配的策略,根据该策略进行预处理并确定合理的目标I/O栈,在待运行作业结束后,目标I/O栈对应的存储资源需要被释放,根据当下各预设存储服务器的负载信息,确定其中的目标存储服务器,并将该结果文件转存至该目标存储服务器并释放目标I/O栈对应的存储装置中存储该结果文件的存储资源。
在本实施例中,通过该基于分布式***的I/O栈构建装置能够实现样本作业的指标信息的采集,该指标信息可以包括:读文件数量信息、写文件数量信息、读吞吐信息、写吞吐信息、读次数信息、写次数信息、元数据操作次数信息、文件大小信息、节点数量信息、CPU利用率信息、内存使用率信息、网络接收量信息、网络发送量信息、I/O时间占总作业时间比例信息中的一个或多个。样本作业的样本描述信息又称样本作业元信息,该样本描述信息可以通过该基于分布式***的I/O栈构建装置获取,该样本描述信息可以包括样本名称信息、样本路径信息等。
各样本作业的根据指标信息,确定各样本作业对应的样本I/O类型数据。举例而言,该样本I/O类型数据可以包括第一读写频率类型或第二读写频率类型、第一内存占用类型或第二内存占用类型、第一处理次数类型或第二处理次数类型等,并以该样本I/O类型数据作为标签,对初始模型进行训练,得到I/O特征分类模型。
进一步地,构建策略库,根据待运行作业对应的I/O类型数据确定相应的生成目标I/O栈的策略。举例而言,该策略包括但不限于以下几种:
其中,预处理相关的策略包括:
第一、若I/O类型数据包括表征元数据操作次数过多的第一处理次数类型,则可能存在MDS负载过高的问题,为了解决该问题对MDS进行条带设置。
第二、若I/O类型数据包括表征小文件多的第一数量类型,则可能存在I/O性能较差的问题,为了解决该问题通过lustre MDT的DoM功能,将小文件存储至MDT上。
第三、若I/O类型数据包括表征存在大文件的第一空间类型,则可能存在单个卷空间不足的问题,为了解决该问题将卷空间进行条带化处理。
其中,分配资源相关的策略包括:
第一、若I/O类型数据包括表征I/O吞吐大的第一读写频率类型,则可以存在单个OSS负载过高,或者多个OSS负载过高,进而导致磁盘硬件故障等文件***的响应故障,为了解决该问题,设置固态硬盘型的突发缓存。
第二、若I/O类型数据包括表征内存使用率较低的第二内存占用类型则设置内存型的突发缓存。
确定了相应的策略之后,根据该策略创建目标I/O栈。
进一步地,用户在提交待运行作业时,用户提前编辑好待运行作业的过程路径,基于分布式***的I/O栈构建装置通过prolog和epilog,与自身的I/O调度器进行交互。具体地,可以通过预处理进程(Prolog)设置目标I/O栈,并且通过该预处理进程(Prolog)将待运行作业提交到计算结点,在待运行作业运行结束之后,通过后处理进程(Epilog)释放目标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缓存的释放,节约了***资源。
图3为本公开实施例提供的一种基于分布式***的I/O栈构建装置的结构示意图,该装置300可由软件和/或硬件实现,一般可集成在电子设备中。如图3所示,该装置包括:
预测模块301,用于获取待运行作业的作业描述信息,将所述作业描述信息输入预先训练的I/O特征分类模型中,得到所述待运行作业的I/O类型数据;其中,所述作业描述信息包括:作业名称信息、作业路径信息、作业提交信息中的至少一个,所述作业名称信息包括:软件名称信息、软件版本信息、作业算例信息中的至少一个;
确定模块302,用于根据所述I/O类型数据确定对所述待运行作业进行处理的目标I/O栈。
一种可选的实施方式中,若所述I/O类型数据包括读写类型数据和占用资源类型数据,所述确定模块302,用于:
若所述读写类型数据包括第一读写频率类型,且所述占用资源类型数据包括第一内存占用类型,则为预先设置的初始I/O栈配置硬盘型的突发缓存,得到所述目标I/O栈;其中,所述第一读写频率类型表征所述待运行作业的预测读写频率大于预设读写频率阈值,所述第一内存占用类型表征所述待运行作业的预测内存使用率大于预设内存使用率阈值;
若所述读写类型数据包括第一读写频率类型,且所述占用资源类型数据包括第二内存占用类型,则为所述初始I/O栈配置内存型的突发缓存,得到所述目标I/O栈;其中,所述第二内存占用类型表征所述待运行作业的预测内存使用率小于或等于所述预设内存使用率阈值。
一种可选的实施方式中,若所述I/O类型数据包括元数据类型数据,所述确定模块302,用于:
若所述元数据类型数据包括第一处理次数类型,则将预先设置的初始I/O栈中的元数据管理资源进行条带化处理,得到所述目标I/O栈;其中,所述第一处理次数类型表征所述待运行作业的预测元数据处理次数大于预设元数据处理次数阈值。
一种可选的实施方式中,所述I/O类型数据包括:文件类型数据,所述确定模块302,用于:
若所述文件类型数据包括第一数量类型,则在预先设置的初始I/O栈中划分用于存放第二空间类型的文件的元数据存储空间,得到所述目标I/O栈;其中,所述第一数量类型表征所述待运行作业的第二空间类型的预测文件数量大于预设文件数量阈值,所述第二空间类型表征文件占用的预测存储空间小于或等于预设第二空间阈值;
若所述文件类型数据包括第一空间类型,则对所述初始I/O栈中的计算数据存储空间进行条带化处理,得到所述目标I/O栈;其中,所述第一空间类型表征文件占用的预测存储空间大于预设第一空间阈值。
一种可选的实施方式中,所述装置还包括调整模块,所述调整模块用于:
获取对所述待运行作业进行计算的多个计算结点的位置信息;根据所述位置信息确定所述多个计算结点之间的最小结点距离;若根据所述最小结点距离小于或等于预设结点距离,则调整所述计算结点,得到调整结点,并将所述调整结点作为新的计算结点返回确定新的最小结点距离,直至所述新的最小结点距离大于所述预设结点距离。
一种可选的实施方式中,所述装置还包括:
存储模块,用于针对所述待运行作业的每个结果文件,根据多个预设存储服务器的多个存储负载率,确定所述多个预设存储服务器中的目标存储服务器,将该结果文件存储至所述目标存储服务器。
一种可选的实施方式中,所述装置还包括训练模块,所述训练模块用于:
获取样本作业的指标信息,根据所述指标信息以及所述指标信息的指标阈值确定所述样本作业的样本I/O类型数据;
根据所述样本作业的样本描述信息及其对应的样本I/O类型数据对初始模型进行训练,得到所述I/O特征分类模型;其中,所述样本描述信息包括:样本名称信息、样本路径信息中的至少一个,所述样本名称信息包括:样本软件信息、样本算力信息中的至少一个。
本公开实施例所提供的基于分布式***的I/O栈构建装置可执行本公开任意实施例所提供的基于分布式***的I/O栈构建方法,具备执行方法相应的功能模块和有益效果。
图4为本公开实施例提供的一种电子设备的结构示意图。如图4所示,电子设备400包括一个或多个处理器401和存储器402。
处理器401可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备400中的其他组件以执行期望的功能。
存储器402可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器401可以运行所述程序指令,以实现上文所述的本公开的实施例的基于分布式***的I/O栈构建方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备400还可以包括:输入装置403和输出装置404,这些组件通过总线***和/或其他形式的连接机构(未示出)互连。
此外,该输入装置403还可以包括例如键盘、鼠标等等。
该输出装置404可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置404可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图4中仅示出了该电子设备400中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备400还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本公开实施例所提供的基于分布式***的I/O栈构建方法。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本公开实施例所提供的基于分布式***的I/O栈构建方法。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种基于分布式***的I/O栈构建方法,其特征在于,包括:
获取待运行作业的作业描述信息,根据所述作业描述信息,确定所述待运行作业的I/O类型数据;其中,所述作业描述信息包括:作业名称信息、作业路径信息、作业提交信息中的至少一个,所述作业名称信息包括:软件名称信息、软件版本信息、作业算例信息中的至少一个;
根据所述I/O类型数据确定对所述待运行作业进行处理的目标I/O栈。
2.根据权利要求1所述的方法,其特征在于,所述根据所述作业描述信息,确定所述待运行作业的I/O类型数据,包括:
将所述作业描述信息输入预先训练的I/O特征分类模型,得到所述I/O类型数据;或者,
将所述作业描述信息在预先设置的描述类型关系中查询,确定与所述作业描述信息匹配成功的所述I/O类型数据。
3.根据权利要求1所述的方法,其特征在于,若所述I/O类型数据包括读写类型数据和占用资源类型数据,所述根据所述I/O类型数据确定对所述待运行作业进行处理的目标I/O栈,包括:
若所述读写类型数据包括第一读写频率类型,且所述占用资源类型数据包括第一内存占用类型,则为预先设置的初始I/O栈配置硬盘型的突发缓存,得到所述目标I/O栈;其中,所述第一读写频率类型表征所述待运行作业的预测读写频率大于预设读写频率阈值,所述第一内存占用类型表征所述待运行作业的预测内存使用率大于预设内存使用率阈值;
若所述读写类型数据包括第一读写频率类型,且所述占用资源类型数据包括第二内存占用类型,则为所述初始I/O栈配置内存型的突发缓存,得到所述目标I/O栈;其中,所述第二内存占用类型表征所述待运行作业的预测内存使用率小于或等于所述预设内存使用率阈值。
4.根据权利要求1所述的方法,其特征在于,若所述I/O类型数据包括元数据类型数据,所述根据所述I/O类型数据确定对所述待运行作业进行处理的目标I/O栈,包括:
若所述元数据类型数据包括第一处理次数类型,则将预先设置的初始I/O栈中的元数据管理资源进行条带化处理,得到所述目标I/O栈;其中,所述第一处理次数类型表征所述待运行作业的预测元数据处理次数大于预设元数据处理次数阈值。
5.根据权利要求1所述的方法,其特征在于,所述I/O类型数据包括文件类型数据,所述根据所述I/O类型数据确定对所述待运行作业进行处理的目标I/O栈,包括:
若所述文件类型数据包括第一数量类型,则在预先设置的初始I/O栈中划分用于存放第二空间类型的文件的元数据存储空间,得到所述目标I/O栈;其中,所述第一数量类型表征所述待运行作业的第二空间类型的预测文件数量大于预设文件数量阈值,所述第二空间类型表征文件占用的预测存储空间小于或等于预设第二空间阈值;
若所述文件类型数据包括第一空间类型,则对所述初始I/O栈中的计算数据存储空间进行条带化处理,得到所述目标I/O栈;其中,所述第一空间类型表征文件占用的预测存储空间大于预设第一空间阈值。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取对所述待运行作业进行计算的多个计算结点的位置信息;
根据所述位置信息确定所述多个计算结点之间的最小结点距离;
若根据所述最小结点距离小于或等于预设结点距离,则调整所述计算结点,得到调整结点,并将所述调整结点作为新的计算结点返回确定新的最小结点距离,直至所述新的最小结点距离大于所述预设结点距离。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
针对所述待运行作业的每个结果文件,根据多个预设存储服务器的多个存储负载率,确定所述多个预设存储服务器中的目标存储服务器,将该结果文件存储至所述目标存储服务器。
8.一种基于分布式***的I/O栈构建装置,其特征在于,包括:
预测模块,用于获取待运行作业的作业描述信息,根据所述作业描述信息,确定所述待运行作业的I/O类型数据;其中,所述作业描述信息包括:作业名称信息、作业路径信息、作业提交信息中的至少一个,所述作业名称信息包括:软件名称信息、软件版本信息、作业算例信息中的至少一个;
确定模块,用于根据所述I/O类型数据确定对所述待运行作业进行处理的目标I/O栈。
9.一种电子设备,其特征在于,所述电子设备包括:
处理器和存储器;
所述处理器通过调用所述存储器存储的程序或指令,用于执行如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如权利要求1至7任一项所述方法的步骤。
CN202410353708.9A 2024-03-27 2024-03-27 基于分布式***的i/o栈构建方法、装置、设备及介质 Pending CN117950599A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410353708.9A CN117950599A (zh) 2024-03-27 2024-03-27 基于分布式***的i/o栈构建方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410353708.9A CN117950599A (zh) 2024-03-27 2024-03-27 基于分布式***的i/o栈构建方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN117950599A true CN117950599A (zh) 2024-04-30

Family

ID=90803471

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410353708.9A Pending CN117950599A (zh) 2024-03-27 2024-03-27 基于分布式***的i/o栈构建方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN117950599A (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103399545A (zh) * 2013-07-29 2013-11-20 北京四方继保自动化股份有限公司 一种用于分布式控制***的实时库管理模块
US20140052945A1 (en) * 2012-08-14 2014-02-20 International Business Machines Corporation Optimizing storage system behavior in virtualized cloud computing environments by tagging input/output operation data to indicate storage policy
CN104750624A (zh) * 2013-12-27 2015-07-01 英特尔公司 群集级数据一致性模型和协议
CN105612491A (zh) * 2013-09-16 2016-05-25 网络装置公司 分布式存储架构中基于具有密集树结构的元数据的盘区的管理
US20180089591A1 (en) * 2016-09-27 2018-03-29 Clairfai, Inc. Artificial intelligence model and data collection/development platform
US10019359B1 (en) * 2015-09-29 2018-07-10 EMC IP Holding Company LLC Optimized read processing
CN109062775A (zh) * 2018-07-09 2018-12-21 郑州云海信息技术有限公司 一种栈层优化判断的方法、***及设备
CN109788036A (zh) * 2018-12-20 2019-05-21 北京动力机械研究所 基于云网络的分布式计算方法、装置及具有其的云服务器
CN113535774A (zh) * 2020-04-15 2021-10-22 腾讯科技(深圳)有限公司 一种业务数据处理方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140052945A1 (en) * 2012-08-14 2014-02-20 International Business Machines Corporation Optimizing storage system behavior in virtualized cloud computing environments by tagging input/output operation data to indicate storage policy
CN103399545A (zh) * 2013-07-29 2013-11-20 北京四方继保自动化股份有限公司 一种用于分布式控制***的实时库管理模块
CN105612491A (zh) * 2013-09-16 2016-05-25 网络装置公司 分布式存储架构中基于具有密集树结构的元数据的盘区的管理
CN104750624A (zh) * 2013-12-27 2015-07-01 英特尔公司 群集级数据一致性模型和协议
US10019359B1 (en) * 2015-09-29 2018-07-10 EMC IP Holding Company LLC Optimized read processing
US20180089591A1 (en) * 2016-09-27 2018-03-29 Clairfai, Inc. Artificial intelligence model and data collection/development platform
CN109062775A (zh) * 2018-07-09 2018-12-21 郑州云海信息技术有限公司 一种栈层优化判断的方法、***及设备
CN109788036A (zh) * 2018-12-20 2019-05-21 北京动力机械研究所 基于云网络的分布式计算方法、装置及具有其的云服务器
CN113535774A (zh) * 2020-04-15 2021-10-22 腾讯科技(深圳)有限公司 一种业务数据处理方法及装置

Similar Documents

Publication Publication Date Title
US10402225B2 (en) Tuning resources based on queuing network model
TWI620075B (zh) 用於雲端巨量資料運算架構之伺服器及其雲端運算資源最佳化方法
US8869161B2 (en) Characterization and assignment of workload requirements to resources based on predefined categories of resource utilization and resource availability
US20240054128A1 (en) Automatic database query load assessment and adaptive handling
WO2020134364A1 (zh) 一种虚拟机迁移方法、云计算管理平台和存储介质
US10983873B1 (en) Prioritizing electronic backup
US20220398021A1 (en) Workload management using a trained model
US11797187B2 (en) Optimized I/O performance regulation for non-volatile storage
US20230004419A1 (en) Resource Migration Method and System, and Device
Wang et al. Design and implementation of an analytical framework for interference aware job scheduling on apache spark platform
CN116089477B (zh) 分布式训练方法及***
CN112947851A (zh) Numa***和***中的页面迁移方法
CN111625352A (zh) 调度方法、装置及存储介质
CN117950599A (zh) 基于分布式***的i/o栈构建方法、装置、设备及介质
CN114629906A (zh) 一种可靠的基于深度强化学习的云容器集群资源调度方法及装置
CN113918098A (zh) 一种数据处理方法、装置、设备及介质
CN113722349A (zh) 基于分布式数据库的sql审核方法、装置和计算机设备
CN114816691A (zh) 流计算任务并行度优化方法、装置、电子设备及存储介质
CN112306681A (zh) 一种资源控制方法、装置及电子设备
Anderson et al. Tuning a virtual storage system
CN117806571B (zh) 一种云主机的i/o参数值确定方法、计算机设备及其云平台
CN112910950B (zh) 一种待上链数据的上链方法、装置以及区块链节点设备
EP4396682A1 (en) Methods and apparatuses for selecting fault management models
CN116939045A (zh) 一种智能优化方法、装置、设备及存储介质
CN114328148A (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