分布式文件系统性能研究

合集下载

第12章 分布式系统的应用

第12章 分布式系统的应用

缺陷:顺序号丢失(空序)或乱序需要重传或可 能会产生错误。
《分布式系统》(十二) 08-06 24
存储器相关性问题
• 第 3 类的读复制算法是 DSM 系统中普遍采用的。 Li 和Hudak进一步提出了这类算法的3种实现方法。
– 集中管理者算法 – 分布式管理者算法 – 动态分布式管理者算法 (P272)
缺陷:发生颠簸。
《分布式系统》(十二) 08-06
20
存储器相关性问题
3. 读复制算法(转移和复制)
是一个“多读/单写”协议,其写操作:
1) (客户端)如果需要的数据不在本地,确定它的位置, 然后发出请求; 2)(远程主机)收到请求,发出数据对象;(转移) 3) (客户端)收到对象,并对所有拥有数据对象拷贝的站 点发出使无效或更新的组播; 4) (远程主机)收到使无效信号,使本地拷贝无效,或接 受更新信号并且更新本地拷贝;(复制) 5)(客户端)访问数据对象(写)。
设访问控制的文件访问)
• 用本地系统和远程系统的 UID 映射(域映射或域信 任等),以控制访问权; (如 Windows 域信任或 Unix 的
主机信任)
• 分布式系统中,每个用户有一个确定且唯一的 UID , 这个 UID 在任何处理机上有效而且不需要映射。 (全局统一的用户UID和文件访问控制)
《分布式系统》(十二) 08-06 4
分布式操作系统
• 因此,分布式操作系统较网络操作系统的 关键区别是 Tanenbaum 提出的 8 个不同程度 的透明性概念:
– – – – – – – – 访问透明性 并发透明性 错误透明性 位置透明性 移植透明性 并行透明性 性能透明性 复制透明性
(P263)
《分布式系统》(十二) 08-06

大数据存储的三种路径

大数据存储的三种路径

大数据存储的三种路径1.引言1.1 概述大数据存储是指存储和管理大规模数据的技术和方法。

随着大数据应用的广泛普及,数据量的快速增长给传统的存储方式带来了巨大的挑战。

为了高效地存储和处理大规模数据,人们提出了不同的存储路径。

本文将介绍三种主要的大数据存储路径,并分析它们的特点和适用场景。

第一种路径是分布式文件系统存储。

分布式文件系统是一种将数据分散存储在多个独立节点上的系统,可以提供高可靠性和高性能的数据存储服务。

这种路径适用于需要处理大容量数据的场景,可以通过横向扩展的方式增加存储容量和计算能力。

第二种路径是分布式数据库存储。

分布式数据库是一种将数据分片存储在多个节点上,并通过分布式计算和数据复制等技术实现数据一致性和高可用性的存储系统。

这种路径适用于需要频繁进行数据查询和分析的场景,可以提供高性能的数据访问能力。

第三种路径是对象存储。

对象存储通过将数据划分为独立的对象,并使用唯一的标识符进行管理和访问。

对象存储提供了高度伸缩性和可靠性的存储服务,适用于需要长期保存和管理大规模数据的场景。

通过对这三种不同的存储路径的介绍,我们可以看到它们各自具有一定的优势和适用场景。

在实际应用中,我们需要根据数据的具体特点和需求来选择最合适的存储路径,以便实现高效的数据存储和管理。

在未来的研究中,我们还可以进一步探索不同存储路径之间的融合和优化,提升大数据存储的性能和可扩展性。

1.2文章结构1.2 文章结构本文将就大数据存储的三种路径进行探讨和分析。

文章分为引言、正文和结论三个部分进行组织。

引言部分将对大数据存储的概述进行介绍,包括对大数据存储的重要性和应用范围进行说明。

同时,我们将介绍文章的结构和目的,以便读者能够清晰地了解文章的内容和意义。

正文部分将分为三个小节,分别阐述了大数据存储的三种路径。

每个小节包含路径的详细描述和关键要点的介绍。

第一种路径中,我们将详细描述这种存储路径并突出要点1的重要性。

具体而言,我们将探讨这种路径的适用性、使用方法以及可能的应用场景。

一种冗余分析方法及其在分布式文件系统中的应用_陈浩

一种冗余分析方法及其在分布式文件系统中的应用_陈浩

