CN113835614A - 一种基于分布式文件存储客户端的ssd智能缓存方法和系统 - Google Patents

一种基于分布式文件存储客户端的ssd智能缓存方法和系统 Download PDF

Info

Publication number
CN113835614A
CN113835614A CN202010979288.7A CN202010979288A CN113835614A CN 113835614 A CN113835614 A CN 113835614A CN 202010979288 A CN202010979288 A CN 202010979288A CN 113835614 A CN113835614 A CN 113835614A
Authority
CN
China
Prior art keywords
cache
ssd
data
request
module
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
CN202010979288.7A
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.)
Beijing Yanrong Technology Co ltd
Original Assignee
Beijing Yanrong Technology Co ltd
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 Beijing Yanrong Technology Co ltd filed Critical Beijing Yanrong Technology Co ltd
Priority to CN202010979288.7A priority Critical patent/CN113835614A/zh
Publication of CN113835614A publication Critical patent/CN113835614A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于分布式文件存储客户端的SSD智能缓存方法和系统,方法包括以下步骤:A:接收应用端请求;B:判断请求类型,如写请求,写到存储端,写完清空缓存中数据;如请求类型为读请求,判断是否缓存命中,缓存命中则直接从缓存返回读取的数据;缓存没命中,则从SSD缓存读取,判读数据是否存在SSD缓存中,SSD缓存命中则直接从SSD缓存中返回读取的数据;SSD缓存没有命中,则从存储读取数据,将数据更新回缓存,返回读取的数据。本发明适用于对一组数据,反复读取,进行学习、分析的应用。能够有效减少IO过程中,客户端与存储的交互,从而减少IO交互过程中的网络延迟。达到提高分布式存储性能,从而提升训练效率,减少等待时间。

Description

