CN113835614A - 一种基于分布式文件存储客户端的ssd智能缓存方法和系统 - Google Patents
一种基于分布式文件存储客户端的ssd智能缓存方法和系统 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed 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智能缓存方法和系统。
背景技术
在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模块读取数据。
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 (3)
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 | 之江实验室 | 一种缓存数据的处理方法、深度学习训练方法和系统 |
Citations (5)
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的缓存管理系统及方法 |
-
2020
- 2020-09-17 CN CN202010979288.7A patent/CN113835614A/zh active Pending
Patent Citations (5)
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 (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023134604A1 (zh) * | 2022-01-13 | 2023-07-20 | 阿里云计算有限公司 | 数据缓存及读取方法、数据存取系统 |
CN116048425A (zh) * | 2023-03-09 | 2023-05-02 | 浪潮电子信息产业股份有限公司 | 一种分层缓存方法、系统及相关组件 |
WO2024183799A1 (zh) * | 2023-03-09 | 2024-09-12 | 浪潮电子信息产业股份有限公司 | 一种分层缓存方法、系统及相关组件 |
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 | |
CN113835614A (zh) | 一种基于分布式文件存储客户端的ssd智能缓存方法和系统 | |
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 | |
US20100293337A1 (en) | Systems and methods of tiered caching | |
US8578089B2 (en) | Storage device cache | |
US9348747B2 (en) | Solid state memory command queue in hybrid device | |
US8694563B1 (en) | Space recovery for thin-provisioned storage volumes | |
US20050033930A1 (en) | High-speed snapshot method | |
JP2006323826A (ja) | データベース管理システムでログ書込みを実行するシステム | |
US7512135B2 (en) | Method for transferring data among a logical layer, physical layer, and storage device | |
US20090083477A1 (en) | Method and apparatus for formatting portable storage device | |
CN115826882B (zh) | 一种存储方法、装置、设备及存储介质 | |
US9323671B1 (en) | Managing enhanced write caching | |
CN108334457B (zh) | 一种io处理方法及装置 | |
CN111240591A (zh) | 一种存储设备的操作请求处理方法及相关装置 | |
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 |