西南民族大学学报・自然科学版第32卷第5期Journal of Southwest University for Nationalities ⋅Natural Science Edition Sept.2006______________________________________________________________________________________________收稿日期:2006-03-20作者简介:陈浩(1978-), 男, 硕士, 西南民族大学计算机科学与技术学院助教.文章编号:1003-2843(2006)05-1048-04一种冗余分析方法及其在分布式文件系统中的应用陈浩,朱晖(西南民族大学计算机科学与技术学院, 成都 610041)摘 要:目前网络中存在着大量以服务器为核心的文件服务机制,特别是一些分布式的文件服务系统. 针对这些文件服务系统中的空间消耗问题,本文进行了文件冗余的分析,提出了一种网络文件服务冗余分析方法. 这种冗余分析方法应用在分布式系统中,可以确定文件系统的空间性能,为系统的空间优化提供参考数据,并有利于进行分布式系统访问调度平衡策略的制定.关键词:分布式系统; 文件冗余; 平衡策略; 冗余管理 中图法分类号: TP302.1 文献标识码: A1 冗余分析目前网络中的文件服务普遍缺乏对空间代价的量化分析方法[1],通过对服务器核心的网络文件冗余分析,可以建立起来一种面向文件的冗余分析方法,这种方法对于提升网络文件服务的性能具有积极意义. 1.1 网络文件冗余1.1.1 绝对冗余量(Absolute Redundancy ,AR)绝对冗余量是用于表示在一定范围内有冗余存储文件个数的一个统计量.假设由几个文件组成一个文件序列[Fi],其中I=1→n. 则一个文件f 在这个序列中的绝对冗余量AR(f, [Fi])取值为:当f 不存在于[Fi]中时, AR(f, [Fi])=O; 当f 存在于[Fi]中时, AR(f, [Fi])=1. 从一个文件的绝对冗余量可以得出:①一个存储有n 个文件的服务器S ,其所存储的文件组成一个集合{fi},由集合定义可知集合中的元素彼此之间并不重复. 另一个存储有m 个文件服务器T 中的文件组成一个文件序列[Fj]. 则服务器S 在服务器T 中的的绝对冗余量AR(S ,T)为:AR(S ,T)= AR({fi},[Fj])=∑AR(fi ,[Fj]),i=1→n ,j=1→m特别地,存储有n 个文件的服务器S 的自身绝对冗余量为:AR(S ,S)=∑AR(fi ,[F1···Fi-1,Fi+1···Fn]), i=1→n.②在一个由n 台服务器组成的文件系统N 中,其中某一个服务器Si 在整个系统中的绝对冗余量AR(Si ,N)为:AR(Si ,N)=AR({Si},[[S1]···[Si-1],[Si+1]···[Sn]]),i=1→n.③由n 台服务器组成的文件系统N ,它的总绝对冗余量并不是简单地将每台服务器在整个系统中的绝对冗余量相加. 首先需要将系统N 中存储的所有文件组成集合{N}和文件序列[N],用[N]减去{N}, 然后计算{N}在[[N]-{N}]中的绝对冗余值作为整个系统的总绝对冗余值: AR(N)=AR({N},[[N]-{N}])第5期1.1.2 相对冗余量(Relative Redundancy,RR)相对冗余量是用于表示在一定范围内某文件副本数量的一个统计量.假设由n个文件组成一个文件序列[Fi],其中i=1→n . 则一个文件f在这个序列中的相对冗余量RR(f,[Fi])取值为:当f不存在于[Fi]中时, RR(f,[Fi])=0; 当f存在于[Fi]中时, RR(f,[Fi])=(f在[Fi]中出现的次数).服务器S在服务器T中的相对冗余量RR(S,T)、服务器S的自身相对冗余量RR(S,S)、系统N中某台服务器S在整个系统中的相对冗余量RR(S,N)、系统N的总相对冗余量RR(N)的计算基本和绝对冗余量的计算相同,不过计算时考虑的不是有冗余存储的文件的数量,而是所有副本文件的个数.1.1.3 绝对冗余度(Absolute Redundancy Degree,ARD)绝对冗余度用于反映在一个范围内有冗余存储副本的文件的数量在所有不重复文件中所占的比例.绝对冗余度=绝对冗余量/不重复文件总数1.1.4 相对冗余度(Relative Redundancy Degree,RRD)相对冗余度用于反映在一个范围内所有冗余存储的文件数量相对于这个范围内所有文件所占的比例.相对冗余度=相对冗余量/文件总数1.2 5个抽样服务器的文件冗余统计表1 5个抽样服务器在彼此中的绝对冗余量和绝对冗余度编号 1 2 3 4 51 4 147(2.5%) 483(8.4%) 93(1.6%) 46(0.8%)2 147(4.5%) 1 212(6.4%) 391(11.9%) 413(12.5%)3 483(6.46%) 212(2.8%) 2 116(1.6%) 54(0.7%)4 93(3.4%) 391(14.2%) 116(4.2%) 4 322(11.7%)5 46(6.2%) 413(55.9%) 54(7.3%) 322(43.6%) 0表2 5个抽样服务器总的冗余数据总的绝对冗余量总的相对冗余量总的绝对冗余度总的相对冗余度1184 1627 5.9% 8.1%分析前面统计的冗余数据可以发现以下几点:①在这5台服务器存储的所有文件中,总的绝对冗余度达到了5.9%,共有1184个文件是存在副本文件的. 总的相对冗余度达到了8.1%,有1627个文件是冗余存储的文件. 相对来说这个冗余度还是比较高的.②绝对冗余量和绝对冗余度是和文件系统的规模大小有关系的,文件系统规模越大,这两个量也就越大. 在一个较大规模的文件系统中,一个服务器的绝对冗余度可以达到90%以上,就是说一个服务器中90%的文件都可以在系统中的其他服务器上找到.通过分析可以发现,在网络文件服务中文件的冗余是比较高的. 但是分析发现,这些同样的冗余文件的访问情况并不相同,编号 服务器1 服务器2 服务器3 服务器4 服务器5 文件1访问量 218 7431 3109 85 8013 文件2访问量 2438 13962 6807 611 9491 文件3访问量67804273391055从表3可以看出,同样的冗余文件其中一些的访问量非常高,而另一些则只有很少的访问量. 这种情况的出现一方面使得冗余文件浪费了存储空间,另一方面也使得网络的访问不平衡.可以发现,通过这种文件冗余分析方法,我们能够从文件的角度来量化一个文件系统的空间代价程度,并且可以通过量化的数据来更好的改进系统.2 冗余分析方法在分布式系统中的应用下面以北京大学燕捷文件服务系统为例来分析冗余分析方法的应用. 该系统是北京大学计算机系网络与分布式系统实验室研究的一项国家863计划基金项目,设计目标是是实现分布式文件存储系统[2]. 2.1 燕捷系统文件冗余策略策略1:燕捷系统的各台文件服务器的命名是有序的,各台文件服务器形成一个逻辑上的循环. 把服务器的逻辑命名作为26进制数,对于相邻两数,大数对应的服务器叫做小数对应服务器的后继;小数对应的服务器叫做大数对应服务器的前驱;对于最小和最大数,特别定义最小数对应服务器的前驱为最大数对应的服务器,最大数对应的服务器的后继为最小数对应服务器的前驱. 所有服务器在前驱、后继关系下形成一个循环. 一个文件会在其原创文件服务器的后继主动保存一个冗余文件.策略2:在燕捷系统中,用户的访问调度策略是通过DNS 服务实现的,DNS 解析系统域名时分析各服务器状态和客户端IP 地址,随后返回给用户当前相对用户最佳的服务器IP 地址[3-6]. 这使得用户并不一定会被分配到拥有目标文件的服务器上. 用户当前访问的文件服务器上如果有需要的文件,则直接下载,如果没有该文件,则找到该文件的原创文件服务器,并将文件从原创文件服务器上传输给用户当前访问服务器,再由用户下载,并且同时创建一个冗余文件. 2.2 空间使用效率的量化从上述的策略1可知,在燕捷系统中,每个文件都会在其后继服务器中存在一个冗余副本文件,由前面的冗余度的定义可得出,对于该系统而言,每台服务器在其后继服务器中的绝对冗余度以及系统总的绝对冗余度都为100%,相对冗余度为50%.从上述的策略2可知,随着用户的不断访问,将有越来越多的冗余副本文件在系统中的其他文件服务器中被建立,冗余度也相应发生变化. 绝对冗余度仍然保持100%不变,而相对冗余度将随着副本的建立而不断增长,极端情况下将趋近100%.可见,利用冗余分析方法可以对分布式文件系统的空间使用效率进行量化的分析. 这种量化的冗余分析方法是面向文件的,以文件的冗余为出发点考虑,有利于优化系统的访问调度和平衡策略. 2.3 访问调度平衡策略优化 冗余分析方法可以帮助优化系统的策略. 绝对冗余度说明了系统中有多少文件存在冗余,相对冗余度说明了系统中存在多少冗余文件,访问调度平衡策略可以是建立在冗余的基础之上的.燕捷系统中,采用了基于DNS 的访问调度平衡策略,将冗余分析应用到这种策略中将更好的改善调度情况. 在每次进行用户的调度分配时,都加入对系统冗余度的考虑,对于冗余度过高的服务器不再用户调度到该服务西南民族大学学报·自然科学版 ___________________________________________________________________第5期器上,这样在冗余文件淘汰策略控制下,有利于该服务器冗余度减小,提高空间效率[5].2.4 冗余控制策略一个系统中过高的冗余度说明了该系统的空间效率比较低,因而,实现对冗余的控制有利于提高系统性能. 基于冗余度的冗余控制有多种方法实现.燕捷系统中,采用了时间标准的冗余淘汰策略,当冗余文件在一定长时间T内没有被访问到的情况下,该冗余文件将被删除. 这种方法存在两个问题,一是当这T时间内,一台服务器上的冗余副本被删除,但是在其他服务器上又多出来这个文件的冗余副本. 二是当经过T时间后,这台文件服务器的空间使用率没有下降.造成这两个问题的原因在于没有在冗余控制中考虑冗余度,对第一个问题而言,为一个文件的相对冗余量设定一个阀值,利用该阀值来控制系统内同一文件的冗余量;对第二个问题而言,为服务器的绝对冗余度设定一个阀值,当达到该阀值的时候不再允许在该服务器内创建冗余文件,从而保证服务器的空间使用率.3 结论通过对网络文件服务的分析,建立了一种冗余分析方法. 该方法面向文件提供了进行文件系统空间效率量化的手段,并且应用在分布式文件系统中,可以显著优化访问调度平衡策略与冗余控制策略.参考文献:[1] SEAN RHEA, CHRIS WELLS, PATRICK EATON, et al. Maintenance-Free Global Data Storage[J]. IEEE Internet Computing , 2001,5(5): 40-49.[2] 张进宇,李晓明,燕捷. 一种基于消息中间件的多服务器文件存贮系统[EB/OL]. [2002-02-20]. http://162.105.80.88/ crazysite/home/report/upload/2144851940.doc.[3] 王云岚,李增智,薛军,等. 基于DNS的负载均衡算法研究[J]. 计算机工程与应用,2002(4): 11-14.[4] 戴刚,罗宇. 基于DNS的负载均衡技术的设计与实现[J]. 计算机工程,2002(4): 78-81.[5] C. G. PLAXTON, R. RAJARAMAN, A. W. RICHA. Accessing nearby copies of replicated objects in a distributed environment[J].Theory of Computing Systems, 1999(32): 241-280.[6] 李建阳. 网格与web服务器结合应用研究[J]. 西南民族大学学报:自然科学版,2006,32(2): 380-384.Redundancy analysis and its application in distributed file systemCHEN Hao, ZHU Hui(College of Computer Science & Technology, Southwest University for Nationalities, Chengdu 610041, P. R. C. )Abastract:There are many server-oriented file system in the net, especially some distributed file system. To define the space cost in these file system, some analysis has been done on them, and a redundancy analysis method has been brought forward. This redundancy analysis method can be applied to distributed file systems to define the system performance of space cost and provide the related data to optimize the system. it is also useful in making the distributed system access strategy and balance strategy.Key words:distributed system;file redundancy;balance strategy;redundancy management。

