CN103685544A - 一种基于性能预估的客户端缓存分配方法和系统 - Google Patents

一种基于性能预估的客户端缓存分配方法和系统 Download PDF

Info

Publication number
CN103685544A
CN103685544A CN201310720078.6A CN201310720078A CN103685544A CN 103685544 A CN103685544 A CN 103685544A CN 201310720078 A CN201310720078 A CN 201310720078A CN 103685544 A CN103685544 A CN 103685544A
Authority
CN
China
Prior art keywords
client
cache
data
writing
back end
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
CN201310720078.6A
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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201310720078.6A priority Critical patent/CN103685544A/zh
Publication of CN103685544A publication Critical patent/CN103685544A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明公开了一种基于性能预估的客户端缓存分配方法,包括以下过程:首先是统计并行文件系统中不同数据节点的负载,于此同时收集并行文件系统中网络速度,磁盘读写速度等信息,统计和收集到的信息将用以对不同系统客户端缓存分配策略进行性能预估,根据性能预估结果,系统将会选择能够带来最大性能的客户端缓存分配策略,根据选择的客户端缓存分配策略,不同的写请求被赋予不同的优先级,客户端缓存将被分配给优先级较高的写请求,而优先级较低的写请求将会直接被写入磁盘中。本发明能够解决现有并行文件系统客户端分配策略存在的高优先级和低效率的问题,最大化了有限的客户端缓存能够带来的性能提升。

Description