一种基于分布式文件存储客户端的SSD智能缓存方法和系统
技术领域
本发明涉及数据信息处理技术领域,特别涉及一种基于分布式文件存储客户端的SSD智能缓存方法和系统。
背景技术
在Linux操作系统中,当应用程序需要读取文件中的数据时,操作系统先分配一些内存,将数据从存储设备读入到这些内存中,然后再将数据分发给应用程序;当需要往文件中写数据时,操作系统先分配内存接收用户数据,然后再将数据从内存写到磁盘上。对文件读写性能影响最多的就是Cache命中率。Cache命中时数据可以直接从内存中获取,不再需要访问低速外设,因而可以显著提高性能。随着机械硬盘(HDD)的不断发展,单盘容量越来越大,每TB成本越来越低,与SSD相比HDD在容量和成本上有着巨大优势。但是另一方面,我们可以看到,SSD的在平均延迟、持续读写速率和IOPS等性能指标上都远超过HDD。
为了兼容HDD容量价格和SSD的性能,我们提出了SSD缓存,对于SSD 缓存技术而言,大部分是Read Cache,也就是将热数据的副本放到SSD中,只加速读操作。这样另一个好处是不用太担心SSD或者闪存卡故障,最多是性能下降但不会丢数据。
发明内容
为了至少解决或部分解决上述问题,提供一种基于分布式文件存储客户端的SSD智能缓存方法和系统。
为了解决上述技术问题,本发明提供了如下的技术方案:
本发明一种基于分布式文件存储客户端的SSD智能缓存方法,包括以下步骤:
A:接收应用端请求;
B:判断请求类型,如写请求,写到存储端,写完清空缓存中数据;
如请求类型为读请求,判断是否缓存命中,缓存命中则直接从缓存返回读取的数据;
缓存没命中,则从SSD缓存读取,判读数据是否存在SSD缓存中,SSD缓存命中则直接从SSD缓存中返回读取的数据;
SSD缓存没有命中,则从存储读取数据,将数据更新回缓存,返回读取的数据。
作为本发明的一种优选技术方案,还包括SSD缓存过期策略,所述SSD 缓存过期策略包括定时删除策略和手动删除策略,所述定时删除策略步骤:设置一个时间,在规定时间内检查并且删除过期的SSD缓存数据,所述手动删除策略步骤:根据应用周期,手动执行过期SSD缓存数据。在新的应用IO 时,自动通过预读策略和复制工具重新加载SSD缓存内数据。
作为本发明的一种优选技术方案,所述缓存命中是指已存放在缓存中的页面的读请求,所述缓存没命中是指未存放在缓存中的页面的读请求。
本发明一种基于分布式文件存储客户端的SSD智能缓存系统,包括策略控制模块、客户端和存储目标端,所述存储目标端包括元数据模块和数据服务模块,所述元数据模块用来描述一个文件的特征的系统数据,包含文件的元数据信息,所述数据服务模块包含文件系统中实际存储的文件数据;所述客户端提供本地化挂载服务的模块,实现应用APP的本地化访问,所述客户端包括客户端SSD缓存开关、SSD模块、存储客户端模块,所述SSD模块预先通过存储客户端模块读取存储目标,从而加载进SSD模块进行缓存,所述策略控制模块控制客户端SSD缓存开关是否开启缓存,若不开启缓存,则客户端SSD缓存开关从存储目标端模块读取数据,若开启缓存,客户端SSD缓存开关从SSD模块读取数据。
与现有技术相比,本发明的有益效果如下:
本发明适用于对一组数据,反复读取,进行学习、分析的应用。能够有效减少IO过程中,客户端与存储的交互,从而减少IO交互过程中的网络延迟。达到提高分布式存储性能,从而提升训练效率,减少等待时间。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是本发明的方法的流程图;
图2是本发明的系统的结构图;
图3是本发明的FIO测试的性能对比图;
图4是本发明的MDTest测试的性能对比图;
图5是本发明的vdbench测试的性能对比图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
此外,如果已知技术的详细描述对于示出本发明的特征是不必要的,则将其省略。
实施例1
如图1所示,本发明提供一种基于分布式文件存储客户端的SSD智能缓存方法,包括以下步骤:
A:接收应用端请求;
B:判断请求类型,如写请求,写到存储端,写完清空缓存中数据;
如请求类型为读请求,判断是否缓存命中,缓存命中则直接从缓存返回读取的数据;
缓存没命中,则从SSD缓存读取,判读数据是否存在SSD缓存中,SSD缓存命中则直接从SSD缓存中返回读取的数据;
SSD缓存没有命中,则从存储读取数据,将数据更新回缓存,返回读取的数据。
还包括SSD缓存过期策略,所述SSD缓存过期策略包括定时删除策略和手动删除策略,所述定时删除策略步骤:设置一个时间,在规定时间内检查并且删除过期的SSD缓存数据,所述手动删除策略步骤:根据应用周期,手动执行过期SSD缓存数据。在新的应用IO时,自动通过预读策略和复制工具重新加载SSD缓存内数据。
所述缓存命中是指已存放在缓存中的页面的读请求,所述缓存没命中是指未存放在缓存中的页面的读请求。
如图2所示,本发明提供一种基于分布式文件存储客户端的SSD智能缓存系统,包括策略控制模块、客户端和存储目标端,所述存储目标端包括元数据模块和数据服务模块,所述元数据模块用来描述一个文件的特征的系统数据,包含文件的元数据信息,所述数据服务模块包含文件系统中实际存储的文件数据;所述客户端提供本地化挂载服务的模块,实现应用APP的本地化访问,所述客户端包括客户端SSD缓存开关、SSD模块、存储客户端模块,策略控制模块控制是否开启客户端SSD缓存,如果不开启,则IO按照正常读执行(对客户端发送请求从存储目标端读取数据);如开启SSD客户端缓存,则IO先从SSD模块缓存中读取,SSD缓存中的数据,通过策略控制模块的缓存策略,预先通过存储客户端模块读取存储目标,从而加载进SSD模块进行缓存。
正常读IO的步骤如下:应用从客户端发起读操作;跨网络查找文件元数据;返回元数据信息给客户端;跨网络到存储数据目标端找到文件;读取文件到客户端;返回给应用。
SSD缓存命中读IO的步骤如下:应用从客户端发起读操作;SSD缓存命中,直接从缓存读取,返回给应用。
客户端SSD智能缓存技术,在应用端(客户端),针对于AI训练环境,在一定的训练周期内,应用会反复的训练同一数据集,IO以已读为主,小文件顺序读、大文件随机读的特点。在GPU服务器上,配置一定容量的SSD,训练程序可以依次从内存及本地SSD中加载训练数据,从而达到提高存储读性能的目的。可无缝实配PyTorch、TensorFlow等AI框架,训练程序无需任何修改,从而提升数据集加载速度。
性能实测
下面,我们用不同的测试工具,对未开启缓存,第一次读和第二次读的性能进行对比,以此来评判客户端多级智能缓存在实际应用中是否有性能提升。
如图3、4、5所示,通过以上实测数据,我们可以看到,开启客户端多级智能缓存之后,在多数情况下,第一次读的性能会比没有缓存的情况,略有下降。但是后续的过程中,多级智能缓存就会开始发挥作用,对性能有显著的提升,能够解决一些对读性能有较高要求的应用需求。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种基于分布式文件存储客户端的SSD智能缓存方法,其特征在于,包括以下步骤:
A:接收应用端请求;
B:判断请求类型,如写请求,写到存储端,写完清空缓存中数据;
如请求类型为读请求,判断是否缓存命中,缓存命中则直接从缓存返回读取的数据;
缓存没命中,则从SSD缓存读取,判读数据是否存在SSD缓存中,SSD缓存命中则直接从SSD缓存中返回读取的数据;
SSD缓存没有命中,则从存储读取数据,将数据更新回缓存,返回读取的数据。
2.根据权利要求1所述的一种基于分布式文件存储客户端的SSD智能缓存方法,其特征在于,还包括SSD缓存过期策略,所述SSD缓存过期策略包括定时删除策略和手动删除策略,所述定时删除策略步骤:设置一个时间,在规定时间内检查并且删除过期的SSD缓存数据,所述手动删除策略步骤:根据应用周期,手动执行过期SSD缓存数据。在新的应用IO时,自动通过预读策略和复制工具重新加载SSD缓存内数据。
3.根据权利要求1所述的一种基于分布式文件存储客户端的SSD智能缓存方法,其特征在于,所述缓存命中是指已存放在缓存中的页面的读请求,所述缓存没命中是指未存放在缓存中的页面的读请求。
4.一种基于分布式文件存储客户端的SSD智能缓存系统,其特征在于,包括策略控制模块、客户端和存储目标端,所述存储目标端包括元数据模块和数据服务模块,所述元数据模块用来描述一个文件的特征的系统数据,包含文件的元数据信息,所述数据服务模块包含文件系统中实际存储的文件数据;所述客户端提供本地化挂载服务的模块,实现应用APP的本地化访问,所述客户端包括客户端SSD缓存开关、SSD模块、存储客户端模块,所述SSD模块预先通过存储客户端模块读取存储目标,从而加载进SSD模块进行缓存,所述策略控制模块控制客户端SSD缓存开关是否开启缓存,若不开启缓存,则客户端SSD缓存开关从存储目标端模块读取数据,若开启缓存,客户端SSD缓存开关从SSD模块读取数据。
CN202010979288.7A 2020-09-17 2020-09-17 一种基于分布式文件存储客户端的ssd智能缓存方法和系统 Pending CN113835614A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010979288.7A CN113835614A (zh) 2020-09-17 2020-09-17 一种基于分布式文件存储客户端的ssd智能缓存方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010979288.7A CN113835614A (zh) 2020-09-17 2020-09-17 一种基于分布式文件存储客户端的ssd智能缓存方法和系统

Publications (1)

Publication Number Publication Date
CN113835614A true CN113835614A (zh) 2021-12-24

Family

ID=78962367

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010979288.7A Pending CN113835614A (zh) 2020-09-17 2020-09-17 一种基于分布式文件存储客户端的ssd智能缓存方法和系统

Country Status (1)

Country Link
CN (1) CN113835614A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116048425A (zh) * 2023-03-09 2023-05-02 浪潮电子信息产业股份有限公司 一种分层缓存方法、系统及相关组件
WO2023134604A1 (zh) * 2022-01-13 2023-07-20 阿里云计算有限公司 数据缓存及读取方法、数据存取系统
CN117215973A (zh) * 2023-09-13 2023-12-12 之江实验室 一种缓存数据的处理方法、深度学习训练方法和系统
CN117215973B (zh) * 2023-09-13 2024-05-28 之江实验室 一种缓存数据的处理方法、深度学习训练方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105446665A (zh) * 2015-12-18 2016-03-30 长城信息产业股份有限公司 一种计算机存储加速系统及其优化方法
CN105549905A (zh) * 2015-12-09 2016-05-04 上海理工大学 一种多虚拟机访问分布式对象存储系统的方法
CN106354805A (zh) * 2016-08-28 2017-01-25 航天恒星科技有限公司 一种分布式存储系统NoSQL搜索缓存的优化方法和系统
CN110764708A (zh) * 2019-10-25 2020-02-07 北京浪潮数据技术有限公司 一种数据读取方法、装置、设备及存储介质
CN111552442A (zh) * 2020-05-13 2020-08-18 重庆紫光华山智安科技有限公司 一种基于ssd的缓存管理系统及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105549905A (zh) * 2015-12-09 2016-05-04 上海理工大学 一种多虚拟机访问分布式对象存储系统的方法
CN105446665A (zh) * 2015-12-18 2016-03-30 长城信息产业股份有限公司 一种计算机存储加速系统及其优化方法
CN106354805A (zh) * 2016-08-28 2017-01-25 航天恒星科技有限公司 一种分布式存储系统NoSQL搜索缓存的优化方法和系统
CN110764708A (zh) * 2019-10-25 2020-02-07 北京浪潮数据技术有限公司 一种数据读取方法、装置、设备及存储介质
CN111552442A (zh) * 2020-05-13 2020-08-18 重庆紫光华山智安科技有限公司 一种基于ssd的缓存管理系统及方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023134604A1 (zh) * 2022-01-13 2023-07-20 阿里云计算有限公司 数据缓存及读取方法、数据存取系统
CN116048425A (zh) * 2023-03-09 2023-05-02 浪潮电子信息产业股份有限公司 一种分层缓存方法、系统及相关组件
CN117215973A (zh) * 2023-09-13 2023-12-12 之江实验室 一种缓存数据的处理方法、深度学习训练方法和系统
CN117215973B (zh) * 2023-09-13 2024-05-28 之江实验室 一种缓存数据的处理方法、深度学习训练方法和系统