高性能计算中的并行文件系统介绍(三)

高性能计算中的并行文件系统介绍(三)

高性能计算中的并行文件系统介绍引言:随着科学技术的快速发展,高性能计算已经成为许多领域中不可或缺的工具。

在高性能计算领域中,数据的存储和访问是关键问题之一。

为了满足海量数据的高速读写需求,并行文件系统应运而生。

本文将介绍并行文件系统的概念、工作原理以及应用场景,并探讨其对高性能计算的意义。

一、概念:并行文件系统是一种在并行计算环境中使用的高性能分布式文件系统。

与传统的文件系统不同,它能够将大规模数据分布在多个存储设备上,从而提供更高的存储容量和读写性能。

并行文件系统通常采用分布式存储架构,并结合并行I/O技术,将数据划分为多个块,分散存放在不同磁盘上。

二、工作原理:1. 数据分布与访问并行文件系统将数据划分为多个块,并将这些块分散到多个存储设备上。

在访问数据时,系统会将请求分发给多个存储节点,并并行地读取或写入数据。

这种并行化的数据访问方式可以显著提高文件系统的读写性能。

2. 元数据管理并行文件系统通过元数据管理来跟踪数据块的位置、属性等信息。

元数据通常分为全局元数据和本地元数据。

全局元数据存储在专门的元数据服务器上,负责管理整个文件系统的元数据信息,而本地元数据存储在每个存储节点上,负责管理本地数据块的元数据信息。

这种分布式的元数据管理方式允许并行文件系统具备较高的扩展性和可靠性。

三、应用场景:并行文件系统广泛应用于高性能计算领域,为各种科学计算、模拟和数据处理提供支持。

以下是几个常见的应用场景:1. 大规模数据处理在科学研究和工程数据处理中,常常需要处理海量数据。

并行文件系统能够提供高吞吐量的数据读写能力,帮助用户快速完成大规模数据的处理任务。

2. 并行计算高性能计算通常涉及大规模并行计算任务,其中包括分布式存储和访问数据。

并行文件系统能够提供高效可靠的存储服务,为并行计算提供良好的支持。

3. 科学模拟在科学模拟过程中,需要进行大规模的数值计算,并生成海量的模拟结果数据。

并行文件系统能够有效存储和管理这些数据,保证科学模拟的进行顺利进行。

并行分布式文件系统的改进

