G06F16/11 G06F16/18 G06F9/50
1. 一种支持多作业并行IO性能隔离的文件系统管理方法,其特征在于: 包括以下配置:
文件资源池的定义:包括:服务数量列表、每个服务器上存储空间配额、每个服务器上该资源池可以使用最大存储性能和动态信息;
资源池在分配后具有唯一的资源池标识符resource_id,高性能计算中的应用通过该resource_id来使用对应的资源池;所述动态信息包括每个存储服务器上当前的负载、内存使用、已分配的文件数等信息;
文件资源池的分配:并行文件系统提供文件资源池的分配接口,文件资源池请求中包含申请的资源池最大性能、资源池的IO使用方式、包含的数据服务器数量、分配的最大空间;当系统接收到这些信息时,会根据用户请求列表,使用多资源分配算法进行数据服务器、可用性能、可用容量的分配;
文件资源池的释放:并行文件系统提供文件资源池的释放接口,用户或管理员通过该释放接口完成文件资源池内资源的释放,释放的内容是在每个服务器上将分配给该资源池的性能资源释放、将存储服务器归还给并行文件系统,在进行资源池释放时,用户至少要提供资源池的资源池标识符resource_id;
资源池内负载统计:利用并行文件系统元数据管理服务器实现,在并行文件系统中,当有用户打开文件时,它会与元数据服务器进行交互;当文件关闭时,它仍然需要与元数据服务器交互;利用这个特点,该专利在文件做打开和关闭操作时,通过记录文件对象在数据服务器上的分布情况进行统计近似估算存储服务器的文件操作负载;
所述文件系统管理方法包括配置资源池、应用使用资源池、释放资源池三个阶段:
所述配置资源池包括以下步骤:
S1、配置资源池的总体性能、IO特征、总体容量性能,生成资源池需求配置表,向并行文件系统接收来自通过资源池申请接口的命令;
S2、并行文件系统接受到所述命令时,检查并行文件系统中的全局资源表,并检查当前全局资源是否能够满足这次申请,如果不满足,则返回无法申请,如果满足,执行下一步;
S3、并行文件系统分配该这次申请相应的资源,并把已分配的资源从全局资源表中移除;
S4、并行文件系统在每个存储服务器上配置QoS规则,保证在竞争的环境下,所分配的资源能够达到其所申请的性能;
S5、并行文件系统为本次资源申请生成一个描述信息,并产生一个全局唯一的资源池标识符resource_id与此相对应;
S6、并行文件系统在新建的资源池内部启动一个基于性能的数据放置算法,所述数据放置算法在资源池内存储服务器可用性能有较大不同的时候,数据的分布也和资源池内每个存储服务器最大可用性能成正比,在此该算法利用资源池内评估的实时负载和分配给资源池的最大可用性能,进行数据的分布,由于并行IO在每次操作时都会创建大量文件,该算法可以保证并行IO内创建的文件的数据分布和资源池内存储服务器的性能相匹配;
S7、并行文件系统将该resource_id返回给申请者,完成本次申请;
S8、用户获得到该resource_id后,将该resource_id与其上运行的作业或用户绑定;
所述应用使用资源池包括以下步骤:
S1、应用作业启动时,应用作业中的每一个进程都携带着该应用运行在资源池的资源池标识符resource_id;
S2、当应用的并行IO需要访问文件时,所有的创建操作携带着resource_id到文件系统的元数据服务器,元数据服务器根据携带的resource_id将请求转交到对应的文件资源池去处理;
如果到达该资源池的IO请求为打开已存在文件操作,那么资源池只需要根据需要打开文件信息增加文件对应存储服务器的负载统计信息,之后为用户执行打开操作;
如果达到该资源池的IO请求为关闭文件,那么资源池只需要根据需要关闭文件信息减少文件对应存储服务器的负载,之后为用户执行关闭操作;
如果达到该资源池的IO请求为创建文件,那么资源池需要运行该资源池内的数据放置算法,根据系统当前负载和每个存储设备最大可用性能进行数据分布,同时增加对应文件对应存储服务器的负载;
S3、元数据服务器完成操作后,将执行结果返回给应用,应用之后可以根据元数据返回的信息访问对应的数据服务器完成对文件的读写;
S4、当并行IO需要访问文件内容时,采用与上类似的方法将resource_id封装到每个IO请求之中,之后将该请求发送到数据服务器上;
S5、数据服务器根据resource_id查到对应的QoS规则,完成对该IO请求的对应QoS控制;
所述释放资源池包括以下步骤:
S1、作业或用户与所述资源池标识符resource_id解绑:
S2、用户提交给并行文件系统资源池释放命令,该命令包含需要释放资源池的resource_id;
S3、并行文件系统接收到所述resource_id后,检查该resource_id对应的资源池是否还有作业或应用使用,如果有作业或应用在使用,则把使用情况和信息返回给申请者,并返回无法释放,否则下一步;
S4、并行文件系统将需要释放资源池的QoS管控取消;
S5、并行文件系统将需要释放资源池的存储服务器空间、性能等资源返回到并行文件系统全局资源表中;
S6、并行文件系统释放该资源池的描述信息,完成本次资源释放。
2. 根据权利要求1所述的支持多作业并行IO性能隔离的文件系统管理方法,其特征在于:所述应用作业中的每一个进程都携带着该应用运行在资源池的资源池标识符resource_id,通过以下方式实现: resource_id在课题运行后将记录在每个进程的地址空间内,当课题有IO请求时,文件系统负责从进程的地址空间中获取该resource_id并将其拼装在每个IO请求中。
3.根据权利要求1所述的支持多作业并行IO性能隔离的文件系统管理方法,其特征在于:所述应用作业中的每一个进程都携带着该应用运行在资源池的资源池标识符resource_id,通过以下方式实现:文件系统扩展数据访问接口,允许课题通过文件系统接口将数据传递到文件系统的内部。
本发明属于计算机文件系统管理技术领域,尤其涉及一种支持多作业并行IO性能隔离的文件系统管理方法。
高性能计算机系统中的应用执行过程可典型地分成计算、I/O两部分,计算和IO比值决定了计算资源使用的效率,而且高性能计算中的应用多以并行IO的方式进行文件系统的访问。随着计算规模的日益增大,高性能计算平台中往往同时运行着大量的并发应用。这些并发应用共享整个存储系统;应用之间IO访问在存储系统会形成干扰和竞争,会使每个作业在存储系统获得的性能存在波动。目前主流的并行文件系统如lustre、gpfs、ceph等,都将整个存储空间作为一个整体进行管理,采用全局的数据管理方法、先来先服务的消息处理机制。传统并行文件系统中的数据管理方法无法应对高性能计算平台中多作业干扰和并行IO均衡的需求。
本发明目的在于提供一种支持多作业并行IO性能隔离的文件系统管理方法,该文件系统管理方法通过资源池之间的性能隔离来避免多作业在并行文件系统中的IO干扰,针对资源池进行性能和负载统计,并根据这些负载信息针对并行I/O进行数据布局,缓解并行I/O过程中进程之间的性能不均衡,提高并行IO性能。
为达到上述目的,本发明采用的技术方案是:一种支持多作业并行IO性能隔离的文件系统管理方法, 包括以下配置:
文件资源池的定义:包括:服务数量列表、每个服务器上存储空间配额、每个服务器上该资源池可以使用最大存储性能以及动态统计信息。资源池在分配后具有唯一的资源池标识符resource_id,高性能计算中的应用通过该resource_id来使用对应的资源池;所述动态统计信息包括每个存储服务器上当前的负载、内存使用、已分配的文件数等信息;
文件资源池的分配:并行文件系统提供文件资源池的分配接口,文件资源池请求中包含申请的资源池最大性能、资源池的IO使用方式、包含的数据服务器数量、分配的最大空间;当系统接收到这些信息时,会根据用户请求列表,使用多资源分配算法进行数据服务器、可用性能、可用容量的分配;
文件资源池的释放:并行文件系统提供文件资源池的释放接口,用户或管理员通过该释放接口完成文件资源池内资源的释放,释放的内容是在每个服务器上将分配给该资源池的性能资源释放、将存储服务器归还给并行文件系统,在进行资源池释放时,用户至少要提供资源池的资源池标识符resource_id;
资源池内负载统计:文件资源池内的数据服务器的负载的评定是通过监控文件的生命周期实现的,利用并行文件系统元数据管理服务器实现,在并行文件系统中,当有用户打开文件时,它会与元数据服务器进行交互;当文件关闭时,它仍然需要与元数据服务器交互;利用这个特点,该专利在文件做打开和关闭操作时,通过记录文件对象在数据服务器上的分布情况进行统计近似估算存储服务器的文件操作负载;
所述文件系统管理方法包括配置资源池、应用使用资源池、释放资源池三个阶段:
所述配置资源池包括以下步骤:
S1、配置资源池的总体性能、IO特征、总体容量性能,生成资源池需求配置表,向并行文件系统接收来自通过资源池申请接口的命令;
S2、并行文件系统接受到所述命令时,检查并行文件系统中的全局资源表,并检查当前全局资源是否能够满足这次申请,如果不满足,则返回无法申请,如果满足,执行下一步;
S3、并行文件系统分配该这次申请相应的资源,并把已分配的资源从全局资源表中移除;
S4、并行文件系统在每个存储服务器上配置QoS规则,保证在竞争的环境下,所分配的资源能够达到其所申请的性能;
S5、并行文件系统为本次资源申请生成一个描述信息,并产生一个全局唯一的资源池标识符resource_id与此相对应;
S6、并行文件系统在新建的资源池内部启动一个基于性能的数据放置算法,所述数据放置算法在资源池内存储服务器可用性能有较大不同的时候,数据的分布也和资源池内每个存储服务器最大可用性能成正比,在此该算法利用资源池内评估的实时负载和分配给资源池的最大可用性能,进行数据的分布,由于并行IO在每次操作时都会创建大量文件,该算法可以保证并行IO内创建的文件的数据分布和资源池内存储服务器的性能相匹配;
S7、并行文件系统将该resource_id返回给申请者,完成本次申请;
S8、用户获得到该resource_id后,将该resource_id与其上运行的作业或用户绑定;
所述应用使用资源池包括以下步骤:
S1、应用作业启动时,应用作业中的每一个进程都携带着该应用运行在资源池的资源池标识符resource_id;
S2、当应用的并行IO需要访问文件时,所有的创建操作携带着resource_id到文件系统的元数据服务器,元数据服务器根据携带的resource_id将请求转交到对应的文件资源池去处理;
如果到达该资源池的IO请求为打开已存在文件操作,那么资源池只需要根据需要打开文件信息增加文件对应存储服务器的负载统计信息,之后为用户执行打开操作;
如果达到该资源池的IO请求为关闭文件,那么资源池只需要根据需要关闭文件信息减少文件对应存储服务器的负载,之后为用户执行关闭操作;
如果达到该资源池的IO请求为创建文件,那么资源池需要运行该资源池内的数据放置算法,根据系统当前负载和每个存储设备最大可用性能进行数据分布,同时增加对应文件对应存储服务器的负载;
S3、元数据服务器完成操作后,将执行结果返回给应用,应用之后可以根据元数据返回的信息访问对应的数据服务器完成对文件的读写;
S4、当并行IO需要访问文件内容时,采用与上类似的方法将resource_id封装到每个IO请求之中,之后将该请求发送到数据服务器上;
S5、数据服务器根据resource_id查到对应的QoS规则,完成对该IO请求的对应QoS控制。
所述释放资源池包括以下步骤:
S1、作业或用户与所述资源池标识符resource_id解绑:
S2、用户提交给并行文件系统资源池释放命令,该命令包含需要释放资源池的resource_id;
S3、并行文件系统接收到所述resource_id后,检查该resource_id对应的资源池是否还有作业或应用使用,如果有作业或应用在使用,则把使用情况和信息返回给申请者,并返回无法释放,否则下一步;
S4、并行文件系统将需要释放资源池的QoS管控取消;
S5、并行文件系统将需要释放资源池的存储服务器空间、性能等资源返回到并行文件系统全局资源表中;
S6、并行文件系统释放该资源池的描述信息,完成本次资源释放。
上述技术方案中进一步改进的技术方案如下:
1. 上述方案中,所述应用作业中的每一个进程都携带着该应用运行在资源池的资源池标识符resource_id,通过以下方式实现: resource_id在课题运行后将记录在每个进程的地址空间内,当课题有IO请求时,文件系统负责从进程的地址空间中获取该resource_id并将其拼装在每个IO请求中。
2. 上述方案中,所述应用作业中的每一个进程都携带着该应用运行在资源池的资源池标识符resource_id,通过以下方式实现:文件系统扩展数据访问接口,允许课题通过文件系统接口将数据传递到文件系统的内部。
由于上述技术方案的运用,本发明与现有技术相比具有下列优点:
本发明支持多作业并行IO性能隔离的文件系统管理方法,其通过资源池之间的性能隔离来避免多作业在并行文件系统中的IO干扰,针对资源池进行性能和负载统计,并根据这些负载信息针对并行I/O进行数据布局,缓解并行I/O过程中进程之间的性能不均衡,提高并行IO性能;还有,基于该存储池实现多个不同应用间的性能隔离,利用存储池内部I/O访问的相似性实现并行I/O进程的性能均衡的数据布局,解决并行文件系统中多作业环境下的性能隔离问题,只需要在每台存储服务器上对资源池内使用资源进行性能保证,不需要再全局范围内对每个存储服务器上的资源进行动态调整,方法简单、易于实现;其次,其在资源池内部使用基于性能的数据放置算法实现做业内并行IO进程间的性能均衡,在资源池内基于性能的数据放置算法能够最大限度对相似行为的IO进行存储服务器性能评估和数据布局,避免了传统数据布局算法中对IO模式检测的难度和误差。
附图1为本发明文件系统管理方法中配置资源池的流程图;
附图2为本发明文件系统管理方法中释放资源池的流程图;
附图3为本发明文件系统管理方法中应用使用资源池的流程图。
在本专利的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制;术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性;此外,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本专利的具体含义。
下面结合实施例对本发明作进一步描述:
实施例:一种支持多作业并行IO性能隔离的文件系统管理方法,包括以下配置:
文件资源池的定义:包括:服务数量列表、每个服务器上存储空间配额、每个服务器上该资源池可以使用最大存储性能以及系统动态信息,资源池在分配后具有唯一的资源池标识符resource_id,高性能计算中的应用通过该resource_id来使用对应的资源池;所述动态信息包括每个存储服务器上当前的负载、内存使用、已分配的文件数等信息;多个资源池可能都包含着某个存储服务器,在这种情况下,该服务器需要提供相应的QoS机制保证每个资源池能够使用到分配给它的性能。
文件资源池的分配:并行文件系统提供文件资源池的分配接口,文件资源池请求中包含申请的资源池最大性能、资源池的IO使用方式、包含的数据服务器数量、分配的最大空间;当系统接收到这些信息时,会根据用户请求列表,使用多资源分配算法进行数据服务器、可用性能、可用容量的分配;一旦分配完成,每个服务器上需要运行相应的QoS算法保证在并发访问模式下,该资源池仍能得到请求的指标。
文件资源池的释放:并行文件系统提供文件资源池的释放接口,用户或管理员通过该释放接口完成文件资源池内资源的释放,释放的内容是在每个服务器上将分配给该资源池的性能资源释放、将存储服务器归还给并行文件系统,在进行资源池释放时,用户至少要提供资源池的资源池标识符resource_id;当文件资源池内的仍有作业或应用在使用时,释放失败;否则释放成功。
资源池内负载统计:文件资源池内的数据服务器的负载的评定是通过监控文件的生命周期实现的,利用并行文件系统元数据管理服务器实现,在并行文件系统中,当有用户打开文件时,它会与元数据服务器进行交互;当文件关闭时,它仍然需要与元数据服务器交互;利用这个特点,该专利在文件做打开和关闭操作时,通过记录文件对象在数据服务器上的分布情况进行统计近似估算存储服务器的文件操作负载;
所述文件系统管理方法包括配置资源池、应用使用资源池和释放资源池三个阶段:
所述配置资源池包括以下步骤:
S1、配置资源池的总体性能、IO特征、总体容量性能,生成资源池需求配置表,向并行文件系统接收来自通过资源池申请接口的命令;
S2、并行文件系统接受到所述命令时,检查并行文件系统中的全局资源表,并检查当前全局资源是否能够满足这次申请,如果不满足,则返回无法申请,如果满足,执行下一步;
S3、并行文件系统分配该这次申请相应的资源,并把已分配的资源从全局资源表中删除;
S4、并行文件系统在每个存储服务器上配置QoS规则,保证在竞争的环境下,所分配的资源能够达到其所申请的性能;
S5、并行文件系统为本次资源申请生成一个描述信息,并产生一个全局唯一的资源池标识符resource_id与此相对应;
S6、并行文件系统在新建的资源池内部启动一个基于性能的数据放置算法,所述数据放置算法在资源池内存储服务器负载有较大不同的时候,数据的分布也和资源池内每个存储服务器最大可用性能成正比,在此该算法利用资源池内评估的实时负载和分配给资源池的最大可用性能,进行数据的分布,由于并行IO在每次操作时都会创建大量文件,该算法可以保证并行IO内创建的文件的数据分布和资源池内存储服务器的性能相匹配;
S7、并行文件系统将该resource_id返回给申请者,完成本次申请;
S8、用户获得到该resource_id后,将该resource_id与其上运行的作业或用户绑定;
所述应用使用资源池包括以下步骤:
S1、应用作业启动时,应用作业中的每一个进程都携带着该应用运行在资源池的资源池标识符resource_id;
S2、当应用的并行IO需要访问文件时,所有的创建操作携带着resource_id到文件系统的元数据服务器,元数据服务器根据携带的resource_id将请求转交到对应的文件资源池去处理;
如果到达该资源池的IO请求为打开已存在文件操作,那么资源池只需要根据需要打开文件信息增加文件对应存储服务器的负载,之后为用户执行打开操作;
如果达到该资源池的IO请求为关闭文件,那么资源池只需要根据需要关闭文件信息减少文件对应存储服务器的负载,之后为用户执行关闭操作;
如果达到该资源池的IO请求为关闭文件,那么资源池需要运行该资源池内的数据放置算法,根据系统当前负载和每个存储设备最大可用性能进行数据分布,同时增加对应文件对应存储服务器的负载;
S3、元数据服务器完成操作后,将执行结果返回给应用,应用之后可以根据元数据返回的信息访问对应的数据服务器完成对文件的读写;
S4、当并行IO需要访问文件内容时,采用与上类似的方法将resource_id封装到每个IO请求之中,之后将该请求发送到数据服务器上;
S5、数据服务器根据resource_id查到对应的QoS规则,完成对该IO请求的对应QoS控制;
所述释放资源池包括以下步骤:
S1、作业或用户与所述资源池标识符resource_id解绑:
S2、用户提交给并行文件系统资源池释放命令,该命令包含需要释放资源池的resource_id;
S3、并行文件系统接收到所述resource_id后,检查该resource_id对应的资源池是否还有作业或应用使用,如果有作业或应用在使用,则把使用情况和信息返回给申请者,并返回无法释放,否则下一步;
S4、并行文件系统将需要释放资源池的QoS管控取消;
S5、并行文件系统将需要释放资源池的存储服务器空间、性能等资源返回到并行文件系统全局资源表中;
S6、并行文件系统释放该资源池的描述信息,完成本次资源释放。
上述应用作业中的每一个进程都携带着该应用运行在资源池的资源池标识符resource_id,通过以下方式实现: resource_id在课题运行后将记录在每个进程的地址空间内,当课题有IO请求时,文件系统负责从进程的地址空间中获取该resource_id并将其拼装在每个IO请求中。
上述应用作业中的每一个进程都携带着该应用运行在资源池的资源池标识符resource_id,通过以下方式实现:文件系统扩展数据访问接口,允许课题通过文件系统接口将数据传递到文件系统的内部。
采用上述支持多作业并行IO性能隔离的文件系统管理方法时,其通过资源池之间的性能隔离来避免多作业在并行文件系统中的IO干扰,针对资源池进行性能和负载统计,并根据这些负载信息针对并行I/O进行数据布局,缓解并行I/O过程中进程之间的性能不均衡,提高并行IO性能;还有,基于该存储池实现多个不同应用间的性能隔离,利用存储池内部I/O访问的相似性实现并行I/O进程的性能均衡的数据布局,解决并行文件系统中多作业环境下的性能隔离问题,只需要在每台存储服务器上对资源池内使用资源进行性能保证,不需要再全局范围内对每个存储服务器上的资源进行动态调整,方法简单、易于实现;其次,其在资源池内部使用基于性能的数据放置算法实现做业内并行IO进程间的性能均衡,在资源池内基于性能的数据放置算法能够最大限度对相似行为的IO进行存储服务器性能评估和数据布局,避免了传统数据布局算法中对IO模式检测的难度和误差。
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。
本文发布于:2023-04-14 07:37:44,感谢您对本站的认可!
本文链接:https://patent.en369.cn/patent/3/86493.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |