当前位置: 首页 > 专利查询>之江实验室专利>正文

面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法和装置制造方法及图纸

技术编号:38204445 阅读:10 留言:0更新日期:2023-07-21 16:50
面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法,包括:所有计算节点能按需访问存储在宿主计算节点、远端计算节点或数据存储服务器的任意文件;计算节点根据任务需求和元数据服务器给出的文件布局信息,通过策略引擎预设的缓存预取策略,反向使用条带化技术,根据缓存类型需求,将相关文件从数据存储服务器端复制或迁移到相应的多个计算节点本地持久性缓存设备;当缓存在多个计算节点的数据满足预设条件时,通过策略引擎预设的缓存替换或驱逐策略,将对相关计算节点端数据进行替换或驱逐到数据存储服务器端;根据待操作的相关文件是否已经缓存到对应计算节点本地持久性存储器中的情形,协同完成相关操作。协同完成相关操作。协同完成相关操作。

【技术实现步骤摘要】
面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法和装置


[0001]本专利技术属于大规模分布式系统领域,更具体地,涉及一种面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法和装置。

技术介绍

[0002]随着时代的变迁,高性能计算(High Performance Computing,HPC)由传统的科学计算与仿真(如:物理、生物、化学等)转向大数据处理和人工智能应用。大数据处理与人工智能应用有别用传统科学仿真应用,海量数据的快速存取给传统存储层次架构与存储容量带来了挑战。HPC通常采用大容量、高性能、成熟的分布式文件系统(Distributed File System,DFS)来管理数据存取,如:Lustre,GPFS,BeeGFS等。
[0003]HPC领域运用较多的DFS通常是三方架构:专职计算的计算节点(通常也称为客户端),存储数据的数据存储服务器和存储元数据的元数据服务器。在传统的HPC系统中,计算节点一般通过配备的动态随机存取存储器(Dynamic Random Access Memory,DRAM)来优化提升系统性能。DRAM既能存放运行程序,也能存放数据,是HPC集群的关键资源。但使用DRAM资源作为缓存会在一定程度上影响HPC计算性能,并且DRAM掉电时缓存其中的数据会丢失。随着存储技术的进步,新型存储器件与技术不断涌现,现有HPC系统中计算节点通常会配置高性能持久性设备,如:持久性内存(Persistent memory,PM),NVMe固态盘(Non

Volatile Memory Express Solid

State Drive,NVMe SSD)、Optane DC PMM等,将数据存储服务器端数据持久化存储到计算节点,可以减少掉电或故障情况下数据丢失风险,缩短数据I/O路径,消减网络延迟。已有方案通常会针对不同应用场景与需求进行优化设计,如面对突发性或大I/O需求,可以利用Busrt Buffer技术来快速吸收,缓解后端数据存储服务器压力,为客户端任务提供更好的服务质量;针对单节点任务,可以利用持久性客户端缓存技术,将数据从数据存储服务器端预取到客户端本地的持久性存储设备中,使应用程序的I/O能够从客户端本地节点读取和写入数据,减少网络延迟和锁竞争,减轻OST端的压力,提升集群系统的性能。
[0004]大数据处理任务一般需要多个节点协作完成。当前面向DFS的计算节点数据缓存技术通常仅支持单计算节点读写缓存,这对I/O局部性强、延迟敏感性任务非常有效,但是对大文件或需要多个节点参与协作完成的作业不合适。另外,随着新型存储器件与技术融入原有集群存储系统,系统的可扩展性要得到保障,缓存方案需要精心设计,需要考虑客户端多节点协同任务数据共享与缓存问题。

技术实现思路