并行分布式文件系统的改进
维普资讯
第2 7卷 20 0 7年 1 2月
文 章 编 号 :0 1— 0 1 20 ) 2— 28—0 10 9 8 (0 7 s 0 7 3
计 算机应 用
C mp trAp l ain o ue p i t s c o
Vo . 127
0 引 言
高性能并行运算 可分 为计算 密集型 、 数据密集 型和 网络
密集型三大类 , 三者 可以相交 。遥感 图像 的数据量很大 , 分 部
同时事件 的优势可 以使 图像结 果的显示 更加有 效率 , 数 据更改 以后 , 要 能够在 界面 上加 以体 现 , 需 并更新 图像 的显
空 闲时就预取数据的预取 过于 贪婪 的缺点 , 而更 加适合 从
需要注意 的是 , 在使用 C c e , ah 后 文件系统必须 保证处理
高性 能科学计算。
好各节点上的 C ce一致 性问题 ,IF ah PP S中对 于 C ce中数据 ah
通过保 持对写操作定义 窗口可 以达到这个 目的。但 即使 同一 时刻仅仅允许一个可写 的打开方 式 , 图像数据 的改变也 可能 给其 他只读进程带来错误 。 并行 的图像处理进程 对某 图像修改后 , 依据全 局的共 享 缓 冲要对各个节点上 的本地缓存 标记为 “ ” 脏 并进行更 新 , 然
De .2 0 c 07
并 行 分布 式文 件 系统 的改进
阴四海 王文 杰 李 秀斌 范 军涛 , , ,
(. 1 中国科学技术大学 计算机科学技术 系, 合肥 2 02 ; 2 中国科学院 研究生院, 30 6 . 北京 10 4 ) 00 9
( is a@y ho cm.n yni i a o .o c) h

基于RDMA的分布式存储系统研究综述

基于RDMA的分布式存储系统研究综述

基于RDMA的分布式存储系统研究综述陈游旻;陆游游;罗圣美;舒继武【摘要】远程直接内存访问(remote direct memory access,RDMA)技术正在大数据领域被越来越广泛地应用,它支持在对方主机CPU不参与的情况下远程读写异地内存,并提供高带宽、高吞吐和低延迟的数据传输特性,从而大幅提升分布式存储系统的性能,因此基于RDMA的分布式存储系统将为满足大数据高时效处理和存储带来新的机遇.首先分析了基于RDMA的分布式存储系统简单替换网络传输模块并不能充分发挥RDMA在语义和性能上的优势的原因,并指出存储系统架构需要变革的因素.然后阐述了高效运用RDMA技术主要取决于2个方面:第1方面是硬件资源的高效管理,包括网卡缓存和CPU缓存的合理利用、多核CPU的并行加速以及内存资源管理等;第2方面是软硬件的紧耦合设计,借助RDMA在语义和性能上的特性,重构新型数据组织和索引方式、优化分布式协议等.同时,以分布式文件系统、分布式键值存储和分布式事务系统为典型应用场景,分别阐述了它们在硬件资源管理和软件重构这2个方面的相关研究.最后,给出了总结和展望.【期刊名称】《计算机研究与发展》【年(卷),期】2019(056)002【总页数】13页(P227-239)【关键词】远程直接内存访问;分布式存储;键值存储;文件系统;分布式事务【作者】陈游旻;陆游游;罗圣美;舒继武【作者单位】清华大学计算机科学与技术系北京 100084;清华大学计算机科学与技术系北京 100084;中兴通讯股份有限公司南京 210012;清华大学计算机科学与技术系北京 100084【正文语种】中文【中图分类】TP302.1在后摩尔时代,多核CPU已经成为发展趋势,同时,内存日益廉价,这使得构建内存存储系统变为可能;在大数据计算领域,数据规模大,数据维度高,数据种类多是其典型特征,内存计算技术逐渐开始发挥重要作用.加州大学伯克利分校开发的Apache Spark[1]以及SAP公司在2012年推出的HANA内存计算[2]已经得到工业界的广泛关注.DRAM相比于磁盘在带宽和延迟上均有几个数量级的优势,能极大地提升本地数据存储性能,然而,DRAM也面临集成度低等问题,单节点内存最大只能达到几百GB,很难满足大型应用的存储需求.构建分布式大内存系统是一种有效途径,但传统以太网带宽和延迟与DRAM性能具有明显差异,网络性能将成为制约系统性能的最重要因素.近年来,远程内存直接访问(remote direct memory access,RDMA)[3]作为一种新兴的跨网数据传输技术逐渐从高性能计算走进大数据领域,并开始受到广泛关注.RDMA技术能够在远端CPU不参与的情况下,绕过内核直接访问远端内存,实现零拷贝的数据传输.近年来,200 Gbps的高速网卡已经走向市场,这与DRAM的带宽进一步靠近.然而,简单地将现有的分布式存储系统中的网络模块替换为RDMA通信模式,而不优化上层软件逻辑的策略,并不能充分发挥RDMA网络的硬件优势,这主要由3个方面导致:1) 硬件管理缺失.一方面,RDMA网卡和处理器均具有独立的缓存系统,并且RDMA网卡的缓存空间尤为有限,因此缓存空间的管理高效与否将直接影响系统整体性能;另一方面,RDMA网卡具有良好的并行性,多核处理器环境下数据传输并行化具有较大空间.然而,简单兼容RDMA的软件系统很少从硬件角度考虑RDMA通信的效率问题,从而忽视了缓存管理、多核并行、资源共享等方面的重要性,导致系统性能低下.2) 软件逻辑冗余.传统软件大多采用模块化设计,软件层次分工明确.在兼容新型硬件时,如果依旧沿用了传统的软件层次,将会导致软件逻辑冗余,效率低下.例如,传统的分布式文件系统需要部署在本地文件系统之上,通过本地文件系统管理本地数据,并依靠分布式软件层构建跨节点统一视图.基于上述软件架构,客户端通过RDMA网络读取数据时,数据块分别经过本地文件系统镜像、页缓存、用户态缓冲区等位置,将出现多层冗余拷贝.在慢速磁盘和传统以太网环境下,内存级冗余拷贝对系统整体性能影响甚微,但是,在构建基于RDMA的内存级分布式文件系统时,多层数据拷贝将明显降低系统整体性能,因此,软件逻辑重构将尤为重要. 3) 分布式协议低效.在分布式系统中,多客户端并发访问数据时,往往依靠2阶段锁或乐观并发处理进行并发控制,避免客户端间的访问干扰;而跨节点数据一致性、系统崩溃一致性则由分布式一致性提交协议(2阶段提交)保证.上述协议往往牵涉多个节点协同工作,流程复杂,性能低下.为此,基于传统以太网的分布式系统中,往往通过特定的数据放置策略和处理方式避免使用分布式事务[4].然而,RDMA工作模式具有强一致性,其单向原语和原子操作可以被利用起来,从而设计新型分布式协议,满足系统高效可扩展的需求.RDMA技术在通信模式、网络性能等方面呈现出与传统以太网完全不同的特点.对现有模块化的软件架构进行简单的网络替换将无法充分发挥RDMA网络性能.为此,需要结合RDMA网络的硬件特性,调整软硬件结构,从原语使用、数据流优化、协议设计等方面重新设计软件逻辑,从而充分发挥RDMA网络的硬件优势.1 背景介绍目前有3类网络架构支持RDMA技术,分别是IB(InfiniBand),RoCE(RDMA over converged eth-ernet),iWARP(internet wide area RDMA protocol).其中RoCE和IB具有相同的上层协议栈,而前者在数据链路层则完全兼容以太网,iWARP保留了TCPIP的完整协议栈.RDMA允许本地CPU绕过操作系统,直接读写远端节点内存,该过程无需远端CPU的参与.以远程写操作为例(如图1),本地CPU直接以MMIO(memory mapped IO)的方式向网卡发起远程写命令,并传递相应参数,包括待写入数据块基地址、远端内存地址、写入数据块大小、远端注册内存密钥等信息;本地网卡收到命令之后,立即根据本地数据块基地址将数据块从主存以DMA Read的方式读取到网卡缓存,并发送到远端;远端网卡接收到数据块之后,以DMA Write的方式直接将数据写入内存对应地址.此过程中,RDMA无需像传统以太网一样穿越内核中的多层网络协议栈,因此实现了跨节点数据传输过程中的数据零拷贝. Fig. 1 Dataflow in RDMA network图1 RDMA网络数据收发过程RDMA通信链路可以被配置为3种模式,分别是可靠连接(reliable connection, RC)、不可靠连接(unreliable connection, UC)和不可靠数据报(un-reliable datagram, UD).其中,UD采用面向无连接的数据报发送方式,支持点对点和点对多的数据传输,而RC和UC模式仅支持点对点的面向连接的数据传输.另外,UD模式支持的最大数据传输单元为4 KB,而RC和UD模式支持多达2 GB的单次数据传输.RDMA访问远端内存依靠2类原语:1)消息语义,其中Send和Recv是其典型的1组原语,它们类似于套接字编程中的Send和Recv,在发送消息之前,接收方需提前调用Recv原语,用于指定接收消息的存放地址.这类原语也被称作双向原语.2)内存语义,该类原语包含Read,Write以及相应的变种(Write-with-imm和原子操作).这类原语能在远端CPU不介入的情况下直接读取或更新远端内存,它们亦被称作单向原语.不同语义在不同的通信链路模式下具有不用的支持程度,如表1所示:Table 1 RDMA Verbs and MTU Sizes in Different Modes表1 不同模式下的RDMA原语和最大传输单元(MTU)TypeSend∕RecvWrite[imm]Read∕AtomicMTURC2GBUC×2GBUD××4K B在RDMA编程中,网卡驱动分别提供了内核态和用户态编程接口,它们被称作Verbs.以RC模式下的点对点链路建立过程为例,应用程序需分别经历打开设备、创建保护域(protection domain, PD)、申请并注册内存、创建完成队列(completion queue, CQ)、创建收发队列(queue pair, QP)、初始化QP等过程.其中,申请的内存用于收发和存储远端消息或被远端网卡直接访问.内存在被远程访问之前需注册到网卡,注册过程包含:1)建立内存虚拟地址到物理地址的映射表,并存储到网卡缓存;2)生成密钥对,用于本地或远端内存访问控制.收发队列包含发送队列(send queue)和接收队列(receive queue),用于存放CPU发起的网络请求,网卡从队列中依次处理原语,当原语处理完毕,将相应的完成信息存放到绑定的完成队列中.创建的QP、CQ和注册内存均需绑定到相同PD中才能正常通信.RDMA绕过内核实现数据零拷贝,并借助硬件执行数据包的派送和解析,从而提供了高带宽、低延迟的通信特性.但是,将RDMA技术应用到分布式系统中时,也存在原语漏用、冗余拷贝、协议低效等问题急需解决.为此,本文将结合实际系统,从以下2个方面分别进行阐述:1)硬件资源的高效管理,在大规模集群中,高并发的数据传输将导致CPU缓存、网卡缓存发生剧烈竞争,影响系统性能,另外,CPU的多核架构为并行处理提供了机遇,如何高效调度CPU核、提升网络数据并行处理性能同样重要.2)RDMA提供了远程直接读写的新型通信原语,这打破了传统分布式系统中的跨节点数据传输模型,促使一些系统,例如分布式文件系统[5-7]、分布式键值存储系统[8-14]、分布式事务系统[15-18]等选择通过软件重构来充分发挥RDMA的硬件特性.2 RDMA与硬件管理RDMA技术通过硬件解析并处理网络数据包降低延迟的同时,能有效提升数据传输的并行能力.另外,网卡将链路状态信息等核心数据缓存到网卡的缓存空间,用户程序绕过内核直接与硬件交互.因此,构建高效的基于RDMA的存储系统的关键因素在于结合RDMA的硬件特性,与系统软件层进行紧耦合设计.本节将主要从网卡缓存、CPU缓存以及多核调度等硬件层次阐述如何设计高效的系统软件.2.1 缓存管理缓存系统是计算机体系结构中的重要组成部分,它将访问频繁的数据暂存到高速缓存器以加速应用,因此,缓存系统对局部性较好的应用加速效果显著.在RDMA网络通信中,CPU和网卡均存在独立的缓存系统,缓存使用的好坏将直接影响着节点间数据通信性能.网卡缓存用于暂存CPU发起的网络请求和相应的网络状态信息,其主要缓存3类数据:1)注册内存从逻辑地址到物理地址的映射表,当网卡发送数据或接收到数据时,将依据映射表查询相应物理地址;2)QP状态,存放QP对应的元数据信息;3)由CPU发起的网络请求条目,网卡根据请求条目执行相应处理.在特定场景下,这3类数据都会增加网卡缓存缺失率,导致系统性能下降.第1方面,内存注册后以页为单位生成映射表,默认情况页的大小为4 KB,假设每个映射条目为12 B,则注册10 GB内存需要的映射表大小为30 MB,这将很难全部存放到网卡缓存中.FaRM[13,15]引入内核驱动PhyCo,它在系统启动时分配2 GB对齐(网卡最大支持2 GB的页大小)的物理连续的内存区域,并将其映射到FaRM进程的逻辑地址空间.通过这种方式,映射表大小将缩小为60 B.第2方面,RDMA的扩展性问题还源于连接数量的增加.图2展示了RDMA网络在不同链路模式下的吞吐,我们选取1个节点作为Server,启动多个线程并行地向多个节点发送(接收)32 B的消息.其中向外发送消息称作Outbound-Message,反之则为Inbound-Message.如图2所示,在RC模式下,总吞吐随着连接数量的增大而减小,而Outbound相比于Inbound下降更为明显.相反,UD模式下总吞吐不受到连接数量的影响.这主要是因为在RC模式下,Server端需要与每个客户端创建QP并建立连接,当连接数量过多后,QP状态信息无法全部存放到网卡缓存,导致数据频繁在网卡缓存和主存间换入换出,影响性能.而UD模式下,Server端只需创建固定数量的QP,便能与所有的客户端进行通信,因此服务端总吞吐不受到客户端数量的影响.FaSST RPC[16]是基于UD的RPC系统,得益于UD的无连接通信模式,FaSST能够线性扩展到数百个节点.然而,UD同样也存在其他缺陷,例如不支持远程直接读写,单次最大传输数据量不能超过4 KB,底层无拥塞控制逻辑,且有丢包或乱序风险.因此需要额外的软件控制来保障UD在真实应用中的可靠数据传输,但软件控制又将引入新的开销[19].Fig. 2 Scalability issue in different transport modes of RDMA图2 RDMA在不同链路模式下的扩展性问题第3方面,CPU发起网络请求时,使用MMIO向网卡发送命令,这些命令将被临时缓存到网卡缓存,并由网卡依次处理.然而,当CPU发送命令过快时,网卡缓存不足以存放新的请求,因此之前发送的未处理的请求将被换出到主存,等到被处理时再换回到网卡缓存.频繁的换入换出操作将引入大量的PCIe流量,这是制约网络吞吐的关键因素.图3源于文献[20]中的图13(b),展示了单节点向外发起写请求时的缓存缺失情况.CPU以批量请求的方式向网卡发起RC Write请求,通过控制每次批量请求包含的请求数量来调节CPU发起请求的速度(横坐标).其中CX3和CIB 为2类网卡型号,且CIB性能强于CX3.图3中CX3 WR和CIB WR分别表示在CIB和CX3环境下RC Write请求的速率.而PCIeRd则表示网卡发起的PCIe Read的速率,PCIe Read速率越高,代表额外的PCIe流量越高,对性能影响越大.从图3中我们可以发现,CX3环境下,当每次批量请求的数量达到16后,RC Write的吞吐有一定下降,而此时PCIeRd的速率明显上升,表明此时CPU发送请求速度过快,已经存在明显的缓存缺失现象.CIB环境下PCIeRd速率一直保持较低水平,且RC Write吞吐几乎线性提升,这说明CIB网卡能够支撑CPU发起的最快请求速度,而不发生缓存缺失现象.因此,当网卡处理能力不及CPU时,需控制CPU请求速率,避免网络吞吐下降.Fig. 3 NIC cache misses for RC Write operations[20]图3 RC Write操作对应网卡缓存缺失率[20]Fig. 4 NIC writes with Intel data direct IO图4 因特尔数据直访IO技术下网卡写操作流程CPU缓存在网络数据收发过程中扮演重要角色.因特尔至强E5系列处理器提供了独有的数据直访IO(data direct IO,DDIO)技术,它允许PCIe外设直接读写CPU的末级缓存(LLC,通常为第3级缓存)而绕过对主存的访问,从而降低IO适配器到内存以及内存到CPU之间的延迟(如图4).PCIe外设以Write Update或Write Allocate的方更新CPU的LLC.当访问数据已经缓存到LLC时使用前者进行更新,而当访问数据不在缓存中时,则使用后者.Write Allocate操作需先分配缓存空间,然后写入数据,其开销大于Write Update.通常情况下,用于DDIO的缓存区域占整个LLC的10%左右,以防止外设IO干扰CPU运行应用程序的性能.因此,基于RDMA建立的通信模型下,构建过大的通信消息池将不能被完全映射到LLC中,从而引入大量的Write Allocate操作,影响系统的整体性能.文献[9]构建的HERD RPC系统中,服务端静态分配固定大小的消息池,并划分为连续的内存块,用于存放远端客户端写入的新消息.客户端通过UC Write将请求远程写入到消息池中,服务端处理之后则使用UD Send返回响应信息.为避免客户端在写入消息时互相干扰,不同客户端被映射到消息池的不同区域.在HERD中,每个消息块大小为1 KB,最大支持的客户端数量为200,消息池的大小为6 MB,能完全存放到LLC.但这种静态映射方式限制了最大支持的客户端数量,同时每个请求的数据量也不能超过1 KB.FaSST[16]使用UD Send传递请求,数据存放地址由接收方决定,因此客户端之间可共享同一个消息池,消息池大小不会因为客户端总数量变化而发生改变.2.2 CPU调度基于RDMA设计高效的系统软件,在CPU调度层面需要考虑以下3个方面的问题.1) 多核并发.RDMA网络具有良好的并行性,单条链路上的网络负载很难达到网卡的峰值处理能力.另一方面,使用单个CPU核不足以处理多条链路上的网络请求,CPU多核并行同样重要.如图5(a)所示,服务端与客户端创建多个QP连接,通过变化QP数量,展现了RDMA不同原语的最大吞吐.我们发现,在QP数量少于4时,所有原语均不能达到网卡处理峰值.同样,图5(b)展现了不同RPC系统的吞吐率,横坐标表示改变服务端CPU核的数量,并启动40个客户端发送RPC请求,纵坐标表示不同RPC系统的吞吐率,发现CPU核的数量超过4时才能达到网卡处理峰值.由此可见,合理增加并发度,能较大提升RDMA的网络性能.DaRPC[21]是一个基于RDMA的RPC系统,它在服务端采用了精细化的并行架构:初始化阶段,服务端启动多个线程,并行处理远端请求,每个客户端均与服务端建立独立的QP链路,这些链路被映射到不同的服务端线程,用于并行消息处理.另外,在NUMA架构下,网卡、主存等相对于CPU具有非对称访问特性,近端CPU访问网卡和主存能有效降低延迟、提升吞吐.文献[21]表明,NUMA友好的近端绑定策略能有效提升系统性能达20%左右.2) 负载均衡.服务端线程静态映射的方式能提升并行度,但每个客户端负载具有差异性,且相应的远程调用开销不尽相同,因此有可能导致个别CPU核处理繁忙,而其他CPU核空闲等待的现象.文献[21]提出了一种“Work Stealing and Load Balancing”的管理方法,在服务端引入监控器,用于实时统计各CPU核的工作负载状态,当某CPU核的工作负载超过某阈值,则将新来的部分请求放入到1个全局队列中,而其他CPU核在不繁忙时查看全局队列,并及时处理相应请求.这种方式有效解决了各CPU核负载不均衡的问题,但同时也引入了时序问题,导致早到达的RPC请求在晚到的请求之后被处理.这种乱序响应需要在客户端处理逻辑中被谨慎考虑.Fig. 5 Throughput with different QPs and CPU cores图5 不同QP数量或CPU核对吞吐的影响Fig. 6 Per-thread Read throughput with QP sharing[16]图6 QP共享模式下Read请求的单线程吞吐率[16]3) QP共享.基于RDMA的对称系统架构[13,15-16]中,各节点同时启动服务端进程和客户端进程,并启动多个CPU核并行处理远端请求或发起请求.假定集群规模为Ns,每个节点启动Nc个CPU核,集群中的各CPU核之间建立全相连的拓扑结构,则每个节点需创建QP的数量为(Ns-1)×,这在大规模集群中将存在严重的扩展性问题,QP需要在CPU核间共享.一种途径是任意2个节点之间仅创建一条链路,则每个节点间需创建的QP数量为Ns-1,使得QP数量保持在较低水平.但是,这种QP共享方式迫使多个CPU核并发向同1个节点发送网络请求时使用同1条QP链路,从而导致严重的资源竞争.图6展示了Read请求在不同程度的QP 共享下的单线程吞吐率,横坐标代表总共创建的QP数量.从图6可以发现,在不共享情况下,即单个线程处理所有QP中的请求,性能(10.9 MOPS)远高于多个线程的共享处理模式(2 MOPS).因此QP共享模式导致CPU利用率极低.一种折中的方法是允许各节点间具有相同ID的CPU核之间进行通信,即每个节点建立Ns×Nc个QP,这样CPU核之间不存在资源竞争,QP数量也保持在较低水平.3 RDMA与软件重构RDMA提供了不同于套接字编程的通讯接口,它允许在远端CPU不参与的情况下直接访问远端内存,实现数据的零拷贝传输,这在一定程度上颠覆了传统的系统架构思想,从而促使了分布式键值存储系统、文件系统以及事务系统等在软件层的变革.软件层次的变化可基本总结为以下3类:分布式协议的重构、网络负载的分派均衡和数据的远程索引等方面.本节将从多类分布式存储系统展开,并阐述软件层如何从以上3个方面使用和优化RDMA网络.3.1 RDMA在Key-Value系统中的应用在传统存储系统中,数据的组织和索引由服务端本地执行.一般地,客户端读取或更新服务端数据时,首先向服务端发送RPC(remote procedure call)请求,服务端接收到请求后,迭代式地查询以树状或散列组织的数据,然后将查询或更新结果返回给客户端.Key-Value系统采用平铺式的数据存储管理模式,仅提供类似Get,Put等接口,系统结构简单.同时,RDMA可以直接访问远端内存数据,这使得分布式键值存储系统中的数据索引模式发生改变.近年,结合RDMA和Key-Value存储的分布式键值存储系统[8-14]被广泛研究,本节将着重介绍Pilaf[5].Pilaf是纽约大学于2013年提出的一个内存级分布式键值存储系统,借助RDMA原语实现了极高的系统性能,同时有效降低了服务端CPU开销.Pilaf在处理GET请求时,利用RDMA内存语义低延迟的特性,通过客户端发起多次Read请求完成键值查询,将数据索引任务由服务端转移到客户端(见图7).Fig. 7 Overall architecture of Pilaf[8]图7 Pilaf的总体架构[8]如图7所示,Pilaf的键值对通过散列表索引,散列表和键值对统一存放在内存区域中,散列表中的各表项存放键值对的内存地址,用于索引真实的键值对.存放上述内容的内存空间在系统初始化时分配,并注册到网卡,使得客户端可远程直接访问,客户端在接入时获取服务端注册内存的虚拟地址.客户端在执行Get操作时,首先计算出Key相应散列值,并根据散列值确定对应表项在散列表中的偏移;然后执行RDMA Read读取散列表在该偏移下的内容,如果表项包含1个有效地址,则根据该地址执行第2次Read操作获取键值内容.如果获取的键值对匹配,则成功返回;如果散列表项为空,或者键值对不匹配,则线性查找下1个表项,直到查询成功.Put操作需要更新散列表和键值对,在多客户端并行访问场景下,会出现数据冲突访问,因此将Put操作的逻辑完全交由客户端并不现实.在Pilaf中,所有的更新操作(包括Put,Del等)将按照传统方式转交给服务端执行.具体方式为:客户端向服务端发起相应更新操作的RPC请求,服务端收到请求之后,在本地执行查询更新,然后返回更新结果.在读写并发场景下,以上工作流程会引入脏读.例如,在服务端更新某一键值对的时候,客户端同时使用Read读取正在更新的键值对,则有可能读取到1个中间状态的值.Pilaf引入自校验方法来解决脏读问题.如图8所示.Fig. 8 Self-verifying Hash table structure[8]图8 自校验散列表数据结构[8]在散列表的每一个表项中,添加2层校验码,服务端在处理更新请求时,首先更新键值对内容,然后根据键值对内容计算校验码,并更新散列表对应表项的第1个校验值,然后根据表项更新第2个校验值.当客户端执行Get操作时,通过2次匹配校验码来判断是否发生脏读.如果匹配失败,则等待随机时间,再次获取键值内容,直至匹配成功.Pilaf借助多次Read请求将Get处理逻辑转移到客户端,这种远端索引方式一定程度降低了服务端的处理开销.同时,依靠RDMA的硬件优势,系统处理请求的能力相比于传统方式提升显著.。

