CN116436962A - 面向dfs的全局聚合命名空间下跨计算节点的持久性缓存方法和装置 - Google Patents
面向dfs的全局聚合命名空间下跨计算节点的持久性缓存方法和装置 Download PDFInfo
- Publication number
- CN116436962A CN116436962A CN202310376290.9A CN202310376290A CN116436962A CN 116436962 A CN116436962 A CN 116436962A CN 202310376290 A CN202310376290 A CN 202310376290A CN 116436962 A CN116436962 A CN 116436962A
- Authority
- CN
- China
- Prior art keywords
- file
- computing node
- computing
- data
- node
- 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
- 230000002085 persistent effect Effects 0.000 title claims abstract description 66
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000002776 aggregation Effects 0.000 title claims abstract description 33
- 238000004220 aggregation Methods 0.000 title claims abstract description 33
- 238000013500 data storage Methods 0.000 claims abstract description 84
- 230000015654 memory Effects 0.000 claims abstract description 24
- 238000005516 engineering process Methods 0.000 claims abstract description 21
- 230000002688 persistence Effects 0.000 claims abstract description 20
- 238000011084 recovery Methods 0.000 claims description 25
- 230000005012 migration Effects 0.000 claims description 14
- 238000013508 migration Methods 0.000 claims description 14
- 238000007726 management method Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 6
- 229920002153 Hydroxypropyl cellulose Polymers 0.000 description 7
- 235000010977 hydroxypropyl cellulose Nutrition 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- VQLYBLABXAHUDN-UHFFFAOYSA-N bis(4-fluorophenyl)-methyl-(1,2,4-triazol-1-ylmethyl)silane;methyl n-(1h-benzimidazol-2-yl)carbamate Chemical compound C1=CC=C2NC(NC(=O)OC)=NC2=C1.C=1C=C(F)C=CC=1[Si](C=1C=CC(F)=CC=1)(C)CN1C=NC=N1 VQLYBLABXAHUDN-UHFFFAOYSA-N 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 239000002002 slurry Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/2885—Hierarchically arranged intermediate devices, e.g. for hierarchical caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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
Abstract
面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法,包括:所有计算节点能按需访问存储在宿主计算节点、远端计算节点或数据存储服务器的任意文件;计算节点根据任务需求和元数据服务器给出的文件布局信息,通过策略引擎预设的缓存预取策略,反向使用条带化技术,根据缓存类型需求,将相关文件从数据存储服务器端复制或迁移到相应的多个计算节点本地持久性缓存设备;当缓存在多个计算节点的数据满足预设条件时,通过策略引擎预设的缓存替换或驱逐策略,将对相关计算节点端数据进行替换或驱逐到数据存储服务器端;根据待操作的相关文件是否已经缓存到对应计算节点本地持久性存储器中的情形,协同完成相关操作。
Description
技术领域
本发明属于大规模分布式系统领域,更具体地,涉及一种面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法和装置。
背景技术
随着时代的变迁,高性能计算(High Performance Computing,HPC)由传统的科学计算与仿真(如:物理、生物、化学等)转向大数据处理和人工智能应用。大数据处理与人工智能应用有别用传统科学仿真应用,海量数据的快速存取给传统存储层次架构与存储容量带来了挑战。HPC通常采用大容量、高性能、成熟的分布式文件系统(Distributed FileSystem,DFS)来管理数据存取,如:Lustre,GPFS,BeeGFS等。
HPC领域运用较多的DFS通常是三方架构:专职计算的计算节点(通常也称为客户端),存储数据的数据存储服务器和存储元数据的元数据服务器。在传统的HPC系统中,计算节点一般通过配备的动态随机存取存储器(Dynamic Random Access Memory,DRAM)来优化提升系统性能。DRAM既能存放运行程序,也能存放数据,是HPC集群的关键资源。但使用DRAM资源作为缓存会在一定程度上影响HPC计算性能,并且DRAM掉电时缓存其中的数据会丢失。随着存储技术的进步,新型存储器件与技术不断涌现,现有HPC系统中计算节点通常会配置高性能持久性设备,如:持久性内存(Persistent memory,PM),NVMe固态盘(Non-VolatileMemory Express Solid-State Drive,NVMe SSD)、Optane DC PMM等,将数据存储服务器端数据持久化存储到计算节点,可以减少掉电或故障情况下数据丢失风险,缩短数据I/O路径,消减网络延迟。已有方案通常会针对不同应用场景与需求进行优化设计,如面对突发性或大I/O需求,可以利用Busrt Buffer技术来快速吸收,缓解后端数据存储服务器压力,为客户端任务提供更好的服务质量;针对单节点任务,可以利用持久性客户端缓存技术,将数据从数据存储服务器端预取到客户端本地的持久性存储设备中,使应用程序的I/O能够从客户端本地节点读取和写入数据,减少网络延迟和锁竞争,减轻OST端的压力,提升集群系统的性能。
大数据处理任务一般需要多个节点协作完成。当前面向DFS的计算节点数据缓存技术通常仅支持单计算节点读写缓存,这对I/O局部性强、延迟敏感性任务非常有效,但是对大文件或需要多个节点参与协作完成的作业不合适。另外,随着新型存储器件与技术融入原有集群存储系统,系统的可扩展性要得到保障,缓存方案需要精心设计,需要考虑客户端多节点协同任务数据共享与缓存问题。
发明内容
针对现有技术的缺陷和改进需求,本发明提供了一种面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法和装置,其目的在于,设计开发“跨计算节点”持久性数据缓存,实现计算节点“细粒度”的“按需”缓存数据,满足大文件或多节点协作任务需求,提升集群存储系统的性能与可扩展性。
为实现上述目的,本发明提供了一种面向DFS(以Lustre为例)的全局聚合命名空间下跨计算节点的持久性缓存方法,包括:
元数据服务器拥有全局聚合命名空间,提供数据一致性保证,维护统一目录树视图,在该视图下,所有计算节点可以按需访问存储在宿主计算节点(计算节点本地)、远端计算节点或数据存储服务器的任意文件;
计算节点根据任务需求和元数据服务器给出的文件布局信息,通过策略引擎预设的缓存预取策略,反向使用条带化技术,根据缓存类型需求,将相关文件从数据存储服务器端复制或迁移到相应的多个计算节点本地持久性缓存设备;当缓存在多个计算节点的数据满足预设条件时,通过策略引擎预设的缓存替换或驱逐策略,将对相关计算节点端数据进行替换或驱逐到数据存储服务器端;
多个计算节点协同工作,对相应文件进行读写I/O操作时,如果待操作的相关文件已经缓存到对应计算节点本地持久性存储器中,且相应计算节点对已缓存到计算节点本地的文件具有相应的操作权限,则各个计算节点可以直接访问各自本地的缓存或其他计算节点本地的缓存,协同完成相关操作。若待操作文件仅有部分缓存到对应计算节点本地持久性存储器中,那么根据缓存类型分为两种情况处理:1)当为只读缓存时,相应计算节点对已缓存在计算节点端的数据直接访问,对未缓存的数据,通过网络远程访问数据存储服务器端的数据并协同完成操作;2)当为读写缓存时,等待未缓存的数据缓存完毕,再根据任务需求,各个计算节点直接访问各自本地的缓存或其他计算节点本地的缓存,协同完成相关操作。若待操作文件均未缓存到计算节点本地持久性存储器中,则计算节点通过网络远程访问数据存储服务器端的数据并协同完成操作。
本发明利用元数据服务器维护统一目录树视图,所有计算节点共享该视图且所有计算节点可通过统一目录树视图访问存储在本地或远端的文件,将多个存储层级聚合,统一资源管理,并提供数据强一致性。本发明在全局聚合命名空间下提供跨计算节点的持久性缓存,突破单计算节点存储空间限制,为大文件任务或多节点协作任务提供近计算节点大容量缓存层,使得相应计算节点可以在计算节点端完成文件操作,减少了访问数据存储服务器的次数,消减了I/O路径,消除了远程访问网络延迟,提升了系统性能。本发明设计了融合预设规则和缓存算法的策略引擎,其可以根据任务负载特性按需对相关文件进行预取、替换与驱逐,满足不同任务的服务质量。总的来说,本发明所提供的面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法,能够实现跨计算节点按需缓存数据,满足大文件或多节点协作任务需求,保证服务质量,提升分布式文件系统的性能与可扩展性。
本发明将满足缓存预取规则的文件按需缓存到对应计算节点,能够利用计算节点持久性存储资源,充分发挥计算节点存储介质性能优势,并通过跨计算节点,提供大容量持久性缓存池,当I/O请求能够在跨计算节点缓存层满足时,可以避免计算节点对服务器端存储层请求访问带来的网络延迟,并且减少服务器端共享资源的争用问题。
进一步地,将文件缓存到各个计算节点本地存储介质中,缓存模式为读写缓存模式(跨节点只读缓存模式为跨节点读写缓存模式的特殊情况,两种模式主要区别为缓存标识位不同)。在读写缓存模式下,相关文件在全局聚合命名空间下可同时被多个计算节点缓存;
在读写缓存模式下,根据任务需求和元数据服务器给出的文件布局信息,通过策略引擎预设的缓存预取策略,反向使用条带化技术,文件按需缓存到对应计算节点;对于已经被相应计算节点缓存的文件,其他计算节点需要访问该文件时,仅需先从元数据服务器端获得对应文件的访问权限,然后可以直接安全的访问缓存在相应计算节点的文件,无需通过网络访问数据存储服务器,特别是当数据存储服务器端已删除相关文件时,减少已缓存在计算节点数据写回数据存储服务器步骤。
本发明利用多个计算节点本地持久性设备构建跨节点缓存池,不仅能够加速计算节点一一对应的I/O密集型任务的性能和多计算节点读密集型任务的性能,而且可以进一步满足大文件或多节点协作任务需求,合理利用计算节点本地持久性存储资源,实现计算节点按需数据缓存,加速计算节点多对多的I/O密集型任务的性能。
进一步地,在读写缓存模式下,计算节点将文件从数据存储服务器迁移至对应计算节点本地存储介质中进行持久化缓存,通过跨计算节点添加操作完成;
对于任意一个大文件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最新的文件布局版本信息,跨计算节点添加操作成功,操作结束;若否,则跨计算节点添加操作失败,操作结束。
只读缓存模式使用并发读锁,计算节点端也需要先通过跨计算节点添加操作完成缓存数据从数据服务器拷贝到相应计算节点,然后才能执行计算节点端本地读I/O,但无需删除数据服务器端数据副本。
进一步地,在读写缓存模式下,未缓存文件的计算节点需要访问已缓存在计算节点端的文件时,通过计算节点加入操作完成;
对于任意一个大文件BigFile2中部分文件File1,若已在节点列表list2中计算节点本地存储介质中缓存了文件File1,则不包含在list2中的计算节点A访问list2中计算节点B缓存的文件File1时,通过将计算节点A加入到list2中完成加入操作,计算节点加入操作包括:
(b1)计算节点A向元数据服务器发送文件File1的并发写锁请求;
(b2)元数据服务器收到计算节点A请求后,根据File1的元数据信息判断File1是否已被缓存在计算节点端,若否,按照跨计算节点添加操作将文件File1按需迁移到计算节点A;若是,则元数据服务器将计算节点A相关信息添加到list2中,向计算节点A返回授权的并发写锁和BigFile2的元数据信息,并且将更新的list2发送给相应的计算节点;
(b3)计算节点A收到元数据服务器返回的并发写锁、BigFile2元数据信息后,查询BigFile2元数据信息获知File1文件布局信息,根据文件标识符FID在本地持久性存储介质中创建空镜像文件,同时向计算节点B发送数据迁移请求,并待文件File1迁移完成后,向元数据服务器发送释放并发写锁请求;
(b4)计算节点B收到计算节点A的请求后,将本地缓存的文件File1的数据迁移到计算节点A的镜像文件中,并向元数据服务器发送BigFile2元数据信息更新请求;
(b5)元数据服务器收到计算节点A和计算节点B的请求后,释放计算节点A并发写锁,在list2中删除计算节点B,通知list2中的计算节点原有BigFile2布局信息失效,并获得BigFile2的独占模式的布局锁;
(b6)元数据服务器根据文件BigFile2在计算节点端的布局信息更新BigFile2的布局信息,并设置文件的分层存储管理属性,以指示文件BigFile2当前所属的存储层级和所属的计算节点,同时更新BigFile2的文件布局版本信息;
(b7)元数据服务器释放BigFile2的独占模式的布局锁,并将最新的请求列表list2、文件布局信息和文件布局版本信息发送给相应的计算节点;
(b8)节点列表list2中的计算节点判断文件BigFile2的文件布局版本信息是否发生变化,若是,则各自保存文件BigFile2最新的文件布局版本信息,计算节点加入操作成功,操作结束;若否,则计算节点加入操作失败,返回错误码,操作结束。
计算节点加入操作可以按需在计算节点端对数据进行迁移,减少了网络和数据存储服务器的开销,极大的扩展了计算节点端缓存模式的灵活性。由于计算节点端存储空间有限,需要周期性或按需将计算节点端数据迁移回数据存储服务器端,保证计算节点端缓存的高效性。
进一步地,在读写缓存模式下,计算节点端将本地存储介质中已缓存的文件迁移回数据存储服务器中,通过跨计算节点恢复操作完成;
对于任意一个已缓存在计算节点端(节点列表list3)的大文件BigFile3,若遇到任务结束、主动数据迁回或需要按需替换缓存数据等情形时,需要通过恢复操作将数据从计算节点端恢复到数据服务器端,跨计算节点恢复操作包括:
(c1)节点列表list3中,某个计算节点A通过策略引擎向元数据服务器发送第一恢复请求,以请求将文件BigFile3迁移回数据存储服务器端;
(c2)元数据服务器在接收到第一恢复请求后,持有文件BigFile3的独占模式的布局锁,同时通知列表list3中所有计算节点对文件BigFile3缓存的布局信息无效;
(c3)列表list3中所有计算节点收到第二恢复请求后,各自判断是否仍有进程在使用文件BigFile3,若是,则等待直至所有使用文件BigFile3的进程结束后,向元数据服务器回复恢复请求,执行步骤(c4);若否,向元数据服务器回复恢复请求,直接执行步骤(c4);
(c4)元数据服务器收到列表list3中所有节点回复后,向数据存储服务器发送文件创建指令;
(c5)数据存储服务器在收到元数据服务器指令后,条带化创建空镜像文件,然后将列表list3中计算节点端缓存的文件BigFile3通过条带化技术拷贝存储到数据存储服务器端相应的镜像文件中,从而将文件BigFile3从计算节点端的本地存储介质迁移回对象存储服务器;
(c6)等到计算节点端将文件BigFile3迁移回数据存储服务器后,将文件BigFile3的文件标识符FID发送给元数据服务器;
(c7)元数据服务器接收到计算节点端发送的文件标识符FID后,根据文件BigFile3在数据存储服务器中的布局信息更新文件BigFile3的布局信息,并删除计算节点端中存储的文件BigFile3,之后更新文件BigFile3的文件布局版本信息,并释放文件BigFile3的独占模式的布局锁,计算节点端恢复操作结束。
只读缓存模式下计算节点端恢复操作较为简单,由于数据存储服务器端存储着文件副本并且文件并未更改,仅需将计算节点端相关缓存文件标记为失效并通知元数据服务器更改相关文件的布局信息和版本信息即可,后续缓存系统会自动删除相关文件回收存储空间。
本发明利用分布式锁机制来保证上述数据操作时缓存数据的一致性,利用分层存储技术管理数据存储服务器中的数据,实现不同存储层级间应用透明的缓存数据按需迁移。
本发明通过元数据服务器维护统一目录树视图,将多个存储层级聚合,无论数据在哪一存储层,元数据信息仍然会保存在元数据服务器中,简化资源管理,减少数据迁入迁出问题,在提升资源利用率的基础上,增强系统性能。
进一步地,本发明提供的一种面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法,还包括:策略引擎。
进一步地,策略引擎运行在计算节点侧,其存储着数据缓存预取与替换相关策略,计算节点可以根据策略引擎提供的策略执行相关缓存算法。策略引擎可以根据系统状态和任务需求按需选择合适的缓存策略,也可以根据用户自定义规则执行相关策略。
进一步地,策略引擎可以和任务调度系统(如:Slurm)结合,通过获取的系统状态和任务信息,可以为集群系统提供细粒度缓存预留、预取与替换方案,提供自动化数据缓存服务。
进一步地,策略引擎中的策略可以由用户自定义,通过对相关策略进行匹配,实现对数据文件的预取与驱逐操作,提供半自动数据缓存服务。
本发明利用策略引擎为任务定制缓存,集成策略引擎能够优化资源调度,实现跨计算节点数据按需预取与替换,减少缓存数据换进换出,提高缓存命中率,通过自动化和半自动化缓存方法,保证缓存数据的高效性,保障应用服务质量。
进一步地,在计算节点端采用非易失性存储介质作为缓存介质,并采用面向持久性内存的文件系统。
在计算节点使用非易失性存储介质作为缓存介质,并采用面向持久性内存的文件系统,能够充分利用非易失性存储介质的特性,提高应用性能。
本发明还涉及一种面向DFS的全局聚合命名空间下跨计算节点的持久性缓存装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现上述一种面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法
本发明还涉及一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现本发明的一种面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法。
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
(1)本发明提供的面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法,利用元数据服务器全局聚合维护统一目录树视图,所有计算节点共享该视图且所有计算节点可通过统一目录树视图访问存储在任意存储层的文件,将多个存储层级聚合,统一资源管理;在全局聚合命名空间下,通过策略引擎实现跨计算节点细粒度的按需缓存数据,将文件数据按需跨节点持久化缓存到计算节点端本地存储介质中,使得相应计算节点可通过访问本地持久性设备中的缓存文件即可完成文件操作,无需通过网络远程访问数据存储服务器,有效减少网络资源的开销。总的来说,本发明能满足大文件或多节点协作任务需求,跨计算节点按需缓存数据,提升集群存储系统的性能与可扩展性。
(2)本发明提供的面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法,存在读写缓存模式(只读缓存模式是读写缓存模式的特殊情况),在读写缓存模式下,文件可以跨节点被多个计算节点缓存,减少I/O路径,减少网络压力,有效提高文件读写性能。在读写缓存模式下,本发明提供的计算节点加入操作可以自由在计算节点端组建相应的缓存节点,实现计算节点层间按需缓存数据迁移,减少了服务器端的干预,大幅度提升了计算节点端缓存模式的灵活性。
(3)本发明提供的面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法,利用策略引擎执行缓存策略。策略引擎集成了自动化和半自动化缓存方法,通过系统状态和任务信息,提供自动化数据缓存服务,为集群系统提供细粒度缓存预留、预取与替换方案;通过用户自定义策略,提供半自动数据缓存服务,实现对数据文件的预取与驱逐操作。两种方法的目的是充分利用计算节点端存储介质性能优势,优化资源调度,减少缓存数据换进换出,提高缓存命中率,保障应用服务质量。
(4)本发明提供的面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法,利用分布式锁机制实现读写缓存模式下的跨计算节点添加、加入和恢复操作,保证读写缓存模式下,缓存数据的一致性。
(5)本发明提供的面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法,利用分层存储技术管理存储在分布式文件系统里面所有的数据,由于元数据服务器全局聚合维护统一目录树视图,无论数据在哪一存储层,元数据信息仍然会保存在元数据服务器中,简化了分布式文件系统的资源管理,提高了资源利用率。
附图说明
图1为本发明面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法示意图;
图2为本发明全局聚合命名空间示意图;
图3为本发明读写缓存模式下跨计算节点添加操作流程图;
图4为本发明读写缓存模式下跨计算节点加入操作流程图;
图5为本发明读写缓存模式下跨计算节点恢复操作流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,下述的实施例及实施方式中的特征可以相互组合。
实施例1
图1为本发明一实施例提供的一种面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法的流程示意图。如图1所示,本发明实施例中的一种面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法可包括如下步骤:
元数据服务器拥有全局聚合命名空间,提供数据一致性保证,维护统一目录树视图,在该视图下,所有计算节点可以按需访问存储在宿主计算节点(计算节点本地)、远端计算节点或数据存储服务器的任意文件;
计算节点根据任务需求和元数据服务器给出的文件布局信息,通过策略引擎预设的缓存预取策略,反向使用条带化技术,根据缓存类型需求,将相关文件从数据存储服务器端复制或迁移到相应的多个计算节点本地持久性缓存设备;当缓存在多个计算节点的数据满足预设条件时,通过策略引擎预设的缓存替换或驱逐策略,将对相关计算节点端数据进行替换或驱逐到数据存储服务器端;
多个计算节点协同工作,对相应文件进行读写I/O操作时,如果待操作的相关文件已经缓存到对应计算节点本地持久性存储器中,且相应计算节点对已缓存到计算节点本地的文件具有相应的操作权限,则各个计算节点可以直接访问各自本地的缓存或其他计算节点本地的缓存,协同完成相关操作。若待操作文件仅有部分缓存到对应计算节点本地持久性存储器中,那么根据缓存类型分为两种情况处理:1)当为只读缓存时,相应计算节点对已缓存在计算节点端的数据直接访问,对未缓存的数据,通过网络远程访问数据存储服务器端的数据并协同完成操作;2)当为读写缓存时,等待未缓存的数据缓存完毕,再根据任务需求,各个计算节点直接访问各自本地的缓存或其他计算节点本地的缓存,协同完成相关操作。若待操作文件均未缓存到计算节点本地持久性存储器中,则计算节点通过网络远程访问数据存储服务器端的数据并协同完成操作。
本发明利用元数据服务器维护统一目录树视图,所有计算节点共享该视图且所有计算节点可通过统一目录树视图访问存储在本地或远端的文件,将多个存储层级聚合,统一资源管理,并提供数据强一致性。本发明在全局聚合命名空间下提供跨计算节点的持久性缓存,突破单计算节点存储空间限制,为大文件任务或多节点协作任务提供近计算节点大容量缓存层,使得相应计算节点可以在计算节点端完成文件操作,减少了访问数据存储服务器的次数,消减了I/O路径,消除了远程访问网络延迟,提升了系统性能。本发明设计了融合预设规则和缓存算法的策略引擎,其可以根据任务负载特性按需对相关文件进行预取、替换与驱逐,满足不同任务的服务质量。总的来说,本发明所提供的面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法,能够实现跨计算节点按需缓存数据,满足大文件或多节点协作任务需求,保证服务质量,提升分布式文件系统的性能与可扩展性。
其中,本发明的全局聚合命名空间示意图如图2所示,全局聚合命名空间通过把客户端持久性缓存层(如:计算节点本地持久性缓存层、持久性内存文件系统层、远端计算节点持久性缓存层、转发节点本地存储层)与后端存储层(如:后端并行文件系统层、其它挂载的存储层、冷备份存储层)贯通,形成全局聚合命名空间,消除数据共享困难,并简化文件数据访问与管理复杂性。
本发明将满足缓存预取规则的文件按需缓存到对应计算节点,能够利用计算节点持久性存储资源,充分发挥计算节点存储介质性能优势,并通过跨计算节点,提供大容量持久性缓存池,当I/O请求能够在跨计算节点缓存层满足时,可以避免计算节点对服务器端存储层请求访问带来的网络延迟,并且减少服务器端共享资源的争用问题。
进一步地,将文件缓存到各个计算节点本地存储介质中,缓存模式为读写缓存模式(跨节点只读缓存模式为跨节点读写缓存模式的特殊情况,两种模式主要区别为缓存标识位不同)。在读写缓存模式下,相关文件在全局聚合命名空间下可同时被多个计算节点缓存;
在读写缓存模式下,根据任务需求和元数据服务器给出的文件布局信息,通过策略引擎预设的缓存预取策略,反向使用条带化技术,文件按需缓存到对应计算节点;对于已经被相应计算节点缓存的文件,其他计算节点需要访问该文件时,仅需先从元数据服务器端获得对应文件的访问权限,然后可以直接安全的访问缓存在相应计算节点的文件,无需通过网络访问数据存储服务器,特别是当数据存储服务器端已删除相关文件时,减少已缓存在计算节点数据写回数据存储服务器步骤。
本发明利用多个计算节点本地持久性设备构建跨节点缓存池,不仅能够加速计算节点一一对应的I/O密集型任务的性能和多计算节点读密集型任务的性能,而且可以进一步满足大文件或多节点协作任务需求,合理利用计算节点本地持久性存储资源,实现计算节点按需数据缓存,加速计算节点多对多的I/O密集型任务的性能。
在读写缓存模式下,计算节点将文件从数据存储服务器迁移至对应计算节点本地存储介质中进行持久化缓存,通过跨计算节点添加操作完成;
对于任意一个大文件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最新的文件布局版本信息,跨计算节点添加操作成功,操作结束;若否,则跨计算节点添加操作失败,操作结束。
只读缓存模式使用并发读锁,计算节点端也需要先通过跨计算节点添加操作完成缓存数据从数据服务器拷贝到相应计算节点,然后才能执行计算节点端本地读I/O,但无需删除数据服务器端数据副本。
在读写缓存模式下,未缓存文件的计算节点需要访问已缓存在计算节点端的文件时,通过计算节点加入操作完成;
对于任意一个大文件BigFile2中部分文件File1,若已在节点列表list2中计算节点本地存储介质中缓存了文件File1,则不包含在list2中的计算节点A访问list2中计算节点B缓存的文件File1时,通过将计算节点A加入到list2中完成加入操作,计算节点加入操作包括:
(b1)计算节点A向元数据服务器发送文件File1的并发写锁请求;
(b2)元数据服务器收到计算节点A请求后,根据File1的元数据信息判断File1是否已被缓存在计算节点端,若否,按照跨计算节点添加操作将文件File1按需迁移到计算节点A;若是,则元数据服务器将计算节点A相关信息添加到list2中,向计算节点A返回授权的并发写锁和BigFile2的元数据信息,并且将更新的list2发送给相应的计算节点;
(b3)计算节点A收到元数据服务器返回的并发写锁、BigFile2元数据信息后,查询BigFile2元数据信息获知File1文件布局信息,根据文件标识符FID在本地持久性存储介质中创建空镜像文件,同时向计算节点B发送数据迁移请求,并待文件File1迁移完成后,向元数据服务器发送释放并发写锁请求;
(b4)计算节点B收到计算节点A的请求后,将本地缓存的文件File1的数据迁移到计算节点A的镜像文件中,并向元数据服务器发送BigFile2元数据信息更新请求;
(b5)元数据服务器收到计算节点A和计算节点B的请求后,释放计算节点A并发写锁,在list2中删除计算节点B,通知list2中的计算节点原有BigFile2布局信息失效,并获得BigFile2的独占模式的布局锁;
(b6)元数据服务器根据文件BigFile2在计算节点端的布局信息更新BigFile2的布局信息,并设置文件的分层存储管理属性,以指示文件BigFile2当前所属的存储层级和所属的计算节点,同时更新BigFile2的文件布局版本信息;
(b7)元数据服务器释放BigFile2的独占模式的布局锁,并将最新的请求列表list2、文件布局信息和文件布局版本信息发送给相应的计算节点;
(b8)节点列表list2中的计算节点判断文件BigFile2的文件布局版本信息是否发生变化,若是,则各自保存文件BigFile2最新的文件布局版本信息,计算节点加入操作成功,操作结束;若否,则计算节点加入操作失败,返回错误码,操作结束。
计算节点加入操作可以按需在计算节点端对数据进行迁移,减少了网络和数据存储服务器的开销,极大的扩展了计算节点端缓存模式的灵活性。由于计算节点端存储空间有限,需要周期性或按需将计算节点端数据迁移回数据存储服务器端,保证计算节点端缓存的高效性。
在读写缓存模式下,计算节点端将本地存储介质中已缓存的文件迁移回数据存储服务器中,通过跨计算节点恢复操作完成;
对于任意一个已缓存在计算节点端(节点列表list3)的大文件BigFile3,若遇到任务结束、主动数据迁回或需要按需替换缓存数据等情形时,需要通过恢复操作将数据从计算节点端恢复到数据服务器端,跨计算节点恢复操作包括:
(c1)节点列表list3中,某个计算节点A通过策略引擎向元数据服务器发送第一恢复请求,以请求将文件BigFile3迁移回数据存储服务器端;
(c2)元数据服务器在接收到第一恢复请求后,持有文件BigFile3的独占模式的布局锁,同时通知列表list3中所有计算节点对文件BigFile3缓存的布局信息无效;
(c3)列表list3中所有计算节点收到第二恢复请求后,各自判断是否仍有进程在使用文件BigFile3,若是,则等待直至所有使用文件BigFile3的进程结束后,向元数据服务器回复恢复请求,执行步骤(c4);若否,向元数据服务器回复恢复请求,直接执行步骤(c4);
(c4)元数据服务器收到列表list3中所有节点回复后,向数据存储服务器发送文件创建指令;
(c5)数据存储服务器在收到元数据服务器指令后,条带化创建空镜像文件,然后将列表list3中计算节点端缓存的文件BigFile3通过条带化技术拷贝存储到数据存储服务器端相应的镜像文件中,从而将文件BigFile3从计算节点端的本地存储介质迁移回对象存储服务器;
(c6)等到计算节点端将文件BigFile3迁移回数据存储服务器后,将文件BigFile3的文件标识符FID发送给元数据服务器;
(c7)元数据服务器接收到计算节点端发送的文件标识符FID后,根据文件BigFile3在数据存储服务器中的布局信息更新文件BigFile3的布局信息,并删除计算节点端中存储的文件BigFile3,之后更新文件BigFile3的文件布局版本信息,并释放文件BigFile3的独占模式的布局锁,计算节点端恢复操作结束。
只读缓存模式下计算节点端恢复操作较为简单,由于数据存储服务器端存储着文件副本并且文件并未更改,仅需将计算节点端相关缓存文件标记为失效并通知元数据服务器更改相关文件的布局信息和版本信息即可,后续缓存系统会自动删除相关文件回收存储空间。
本发明利用分布式锁机制来保证上述数据操作时缓存数据的一致性,利用分层存储技术管理数据存储服务器中的数据,实现不同存储层级间应用透明的缓存数据按需迁移。
本发明通过元数据服务器维护统一目录树视图,将多个存储层级聚合,无论数据在哪一存储层,元数据信息仍然会保存在元数据服务器中,简化资源管理,减少数据迁入迁出问题,在提升资源利用率的基础上,增强系统性能。
本发明提供的一种面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法,还包括:策略引擎。
策略引擎运行在计算节点侧,其存储着数据缓存预取与替换相关策略,计算节点可以根据策略引擎提供的策略执行相关缓存算法。策略引擎可以根据系统状态和任务需求按需选择合适的缓存策略,也可以根据用户自定义规则执行相关策略。
策略引擎可以和任务调度系统(如:Slurm)结合,通过获取的系统状态和任务信息,可以为集群系统提供细粒度缓存预留、预取与替换方案,提供自动化数据缓存服务。
策略引擎中的策略可以由用户自定义,通过对相关策略进行匹配,实现对数据文件的预取与驱逐操作,提供半自动数据缓存服务。
本发明利用策略引擎为任务定制缓存,集成策略引擎能够优化资源调度,实现跨计算节点数据按需预取与替换,减少缓存数据换进换出,提高缓存命中率,通过自动化和半自动化缓存方法,保证缓存数据的高效性,保障应用服务质量。
在计算节点端采用非易失性存储介质作为缓存介质,并采用面向持久性内存的文件系统。
在计算节点使用非易失性存储介质作为缓存介质,并采用面向持久性内存的文件系统,能够充分利用非易失性存储介质的特性,提高应用性能。
实施例2
本发明还涉及一种面向DFS的全局聚合命名空间下跨计算节点的持久性缓存装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现上述一种面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法。
实施例3
本发明还涉及一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现本发明的一种面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法。
Claims (11)
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的元数据信息判断File1是否已被缓存在计算节点端,若否,按照跨计算节点添加操作将文件File1按需迁移到计算节点A;若是,则元数据服务器将计算节点A相关信息添加到list2中,向计算节点A返回授权的并发写锁和BigFile2的元数据信息,并且将更新的list2发送给相应的计算节点;
(b3)计算节点A收到元数据服务器返回的并发写锁、BigFile2元数据信息后,查询BigFile2元数据信息获知File1文件布局信息,根据文件标识符FID在本地持久性存储介质中创建空镜像文件,同时向计算节点B发送数据迁移请求,并待文件File1迁移完成后,向元数据服务器发送释放并发写锁请求;
(b4)计算节点B收到计算节点A的请求后,将本地缓存的文件File1的数据迁移到计算节点A的镜像文件中,并向元数据服务器发送BigFile2元数据信息更新请求;
(b5)元数据服务器收到计算节点A和计算节点B的请求后,释放计算节点A并发写锁,在list2中删除计算节点B,通知list2中的计算节点原有BigFile2布局信息失效,并获得BigFile2的独占模式的布局锁;
(b6)元数据服务器根据文件BigFile2在计算节点端的布局信息更新BigFile2的布局信息,并设置文件的分层存储管理属性,以指示文件BigFile2当前所属的存储层级和所属的计算节点,同时更新BigFile2的文件布局版本信息;
(b7)元数据服务器释放BigFile2的独占模式的布局锁,并将最新的请求列表list2、文件布局信息和文件布局版本信息发送给相应的计算节点;
(b8)节点列表list2中的计算节点判断文件BigFile2的文件布局版本信息是否发生变化,若是,则各自保存文件BigFile2最新的文件布局版本信息,计算节点加入操作成功,操作结束;若否,则计算节点加入操作失败,返回错误码,操作结束。
5.如权利要求1所述的一种面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法,其特征在于,在读写缓存模式下,计算节点端将本地存储介质中已缓存的文件迁移回数据存储服务器中,通过跨计算节点恢复操作完成;
对于任意一个已缓存在计算节点端(节点列表list3)的大文件BigFile3,若遇到任务结束、主动数据迁回或需要按需替换缓存数据等情形时,需要通过恢复操作将数据从计算节点端恢复到数据服务器端,跨计算节点恢复操作包括:
(c1)节点列表list3中,某个计算节点A通过策略引擎向元数据服务器发送第一恢复请求,以请求将文件BigFile3迁移回数据存储服务器端;
(c2)元数据服务器在接收到第一恢复请求后,持有文件BigFile3的独占模式的布局锁,同时通知列表list3中所有计算节点对文件BigFile3缓存的布局信息无效;
(c3)列表list3中所有计算节点收到第二恢复请求后,各自判断是否仍有进程在使用文件BigFile3,若是,则等待直至所有使用文件BigFile3的进程结束后,向元数据服务器回复恢复请求,执行步骤(c4);若否,向元数据服务器回复恢复请求,直接执行步骤(c4);
(c4)元数据服务器收到列表list3中所有节点回复后,向数据存储服务器发送文件创建指令;
(c5)数据存储服务器在收到元数据服务器指令后,条带化创建空镜像文件,然后将列表list3中计算节点端缓存的文件BigFile3通过条带化技术拷贝存储到数据存储服务器端相应的镜像文件中,从而将文件BigFile3从计算节点端的本地存储介质迁移回对象存储服务器;
(c6)等到计算节点端将文件BigFile3迁移回数据存储服务器后,将文件BigFile3的文件标识符FID发送给元数据服务器;
(c7)元数据服务器接收到计算节点端发送的文件标识符FID后,根据文件BigFile3在数据存储服务器中的布局信息更新文件BigFile3的布局信息,并删除计算节点端中存储的文件BigFile3,之后更新文件BigFile3的文件布局版本信息,并释放文件BigFile3的独占模式的布局锁,计算节点端恢复操作结束。
6.如权利要求1所述的一种面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法,其特征在于,还包括:策略引擎,策略引擎运行在计算节点侧,其存储着数据缓存预取与替换相关策略,计算节点可以根据策略引擎提供的策略执行相关缓存算法;策略引擎可以根据系统状态和任务需求按需选择合适的缓存策略,也可以根据用户自定义规则执行相关策略。
7.如权利要求6所述的一种面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法,其特征在于,策略引擎可以和任务调度系统结合,通过获取的系统状态和任务信息,可以为集群系统提供细粒度缓存预留、预取与替换方案,提供自动化数据缓存服务。
8.如权利要求6或7所述的一种面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法,其特征在于,策略引擎中的策略可以由用户自定义,通过对相关策略进行匹配,实现对数据文件的预取与驱逐操作,提供半自动数据缓存服务。
9.如权利要求1所述的一种面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法,其特征在于,在计算节点端采用非易失性存储介质作为缓存介质,并采用面向持久性内存的文件系统。
10.一种面向DFS的全局聚合命名空间下跨计算节点的持久性缓存装置,其特征在于,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现权利要求1-9中任一项所述的一种面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法。
11.一种计算机可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现权利要求1-9中任一项所述的一种面向DFS的全局聚合命名空间下跨计算节点的持久性缓存方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310376290.9A CN116436962A (zh) | 2023-03-31 | 2023-03-31 | 面向dfs的全局聚合命名空间下跨计算节点的持久性缓存方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310376290.9A CN116436962A (zh) | 2023-03-31 | 2023-03-31 | 面向dfs的全局聚合命名空间下跨计算节点的持久性缓存方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116436962A true CN116436962A (zh) | 2023-07-14 |
Family
ID=87082779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310376290.9A Pending CN116436962A (zh) | 2023-03-31 | 2023-03-31 | 面向dfs的全局聚合命名空间下跨计算节点的持久性缓存方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116436962A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116760850A (zh) * | 2023-08-17 | 2023-09-15 | 浪潮电子信息产业股份有限公司 | 一种数据处理方法、装置、设备、介质及系统 |
-
2023
- 2023-03-31 CN CN202310376290.9A patent/CN116436962A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116760850A (zh) * | 2023-08-17 | 2023-09-15 | 浪潮电子信息产业股份有限公司 | 一种数据处理方法、装置、设备、介质及系统 |
CN116760850B (zh) * | 2023-08-17 | 2024-01-12 | 浪潮电子信息产业股份有限公司 | 一种数据处理方法、装置、设备、介质及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5007350B2 (ja) | ハードウェアベースのファイルシステムのための装置および方法 | |
KR101764897B1 (ko) | 데이터베이스 엔진 및 개별 분산 저장 서비스를 갖는 데이터베이스 시스템 | |
US8788547B2 (en) | Reducing contention and messaging traffic in a distributed shared caching for clustered file systems | |
US8700842B2 (en) | Minimizing write operations to a flash memory-based object store | |
US7120651B2 (en) | Maintaining a shared cache that has partitions allocated among multiple nodes and a data-to-partition mapping | |
CN110750507B (zh) | 面向dfs的全局命名空间下的持久客户端缓存方法及系统 | |
US8868610B2 (en) | File system with optimistic I/O operations on shared storage | |
WO2006089479A1 (fr) | Méthode de gestion de données dans un système de stockage en réseau et système de stockage en réseau reposant sur la méthode | |
JP4746838B2 (ja) | データベースへのアクセスを制御するための異なったデータベースサーバ間のデータベースのオーナーシップのパーティション化 | |
CN110262922A (zh) | 基于副本数据日志的纠删码更新方法及系统 | |
US20130290636A1 (en) | Managing memory | |
CN116436962A (zh) | 面向dfs的全局聚合命名空间下跨计算节点的持久性缓存方法和装置 | |
EP4176345A1 (en) | Fully coherent efficient non-local storage cluster file system | |
JP2005258789A (ja) | ストレージ装置、ストレージコントローラ及びライトバックキャッシュ制御方法 | |
CN107896248B (zh) | 一种基于客户端通信的并行文件系统应用方法 | |
JP4664931B2 (ja) | データベースへのアクセスを制御するための異なったデータベースサーバ間のデータベースのオーナーシップのパーティション化 | |
CN114780043A (zh) | 基于多层缓存的数据处理方法及装置、电子设备 | |
US10949378B2 (en) | Automatic and customisable checkpointing | |
CN115981570B (zh) | 一种基于kv数据库的分布式对象存储方法和系统 | |
CN113204520B (zh) | 一种基于分布式文件系统的遥感数据快速并发读写方法 | |
CN116860165A (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 |