一种基于性能预估的客户端缓存分配方法和系统
技术领域
本发明属于分布式计算模型领域,更具体地,涉及一种基于性能预估的客户端缓存分配方法和系统。
背景技术
在大数据的时代背景下,数据密集型计算面临着新的机遇与挑战。传统的单机文件系统在大数据的需求面前显得力不从心,而并行文件系统由于其高吞吐率,能够满足大数据带来的高速读写需求。然而,在高并发的数据请求下,数据节点的负载会呈现不均衡状态,造成并行文件系统的性能急剧下降。因此,提高并行文件系统性能就成为了一个重要的研究课题。
在并行文件系统中,文件写策略是提高性能的主要因素。传统的分布式文件系统写策略主要分为写通过策略和写回法策略。写通过策略在返回写操作前会直接更新后端数据节点的磁盘数据和前端的缓存数据,该策略通过同步更新磁盘数据提供了最严格的数据一致性,却降低了写操作速度。写回法缓存通过在前端缓存一部分脏数据,降低写操作时前端计算节点和后端存储节点的网络优先级,被广泛采用来提高文件系统吞吐率。但在性能提升的同时,写回法策略却占用了大量的缓存资源,同时引入了一致性问题。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于性能预估的客户端缓存分配方法和系统,其目的在于,解决现有方法中存在的写操作速度慢、占用了大量的缓存资源从而导致客户端缓存低效率的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于性能预估的客户端缓存分配方法,包括以下步骤:
(1)周期性地获取并行文件系统客户端与数据节点之间的网络通讯速度、数据节点磁盘的读写文件速度,并实时获取不同数据节点上的负载情况,即不同数据节点上等待被服务的文件请求的总大小;
(2)根据步骤(1)得到的网络通讯速度、数据节点磁盘的读写文件速度以及不同数据节点上的负载情况计算客户端上不同进程的开销;
(3)根据步骤(2)获得的不同进程的开销为进程分配优先级,并根据优先级次序将客户端缓存分配给对应的进程;
(4)将没有被分配到客户端缓存的进程上的数据直接写入数据节点;
(5)将被分配到客户端缓存的进程上的数据写到客户端缓存中;
(6)被分配到客户端缓存的进程进入计算阶段,将被写入客户端缓存中的数据并行地写入数据节点。
优选地,步骤(2)是采用以下公式:
t = S / r → + S / d → + p → / d →
其中S表示客户端的进程上待读写的数据量大小,表示客户端与数据节点之间的网络通讯速度,
Figure BDA0000445233680000023
表示数据节点磁盘的读写文件速度,
Figure BDA0000445233680000024
表示当前数据节点上的负载情况,t是客户端上进程的开销。
优选地,步骤(3)具体为,开销最大的进程将被分配最高的优先级,同时将最优先的获得分配的缓存,…,以此类推,开销最小的进程将被分配最低的优先级,同时将最后获得分配的缓存。
优选地,步骤(6)中,当进程在进行计算时,利用线程机制将写入客户端缓存中的数据并行地写入数据节点。
按照本发明的另一方面,提供了一种基于性能预估的客户端缓存分配系统,包括:
第一模块,用于周期性地获取并行文件系统客户端与数据节点之间的网络通讯速度、数据节点磁盘的读写文件速度,并实时获取不同数据节点上的负载情况,即不同数据节点上等待被服务的文件请求的总大小;
第二模块,用于根据第一模块得到的网络通讯速度、数据节点磁盘的读写文件速度以及不同数据节点上的负载情况计算客户端上不同进程的开销;
第三模块,用于根据第二模块获得的不同进程的开销为进程分配优先级,并根据优先级次序将客户端缓存分配给对应的进程;
第四模块,用于将没有被分配到客户端缓存的进程上的数据直接写入数据节点;
第五模块,用于将被分配到客户端缓存的进程上的数据写到客户端缓存中;
第六模块,用于被分配到客户端缓存的进程进入计算阶段,将被写入客户端缓存中的数据并行地写入数据节点。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)写操作速度快,占用了缓存资源低,从而提高客户端缓存的效率:因为采用了步骤(3)至(5),并行文件系统中的客户端缓存资源将会得到最优化的分配,由于高优先级的文件写请求只占所有请求的小部分,所需要的缓存资源非常少,很符合客户端缓存稀缺的特性,有效的提升了客户端缓存的执行效率;
(2)使用方便:本发明结合现有开源并行文件系统平台和科学计算并行库,对原有系统的修改较少,且模块划分清晰,利于后期的开发和维护;
(3)可扩展:本缓存很好地继承了并行文件系统易于扩展的特性,当计算平台需要对计算节点或者存储节点进行扩展时,并不需要对我们的客户端缓存系统进行太大调整,只需要按照步骤在新增节点安装我们的缓存系统即可。
附图说明
图1是本发明基于性能预估的客户端缓存分配方法的流程图。
图2是本发明基于性能预估的客户端缓存分配系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明的整体思路在于提供一个全新的文件系统写策略,该策略首选结合数据节点负载情况,通过建模预测数据访问请求的完成时间。基于数据访问模型,该缓存策略有选择的缓存那些优先级较高的写请求。当程序从数据读写阶段进入到计算阶段时,缓存中的脏数据以后台读写的方式发送到数据节点。
如图1所示,本发明基于性能预估的客户端缓存分配方法包括以下步骤:
(1)周期性地获取并行文件系统客户端与数据节点之间的网络通讯速度、数据节点磁盘的读写文件速度,并实时获取不同数据节点上的负载情况,即不同数据节点上等待被服务的文件请求的总大小;这些负载情况在每次文件写请求被服务之前被收集到客户端上并得到统计,统计的结果将会用来进行客户端缓存分配策略的性能预估。
本步骤的优点在于,周期性的获取网络通讯速度和磁盘的读写文件速度保证了在不影响程序正常运行的前提下,保证获取信息的实时性。(2)根据步骤(1)得到的网络通讯速度、数据节点磁盘的读写文件速度以及不同数据节点上的负载情况计算客户端上不同进程的开销;
具体而言,是采用以下公式:
t = S / r → + S / d → + p → / d →
其中S表示客户端的进程上待读写的数据量大小,表示客户端与数据节点之间的网络通讯速度,表示数据节点磁盘的读写文件速度,表示当前数据节点上的负载情况,t是客户端上进程的开销。
本步骤的优点在于,充分的考虑网络,磁盘,数据节点负载等因素可以极大的提升开销预测的准确性。
(3)根据步骤(2)获得的不同进程的开销为进程分配优先级,并根据优先级次序将客户端缓存分配给对应的进程;具体而言,开销最大的进程将被分配最高的优先级,同时将最优先的获得分配的缓存,…,以此类推,开销最小的进程将被分配最低的优先级,同时将最后获得分配的缓存;
本步骤的优点在于,基于进程的开销分配优先级,可以有效地降低那些开销较大的进程的运行时间。
(4)将没有被分配到客户端缓存的进程上的数据直接写入数据节点;
本步骤的优点在于,开销较低的进程不会占用客户端缓存资源。
(5)将被分配到客户端缓存的进程上的数据写到客户端缓存中;
(6)被分配到客户端缓存的进程进入计算阶段,将被写入客户端缓存中的数据并行地写入数据节点。具体来说,当这些进程在进行计算时,利用线程机制将写入客户端缓存中的数据并行地写入数据节点。
本步骤的优点在于,能够有效的保证进程中数据的读写不会影响到程序计算的运行时间。
如图2所示,本发明基于性能预估的客户端缓存分配系统包括:
第一模块,用于周期性地获取并行文件系统客户端与数据节点之间的网络通讯速度、数据节点磁盘的读写文件速度,并实时获取不同数据节点上的负载情况,即不同数据节点上等待被服务的文件请求的总大小;这些负载情况在每次文件写请求被服务之前被收集到客户端上并得到统计,统计的结果将会用来进行客户端缓存分配策略的性能预估。
具体而言,是采用以下公式:
t = S / r → + S / d → + p → / d →
其中S表示客户端的进程上待读写的数据量大小,
Figure BDA0000445233680000062
表示客户端与数据节点之间的网络通讯速度,表示数据节点磁盘的读写文件速度,表示当前数据节点上的负载情况,t是客户端上进程的开销。
第二模块,用于根据第一模块得到的网络通讯速度、数据节点磁盘的读写文件速度以及不同数据节点上的负载情况计算客户端上不同进程的开销;
第三模块,用于根据第二模块获得的不同进程的开销为进程分配优先级,并根据优先级次序将客户端缓存分配给对应的进程;具体而言,开销最大的进程将被分配最高的优先级,同时将最优先的获得分配的缓存,…,以此类推,开销最小的进程将被分配最低的优先级,同时将最后获得分配的缓存;
第四模块,用于将没有被分配到客户端缓存的进程上的数据直接写入数据节点;
第五模块,用于将被分配到客户端缓存的进程上的数据写到客户端缓存中;
第六模块,用于被分配到客户端缓存的进程进入计算阶段,将被写入客户端缓存中的数据并行地写入数据节点。具体来说,当这些进程在进行计算时,利用线程机制将写入客户端缓存中的数据并行地写入数据节点。
实例:
为了验证本发明系统的可行性和有效性,在真实环境下配置本发明系统,利用超算领域权威Benchmark进行实验。
本发明的集群基本硬件和软件配置如下表1所示:
表1
本发明首先对科学应用程序对并行文件系统的文件写请求进行分析,收集和统计程序在集群上的运行信息;然后根据应用程序的特点建立性能预估模型,并结合分析出的并行文件系统的各项参数定制最合理的客户端缓存分配策略,让有限的客户端缓存最大程度的提升程序的文件写请求的性能。该系统快速、自动、有效的为并行文件系统提供客户端缓存配置策略,减少了复杂的客户端缓存运行的优先级,同时极大的提高了科学应用程序的文件读写性能。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种基于性能预估的客户端缓存分配方法,其特征在于,包括以下步骤:
(1)周期性地获取并行文件系统客户端与数据节点之间的网络通讯速度、数据节点磁盘的读写文件速度,并实时获取不同数据节点上的负载情况,即不同数据节点上等待被服务的文件请求的总大小;
(2)根据步骤(1)得到的网络通讯速度、数据节点磁盘的读写文件速度以及不同数据节点上的负载情况计算客户端上不同进程的开销;
(3)根据步骤(2)获得的不同进程的开销为进程分配优先级,并根据优先级次序将客户端缓存分配给对应的进程;
(4)将没有被分配到客户端缓存的进程上的数据直接写入数据节点;
(5)将被分配到客户端缓存的进程上的数据写到客户端缓存中;
(6)被分配到客户端缓存的进程进入计算阶段,将被写入客户端缓存中的数据并行地写入数据节点。
2.根据权利要求1所述的客户端缓存分配方法,其特征在于,步骤(2)是采用以下公式:
t = S / r → + S / d → + p → / d →
其中S表示客户端的进程上待读写的数据量大小,
Figure FDA0000445233670000012
表示客户端与数据节点之间的网络通讯速度,表示数据节点磁盘的读写文件速度,
Figure FDA0000445233670000014
表示当前数据节点上的负载情况,t是客户端上进程的开销。
3.根据权利要求1所述的客户端缓存分配方法,其特征在于,步骤(3)具体为,开销最大的进程将被分配最高的优先级,同时将最优先的获得分配的缓存,…,以此类推,开销最小的进程将被分配最低的优先级,同时将最后获得分配的缓存。
4.根据权利要求1所述的客户端缓存分配方法,其特征在于,步骤(6)中,当进程在进行计算时,利用线程机制将写入客户端缓存中的数据并行地写入数据节点。
5.一种基于性能预估的客户端缓存分配系统,其特征在于,包括:
第一模块,用于周期性地获取并行文件系统客户端与数据节点之间的网络通讯速度、数据节点磁盘的读写文件速度,并实时获取不同数据节点上的负载情况,即不同数据节点上等待被服务的文件请求的总大小;
第二模块,用于根据第一模块得到的网络通讯速度、数据节点磁盘的读写文件速度以及不同数据节点上的负载情况计算客户端上不同进程的开销;
第三模块,用于根据第二模块获得的不同进程的开销为进程分配优先级,并根据优先级次序将客户端缓存分配给对应的进程;
第四模块,用于将没有被分配到客户端缓存的进程上的数据直接写入数据节点;
第五模块,用于将被分配到客户端缓存的进程上的数据写到客户端缓存中;
第六模块,用于被分配到客户端缓存的进程进入计算阶段,将被写入客户端缓存中的数据并行地写入数据节点。
CN201310720078.6A 2013-12-24 2013-12-24 一种基于性能预估的客户端缓存分配方法和系统 Pending CN103685544A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310720078.6A CN103685544A (zh) 2013-12-24 2013-12-24 一种基于性能预估的客户端缓存分配方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310720078.6A CN103685544A (zh) 2013-12-24 2013-12-24 一种基于性能预估的客户端缓存分配方法和系统

Publications (1)

Publication Number Publication Date
CN103685544A true CN103685544A (zh) 2014-03-26

Family

ID=50321818

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310720078.6A Pending CN103685544A (zh) 2013-12-24 2013-12-24 一种基于性能预估的客户端缓存分配方法和系统

Country Status (1)

Country Link
CN (1) CN103685544A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808160A (zh) * 2016-02-24 2016-07-27 鄞州浙江清华长三角研究院创新中心 基于SSD的mpCache混合存储系统
CN105912451A (zh) * 2016-04-01 2016-08-31 浪潮电子信息产业股份有限公司 一种lustre文件系统检测方法及装置
CN107295030A (zh) * 2016-03-30 2017-10-24 阿里巴巴集团控股有限公司 一种数据写入方法、装置、数据处理方法、装置及系统
CN109933343A (zh) * 2019-03-26 2019-06-25 新华三信息技术有限公司 一种系统安装方法及装置
CN112306824A (zh) * 2019-07-31 2021-02-02 上海哔哩哔哩科技有限公司 磁盘性能评估方法、系统、设备及计算机可读存储介质
CN115002105A (zh) * 2022-04-20 2022-09-02 上海赛连信息科技有限公司 一种基于磁盘速率和网络速率的均衡分配方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101556557A (zh) * 2009-05-14 2009-10-14 浙江大学 一种基于对象存储设备的对象文件组织方法
US20110196899A1 (en) * 2010-02-11 2011-08-11 Isilon Systems, Inc. Parallel file system processing
CN102867035A (zh) * 2012-08-28 2013-01-09 浪潮(北京)电子信息产业有限公司 一种分布式文件系统集群高可用方法和装置
CN103366016A (zh) * 2013-08-01 2013-10-23 南京大学 基于hdfs的电子文件集中存储及优化方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101556557A (zh) * 2009-05-14 2009-10-14 浙江大学 一种基于对象存储设备的对象文件组织方法
US20110196899A1 (en) * 2010-02-11 2011-08-11 Isilon Systems, Inc. Parallel file system processing
CN102867035A (zh) * 2012-08-28 2013-01-09 浪潮(北京)电子信息产业有限公司 一种分布式文件系统集群高可用方法和装置
CN103366016A (zh) * 2013-08-01 2013-10-23 南京大学 基于hdfs的电子文件集中存储及优化方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YANING HUANG, HAI JIN, XUANHUA SHI, SONG WU, YONG CHEN: "ost-aware Client-sideFile Caching for Data-intensive Applications", 《2013 IEEE 5TH INTERNATIONAL CONFERENCE ON CLOUD COMPUTING TECHNOLOGY AND SCIENCE》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808160A (zh) * 2016-02-24 2016-07-27 鄞州浙江清华长三角研究院创新中心 基于SSD的mpCache混合存储系统
CN105808160B (zh) * 2016-02-24 2019-02-05 鄞州浙江清华长三角研究院创新中心 基于SSD的mpCache混合存储系统
CN107295030A (zh) * 2016-03-30 2017-10-24 阿里巴巴集团控股有限公司 一种数据写入方法、装置、数据处理方法、装置及系统
CN105912451A (zh) * 2016-04-01 2016-08-31 浪潮电子信息产业股份有限公司 一种lustre文件系统检测方法及装置
CN109933343A (zh) * 2019-03-26 2019-06-25 新华三信息技术有限公司 一种系统安装方法及装置
CN112306824A (zh) * 2019-07-31 2021-02-02 上海哔哩哔哩科技有限公司 磁盘性能评估方法、系统、设备及计算机可读存储介质
CN112306824B (zh) * 2019-07-31 2022-07-26 上海哔哩哔哩科技有限公司 磁盘性能评估方法、系统、设备及计算机可读存储介质
CN115002105A (zh) * 2022-04-20 2022-09-02 上海赛连信息科技有限公司 一种基于磁盘速率和网络速率的均衡分配方法和装置

Similar Documents

Publication Publication Date Title
CN103685544A (zh) 一种基于性能预估的客户端缓存分配方法和系统
CN103049397B (zh) 一种基于相变存储器的固态硬盘内部缓存管理方法及系统
CN111427844B (zh) 一种面向文件分级存储的数据迁移系统及方法
KR101761301B1 (ko) 메모리 자원 최적화 방법 및 장치
WO2021093365A1 (zh) 一种gpu显存管理控制方法及相关装置
CN105868093B (zh) 一种日志写入方法及服务端
CN103605615A (zh) 一种分级存储中基于块级数据的定向分配方法
CN102541470B (zh) 数据对象的处理方法及装置
CN102111920B (zh) 一种性能报表管理的方法及装置
CN110096350B (zh) 基于集群节点负载状态预测的冷热区域划分节能存储方法
CN102687112A (zh) 在分布式存储系统中管理文件的装置及方法
CN103605483A (zh) 一种分级存储系统中块级数据特征处理方法
CN111737168A (zh) 一种缓存系统、缓存处理方法、装置、设备及介质
CN104270412A (zh) 一种基于Hadoop分布式文件系统的三级缓存方法
CN102932424A (zh) 一种分布式并行文件系统缓存数据同步的方法及系统
CN109582649B (zh) 一种元数据存储方法、装置、设备及可读存储介质
US20170123975A1 (en) Centralized distributed systems and methods for managing operations
CN103559148A (zh) 面向多任务嵌入式系统的片上便笺式存储器管理方法
CN106649031A (zh) 一种监控数据的获取方法、装置及计算机
CN103309843B (zh) 服务器的配置方法和系统
CN104765572B (zh) 一种节能的虚拟存储服务器系统及其调度方法
CN102609508B (zh) 一种面向网络存储的文件高速访问方法
CN103020077A (zh) 一种电力系统实时数据库内存管理方法
CN107220069B (zh) 一种针对非易失性内存的Shuffle方法
CN111510479B (zh) 一种异构缓存系统的资源分配方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140326