分布式文件系统、集群文件系统、并行文件系统

分布式文件系统、集群文件系统、并行文件系统

分布式文件系统、集群文件系统、并行文件系统,这三种概念很容易混淆,实际中大家也经常不加区分地使用。

总是有人问起这三者的区别和联系,其实它们之间在概念上的确有交叉重叠的地方,但是也存在显著不同之处。

分布式文件系统自然地,分布式是重点,它是相对与本地文件系统而言的。

分布式文件系统通常指C/S架构或网络文件系统,用户数据没有直接连接到本地主机,而是存储在远程存储服务器上。

NFS/CIFS是最为常见的分布式文件系统,这就是我们说的NAS系统。

分布式文件系统中,存储服务器的节点数可能是1个(如传统NAS),也可以有多个(如集群NAS)。

对于单个节点的分布式文件系统来说,存在单点故障和性能瓶颈问题。

除了NAS以外,典型的分布式文件系统还有AFS,以及下面将要介绍的集群文件系统(如Lustre, GlusterFS, PVFS2等)。

集群文件系统集群主要分为高性能集群HPC(High Performance Cluster)、高可用集群HAC(High Availablity Cluster)和负载均衡集群LBC(Load Balancing Cluster)。

集群文件系统是指协同多个节点提供高性能、高可用或负载均衡的文件系统,它是分布式文件系统的一个子集,消除了单点故障和性能瓶问题。