[0005]针对现有技术的缺陷和改进需求,本专利技术提供了一种面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法和装置,其目的在于,设计开发“跨计算节点”持久性数据缓存,实现计算节点“细粒度”的“按需”缓存数据,满足大文件或多节点协作任务需求,提
升集群存储系统的性能与可扩展性。
[0006]为实现上述目的,本专利技术提供了一种面向DFS(以Lustre为例)的全局聚合命名空间下跨计算节点的持久性缓存方法,包括:
[0007]元数据服务器拥有全局聚合命名空间,提供数据一致性保证,维护统一目录树视图,在该视图下,所有计算节点可以按需访问存储在宿主计算节点(计算节点本地)、远端计算节点或数据存储服务器的任意文件;
[0008]计算节点根据任务需求和元数据服务器给出的文件布局信息,通过策略引擎预设的缓存预取策略,反向使用条带化技术,根据缓存类型需求,将相关文件从数据存储服务器端复制或迁移到相应的多个计算节点本地持久性缓存设备;当缓存在多个计算节点的数据满足预设条件时,通过策略引擎预设的缓存替换或驱逐策略,将对相关计算节点端数据进行替换或驱逐到数据存储服务器端;
[0009]多个计算节点协同工作,对相应文件进行读写I/O操作时,如果待操作的相关文件已经缓存到对应计算节点本地持久性存储器中,且相应计算节点对已缓存到计算节点本地的文件具有相应的操作权限,则各个计算节点可以直接访问各自本地的缓存或其他计算节点本地的缓存,协同完成相关操作。若待操作文件仅有部分缓存到对应计算节点本地持久性存储器中,那么根据缓存类型分为两种情况处理:1)当为只读缓存时,相应计算节点对已缓存在计算节点端的数据直接访问,对未缓存的数据,通过网络远程访问数据存储服务器端的数据并协同完成操作;2)当为读写缓存时,等待未缓存的数据缓存完毕,再根据任务需求,各个计算节点直接访问各自本地的缓存或其他计算节点本地的缓存,协同完成相关操作。若待操作文件均未缓存到计算节点本地持久性存储器中,则计算节点通过网络远程访问数据存储服务器端的数据并协同完成操作。
[0010]本专利技术利用元数据服务器维护统一目录树视图,所有计算节点共享该视图且所有计算节点可通过统一目录树视图访问存储在本地或远端的文件,将多个存储层级聚合,统一资源管理,并提供数据强一致性。本专利技术在全局聚合命名空间下提供跨计算节点的持久性缓存,突破单计算节点存储空间限制,为大文件任务或多节点协作任务提供近计算节点大容量缓存层,使得相应计算节点可以在计算节点端完成文件操作,减少了访问数据存储服务器的次数,消减了I/O路径,消除了远程访问网络延迟,提升了系统性能。本专利技术设计了融合预设规则和缓存算法的策略引擎,其可以根据任务负载特性按需对相关文件进行预取、替换与驱逐,满足不同任务的服务质量。总的来说,本专利技术所提供的面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法,能够实现跨计算节点按需缓存数据,满足大文件或多节点协作任务需求,保证服务质量,提升分布式文件系统的性能与可扩展性。
[0011]本专利技术将满足缓存预取规则的文件按需缓存到对应计算节点,能够利用计算节点持久性存储资源,充分发挥计算节点存储介质性能优势,并通过跨计算节点,提供大容量持久性缓存池,当I/O请求能够在跨计算节点缓存层满足时,可以避免计算节点对服务器端存储层请求访问带来的网络延迟,并且减少服务器端共享资源的争用问题。
[0012]进一步地,将文件缓存到各个计算节点本地存储介质中,缓存模式为读写缓存模式(跨节点只读缓存模式为跨节点读写缓存模式的特殊情况,两种模式主要区别为缓存标识位不同)。在读写缓存模式下,相关文件在全局聚合命名空间下可同时被多个计算节点缓存;
[0013]在读写缓存模式下,根据任务需求和元数据服务器给出的文件布局信息,通过策略引擎预设的缓存预取策略,反向使用条带化技术,文件按需缓存到对应计算节点;对于已经被相应计算节点缓存的文件,其他计算节点需要访问该文件时,仅需先从元数据服务器端获得对应文件的访问权限,然后可以直接安全的访问缓存在相应计算节点的文件,无需通过网络访问数据存储服务器,特别是当数据存储服务器端已删除相关文件时,减少已缓存在本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法,包括:元数据服务器拥有全局聚合命名空间,提供数据一致性保证,维护统一目录树视图,在该视图下,所有计算节点能按需访问存储在宿主计算节点、远端计算节点或数据存储服务器的任意文件;计算节点根据任务需求和元数据服务器给出的文件布局信息,通过策略引擎预设的缓存预取策略,反向使用条带化技术,根据缓存类型需求,将相关文件从数据存储服务器端复制或迁移到相应的多个计算节点本地持久性缓存设备;当缓存在多个计算节点的数据满足预设条件时,通过策略引擎预设的缓存替换或驱逐策略,将对相关计算节点端数据进行替换或驱逐到数据存储服务器端;多个计算节点协同工作,对相应文件进行读写I/O操作时,如果待操作的相关文件已经缓存到对应计算节点本地持久性存储器中,且相应计算节点对已缓存到计算节点本地的文件具有相应的操作权限,则各个计算节点可以直接访问各自本地的缓存或其他计算节点本地的缓存,协同完成相关操作;若待操作文件仅有部分缓存到对应计算节点本地持久性存储器中,那么根据缓存类型分为两种情况处理:1)当为只读缓存时,相应计算节点对已缓存在计算节点端的数据直接访问,对未缓存的数据,通过网络远程访问数据存储服务器端的数据并协同完成操作;2)当为读写缓存时,等待未缓存的数据缓存完毕,再根据任务需求,各个计算节点直接访问各自本地的缓存或其他计算节点本地的缓存,协同完成相关操作;若待操作文件均未缓存到计算节点本地持久性存储器中,则计算节点通过网络远程访问数据存储服务器端的数据并协同完成操作。2.如权利要求1所述的一种面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法,其特征在于,将文件缓存到各个计算节点本地存储介质中,缓存模式为读写缓存模式。在读写缓存模式下,相关文件在全局聚合命名空间下能同时被多个计算节点缓存;在读写缓存模式下,根据任务需求和元数据服务器给出的文件布局信息,通过策略引擎预设的缓存预取策略,反向使用条带化技术,文件按需缓存到对应计算节点;对于已经被相应计算节点缓存的文件,其他计算节点需要访问该文件时,仅需先从元数据服务器端获得对应文件的访问权限,然后可以直接安全的访问缓存在相应计算节点的文件,无需通过网络访问数据存储服务器,特别是当数据存储服务器端已删除相关文件时,减少已缓存在计算节点数据写回数据存储服务器步骤。3.如权利要求1所述的一种面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法,其特征在于,在读写缓存模式下,计算节点将文件从数据存储服务器迁移至对应计算节点本地存储介质中进行持久化缓存,通过跨计算节点添加操作完成;对于任意一个大文件BigFile1,跨计算节点添加操作包括:(a1)需要缓存BigFile1的计算节点向元数据服务器发送缓存BigFile1的并发写锁请求;(a2)元数据服务器收到计算节点请求后,将所有请求和对应的计算节点按序保存为节点列表list1,并判断BigFile1是否已被其他计算节点打开。若是,则元数据服务器向list1中的计算节点返回错误码,并执行步骤(9);若否,则元数据服务器向list1中的计算节点返回授权的并发写锁,以及BigFile1的元数据信息(元数据信息包括文件标识符FID、文件布局信息以及文件布局版本信息);
(a3)计算节点获得BigFile1的并发写锁和元数据信息后,运行在计算节点侧的策略引擎会根据任务需求和文件标识符FID在各个计算节点本地缓存系统中创建相应的空镜像文件,然后根据文件布局信息访问条带化存储在数据存储服务器中BigFile1,并将BigFile1通过反向使用条带化技术拷贝到相应已创建的镜像文件中,从而将BigFile1拷贝到相应计算节点本地持久性存储介质中;(a4)计算节点将BigFile1拷贝到各个计算机节点本地持久性存储介质之后,向元数据服务器发送释放并发写锁请求;(a5)元数据服务器收到计算节点发送的释放锁请求后,获得BigFile1的独占模式的布局锁;(a6)元数据服务器根据BigFile1的文件布局信息删除存储在数据存储服务器上原始的文件数据,并清除BigFile1在数据存储服务器上的文件布局信息;在将BigFile1从数据存储服务器迁移到计算节点端本地存储介质后,删除数据存储服务器中的原始文件数据,能够释放数据存储服务器存储空间,缓解服务器的存储压力;(a7)元数据服务器根据BigFile1在计算节点端的布局信息更新BigFile1的布局信息,并设置文件的分层存储管理属性,以指示文件BigFile1当前所属的存储层级和所属的计算节点,同时更新BigFile1的文件布局版本信息;(a8)元数据服务器释放BigFile1的独占模式的布局锁,并将最新的请求列表list1、文件布局信息和文件布局版本信息发送给相应的计算节点;(a9)节点列表list1中的计算节点判断文件BigFile1的文件布局版本信息是否发生变化,若是,则各自保存文件BigFile1最新的文件布局版本信息,跨计算节点添加操作成功,操作结束;若否,则跨计算节点添加操作失败,操作结束。4.如权利要求1所述的一种面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法,其特征在于,在读写缓存模式下,未缓存文件的计算节点需要访问已缓存在计算节点端的文件时,通过计算节点加入操作完成;对于任意一个大文件BigFile2中部分文件File1,若已在节点列表list2中计算节点本地存储介质中缓存了文件File1,则不包含在list2中的计算节点A访问list2中计算节点B缓存的文件File1时,通过将计算节点A加入到list2中完成加入操作,计算节点加入操作包括:(b1)计算节点A向元数据服务器发送文件File1的并发写锁请求;(b2)元数据服务器收到计算节点A请求后,根据File1...

【专利技术属性】
技术研发人员:程稳李勇刘懿黄章敏侯瑞峥滕会刚程永利陈光朱世强曾令仿
申请(专利权)人:之江实验室
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1