Similar Documents

Publication Publication Date Title
US9665495B2 (en) Methods and systems for throttling writes to a caching device in response to read misses
US8051249B2 (en) Method for preloading data to improve data-retrieval times
US8990502B2 (en) Write cache structure in a storage system
US7447836B2 (en) Disk drive storage defragmentation system
US7979631B2 (en) Method of prefetching data in hard disk drive, recording medium including program to execute the method, and apparatus to perform the method
US8327076B2 (en) Systems and methods of tiered caching
US6230239B1 (en) Method of data migration
JP3808007B2 (ja) 記憶装置のキャッシング方法およびシステム
US8065472B2 (en) System and method for improving data integrity and memory performance using non-volatile media
CN102349055B (zh) 对存储在存储器上的文件的访问时间最优化
US9063945B2 (en) Apparatus and method to copy data
US20060143412A1 (en) Snapshot copy facility maintaining read performance and write performance
US9348747B2 (en) Solid state memory command queue in hybrid device
US8578089B2 (en) Storage device cache
CN108459826A (zh) 一种处理io请求的方法及装置
US20050033930A1 (en) High-speed snapshot method
JP2006323826A (ja) データベース管理システムでログ書込みを実行するシステム
CN108628542B (zh) 一种文件合并方法及控制器
US7512135B2 (en) Method for transferring data among a logical layer, physical layer, and storage device
CN113835614A (zh) 一种基于分布式文件存储客户端的ssd智能缓存方法和系统
US20090083477A1 (en) Method and apparatus for formatting portable storage device
CN100580669C (zh) 在Flash存储介质上的关于文件分配表的缓存实现方法
US9323671B1 (en) Managing enhanced write caching
CN108334457B (zh) 一种io处理方法及装置
CN115617259A (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