对于客户端来说集群是透明的,它看到是一个单一的全局命名空间,用户文件访问请求被分散到所有集群上进行处理。

此外,可扩展性(包括Scale-Up和Scale-Out)、可靠性、易管理等也是集群文件系统追求的目标。

在元数据管理方面,可以采用专用的服务器,也可以采用服务器集群,或者采用完全对等分布的无专用元数据服务器架构。

目前典型的集群文件系统有SONAS, ISILON, IBRIX, NetAPP-GX, Lustre, PVFS2, GlusterFS, Google File System, LoongStore, CZSS等。

分布式人工智能平台的构建及其应用

分布式人工智能平台的构建及其应用

分布式人工智能平台的构建及其应用引言随着人工智能技术的不断发展,分布式人工智能平台开始成为了大家研究的关注点。

虽然传统的人工智能技术已经可以处理一些问题,但是这些问题在数据量较大、计算量较大的情况下会遇到瓶颈。

而分布式人工智能平台则可以解决这些问题,使得人工智能技术更加广泛地应用于各个领域。

下面本文将着重探讨分布式人工智能平台的构建及其应用。

一、分布式人工智能平台的概念分布式人工智能平台是指使用各种分布式计算技术,将人工智能技术模型分布在多个计算资源上,以提高处理速度和精度。

分布式人工智能平台可以扩展计算资源,提高机器学习算法的可靠性和效率,从而提高预测准确性,降低错误率。

在分布式人工智能平台中,通常使用分布式文件系统,如HDFS,来存储大量数据。

同时,还需要分布式计算框架,如MapReduce和Spark等,来执行各种计算任务。

二、分布式人工智能平台的构建方法1. 分布式文件系统分布式文件系统是分布式人工智能平台的基础。

在分布式人工智能平台中,通常使用分布式文件系统来存储大量的原始数据、中间数据和模型数据。

目前,常用的分布式文件系统包括HDFS、TFS和GlusterFS等。

在选择分布式文件系统时,需要考虑它的可靠性、性能和可扩展性。

2. 分布式计算框架分布式计算框架是分布式人工智能平台的核心。

目前,常用的分布式计算框架包括MapReduce、Spark和Flink等。

这些框架可以分布式执行各种计算任务,如机器学习模型训练、数据分析和数据处理等。

在选择分布式计算框架时,需要考虑它的性能、可扩展性和易用性。

3. 分布式深度学习框架分布式深度学习框架是分布式人工智能平台的重要组成部分。

目前,常用的分布式深度学习框架包括TensorFlow、Caffe2和PyTorch等。

这些框架可以分布式地训练深度学习模型,提高计算速度和精度。

在选择分布式深度学习框架时,需要考虑它的性能、可扩展性和支持的算法类型。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
颈。
分 布式 文件 系统 是指 网络 中的多个存 储节 点 通过 网络 组织起 来 ,并通 过 网络来 完成 各存 储节 点 时 的 通信和控制 的文件 系统。典型 的分布式 文件 系统 ,如 L u s t r e … ,G F S( G o o g l e F i l e S y s t e m) [ 2 J ,H D F S ( Ha d o o p D i s t r i b u t e d F i l e S y s t e m) E 3 ] 等 ,将 元数 据 和应用 程 序数据 分 开存储 ,因为元 数据 和应 用 程 序数 据
分 布 式 文 件 系统 性 能 研 究
赵铁 柱
( 东莞理工学 院
袁华强
5 2 3 8 0 8 )
工程技术研究 院 ,广东 东莞
摘要 :随着海量数据存储和 L / O密集型应 用的发展 ,I / 件 系统 是 解 决 I / 0瓶 颈 问题 的 重 要 途 径 。如 何 系统 地研 究分 布 式 文 件 系统 的 性 能 因 子 和 优 化 方 案 ,是 一
的存储和访 问各有特性 ,可以针对这些个性 ,分而治之并优化 ,明显提高整个系统的 I / O的性能 。并行 文 件 系统 ( 也称 分布 式并 行文 件 系统 ) ,如 G P F S( G e n e r a l P a r a l l e l F i l e S y s t e m) [ 4 j ,P V F S( P a r a l l e l V i r t u — a l F i l e S y s t e m) J ,p N F S( P a r a l l e l N F S ) j ,是 一种 特 殊 的分 布 式 文 件 系统 ,所 谓 并 行 文 件 系 统 是 指应 用于多机环境的网络文件系统 ,单个文件的数据采用分条等形式存放于不同的 I / 0节点之上 ,支持多机 多个 进程 的并 发存取 ,同时支 持元 数据 和数 据 的分 布存放 ,并 提供 单一 的 目录 空间 。而要 实 现一个 完 整 的并行文件系统 , 需要实现如下两个方面 :第一 ,实现单一的文件映像 ,并行文件存放在盘阵上的具体 分 布情 况对 于用 户来 说是 透 明 的 ,并行 文 件系统 在用 户看 来是 一完 整 的树 型结构 ,在 调用 时 只要 给 出文 件名即可 ;第二 , 采用条带化 ( S t r i p e )和分区 ( P a r t i t i o n )技术 ,支持一个文件数据在多个磁盘之上和 多 个进 程之 间的分 布 ,即多个 进程 并发 读 写多个 磁 盘上 的数 据 。 分布式 文 件系统 具 有 P B级海 量数据 存储 容 量 ,高 聚合 并 发 带 宽 , 高 可 扩展 性 ,高可 靠 性 ,易 管 理 和使用等特点 。能够有效地解决分布式存储系统 中海量数据存储和 I / 0瓶颈问题 ,成为了目前存储工业 界和学术界的研究热点 。分布式文件系统是任何大规模分布式计算环境的重要组成部分 ,它的性能直接 影 响着整个分布式计算环境的执行效率 。因此 ,分布式文件系统的 I / 0研究和性能优化是一个极具挑战 性 和研究 价值 的工 作 。本文 将 系统地 综述 分布 式文 件 系统性 能研 究现 状 ,分析 并挖 掘 出分布 式 文件 系统 的关键性能影响因子 ,为分布式文件系统性能研究和性能优化提供重要的指导价值。
近年来 ,网络应用的快速普及和云存储的推广 ,网络数据呈现海量的增长态势越发明显。信息资源 的爆炸性 增 长 ,对存储 系统 的容量 、可 扩 展 性 、数 据 可 用 性 以 及 I / O性 能 等 方 面 提 出 了越 来 越 高 的要 求。随着互联 网技术的飞速发展 , 服务器技术 ,网络技术和存储技术都得到 了快速的发展。虽然计算 , 传输和存储三大 I T基础设施都得到了飞速的发展 , 但相 当于计算 ( 数据处理 )和传输而言 ,存储技术 相 对发 展缓 慢 ,这主 要是 由于 在 I / 0子 系统 方 面 缺 乏 相应 的提 高 ,导 致 I / O成 为 了存 储 系统 的 主要 瓶
1 分 布 式 文 件 系统 性 能 研 究 综 述
目 前 ,分布式文件系统性能研究主要可分为 4 方面 :系统配置参数分析与调优研究 ,元数据访问优
收 稿 日期 : 2 0 1 3一 ( 】 4一 叭
基金项 目: 广东省 自然科学基金资助项 目 (¥ 2 0 1 2 0 4 0 0 0 7 7 4 6 ) ;国家 自然科学基金资助项 目 ( 6 1 1 7 0 2 1 6) 。 作者简介 :赵铁柱 ( 1 9 8 3 一) ,男 ,湖南娄底人 ,博士 ,主要从事分布式并行计算 、分布式存储 、云计算 等研究 。
个重要研 究课题 。本文 系统地 阐述 了分布 式文件 系统的性能研 究现状 ,挖掘 并分析 了分布 式 文件 系统 的关键 性能影响 因子 ,为分布式文件 系统的设计 和性 能优 化研 究提供 支持。
关 键 词 :分 布 式 文件 系统 ;数 据 存 储 ;性 能 因 子 ;性 能优 化 中图 分 类 号 :T P 3 1 l 文 献标 识码 :A 文 章 编 号 :1 0 0 9— 0 3 1 2( 2 0 1 4 )0 1— 0 0 2 0— 0 5
第2 l 卷 第 1期 2 0 1 4 年 2 月
J OURN AL O F DON GGUAN UNI VE RS I T Y OF T E C HNO L OG Y
东 莞 理 工 学 院 学 报
V 0 】 . 2 l N o . 1
F e b. 2 01 4
相关文档
最新文档