您好,欢迎来到尚车旅游网。
搜索
您的当前位置:首页分布式协作冗余复制存储机制

分布式协作冗余复制存储机制

来源:尚车旅游网
计算机科学2004Vo1.31N ̄-.12 DCR2S:分布式协作冗余复制存储机制 周旭卢显良魏青松 (电子科技大学计算机学院 成都610054) 摘要文件复制和编码校验是分布式文件容错中常用的方法。结合两者的优点,本文提出了一种分布式协作冗余复 制存储机制(DCR。S)。DCR0S通过X0R校验文件实现了分布在不同主机上的多个文件之间的相互协作,使得各个文 件不仅可以通过复制冗余复本来提高自身的客错抗毁性能,并且可以通过检验文件协助其他文件提高容错性,既提高 了单个文件的容错性能,更大大提高了一组文件的整体客错性能。本文对DCR0S的原理进行了图论表述,给出了概率 计算公式,定量地分析了DCR S的容错性能。通过计算比较,DCR0S的容错性能远高于完全复制。 关键词分布式,容错,冗余,协作,图论,校验 DCR S:Distributed Cooperative Redundancy Replication Storage Mechanism Zhou Xu LU Xian--Liang WEI Qing-·Song (Department of Computer Science of UEST of China。Chengdu 610054) Abstract File replication and coding are two common method used in fault—tolerance 0 distributed file systems. Combining the advantage of replication and coding,this paper presents a novel distributed cooperative redundancy replication storage mechanism(DCR。S).By using XOR coding,DCR。S makes a group of files which distributed a. mong different hosts cooperative,SO that not only a single file in the group can using XOR files to improve its own availability,but also the total availability of the whole group can be improved greatly.Under the graph theory de. scription of DCR。S。author gives a quantitative analysis to DCR。S’perIormance.Comparing to complete replication method。DCR。S has much higher fault—tolerance performance. Keywords Distributed,Fault—tolerant,Redundancy,Cooperative,Graph theory,X0R 1 引言 随着现代网络技术的不断发展以及计算机存储计算能力 的多个拷贝),同时还与其他一个或多个文件(协作文件)生成 XOR校验文件。这些复本文件和校验文件被分布在系统中不 同的机器上。这样,即使一个文件所有的原始复本都不可获 得,仍然可以使用协作文件和校验文件通过计算恢复文件数 据,实现比单纯复制更好的文件容错性能。 本文第2节介绍DCR。S的基本原理;第3节分析DCR S 的容错性能;最后是结论和未来的工作。 的不断提高,使得在广域网内集合大量计算机的存储资源,构 建大规模的分布式网络文件存储系统成为可能。目前,很多研 究机构和公司都提出了各自不同的分布式网络文件系统结 构,其中比较著名的有FreeHeaven[!],Farsite[z],0. ceanStorer ,FTDSSE‘ 和PASTE。 等。 但是,随着系统规模的不断扩大。加入的机器不断增加, 在增加了整个系统资源数量的同时,也增加了文件系统管理 2 DCR S的基本原理 2.1 常见文件数据容错方法 的复杂度和不确定性。如何有效地提高分布在众多机器上的 文件数据的可靠性和可用性,使得存放在大量相互独立的计 完全复制、FTDSS和Erasure Codes编码这几种文件数 据冗余容错方法原理各不相同,其空间复杂度、编码效率、文 件容错性、读写效率也是各有千秋[7]。完全复制思想简单,将 文件的多个复本分布到不同的机器上实现冗余容错,复本管 理的空间复杂度小,且不涉及编码运算,效率高,容错性能较 算机上的资源得到更加安全高效的利用,已经成为大规模分 布式存储系统中重要的研究课题之一。 为了获取文件的高可用性和高容错性,将文件数据进行 各种形式的冗余并分布在存储网络中多个节点上是目前使用 得最多的方法之一。很多系统都是基于这种思想:PAST和 好,但是要想提高文件的容错性能。只能通过增加文件的冗余 度来实现,占用存储资源较多;FTDSS将文件分片,并在这些 分片之间相互进行异或运算,再将原始数据片和校验片分布 到不同的机器上实现数据的容错,其使用的XOR编码效率 高,容错性能较好,但是最后生成校验分片过多,增加了文件 Farsite采用了完全复制(Complete replication)的方式; FTDSS采用了文件分块(segment)加xOR校验的方式; FreeHeaven和OceanStore则采用了文件分块加Erasure Codes编码 。 管理的空间复杂度,且要提高文件的容错性能,只能更加细分 文件分块,这会导致占用的存储资源和空间复杂度快速上升; Erasure Codes也是采取的文件分块校验、分片存储的方法, 与FTDSS不同的是它的校验分块是由原始数据分块经过 本文提出了一种新颖的分布式协作冗余复制存储机制 DCR。S(Distributed Cooperative Redundancy Replication Storage Mechanism)。DCR。S结合了完全复制和x0R校验的 思想,不仅将文件复制成若干个复本(replica,指同一个文件 -)本文受国家95重点攻关项目支持.周旭Erasure Codes编码后生成的,这是一种十分复杂的编码方 教授。博士生导 博士研究生.主要研究方向:计算机网络、网络存储、分布式操作系统等.卢显良博士研究生,主要研究方向:计算机网络、网络存储. 师。主要研究方向:计算机网络、操作系统.魏青松207· 式,在和FTDSS同样的分片数量下可以实现更小的空间复 杂度和更好的容错性能,但是由于编码效率较低,一般只用于 只读文件的容错。 研究以上几种文件冗余容错方案,我们可以发现它们都 是针对单个文件进行独立的冗余容错,没有考虑在文件之间 进行协作。同时我们知道,一个系统中的某些文件之间往往存 在某种内在的相互依赖和关联关系,特别是在分布式文件系 统中,某个应用可能需要同时读取分布在不同的机器上的几 个文件,如果这些文件中的一个或多个受损或丢失,应用往往 不能运行或者功能受到影响。所以,对于分布式文件系统来 说,我们不仅需要考虑单个文件的容错性能,同时也应该考虑 单元 多个分散而又有关联的文件的整体容错性能。 2.2 DCR S的基本原理和图论表示 分布式协作冗余复制存储机制DCR S正是基于以上思 想的一种新的分布式容错机制,它结合了完全复制和XOR 校验的方法,将分布在不同机器上的多个文件通过相互之间 的校验文件联系起来,形成一个整体,各个文件不仅可以通过 复制冗余复本来提高自身的容错性能,并且可以通过校验文 件协助其他文件提高容错性。通过多个主机上的文件的相互 协作,不仅可以提高单个文件的容错性能,更可以使得这一组 文件的整体容错性能得到大大提高。 如图1.a所示,设文件A和B是系统中的原始文件(相对 于校验文件而言),其中A文件有m份复本(A ,…,A ),B 文件有 份复本( ,…, ),A XOR B表示 和 通过异 或运算生成校验文件,这些文件都分布在不同的主机上。由异 或运算的性质可以知道,当存放A文件复本的m台主机都出 现故障或不在线,只要校验文件和任意一个B文件的复本在 线,仍然可以使用这两者进行异或运算将A恢复。同理,B文 件损失后也可以借由校验文件和A文件复本进行恢复。 为了表示和计算的方便,我们将所有的A文件复本记为 个点A ,B的复本记为点 ,将文件A和B异或运算后生 成的校验文件A XOR B表示为连接A。和 两点的一条边 a。这样,借用图论中“图”的概念,图1.a中几个文件的关系可 以简化地表示为图1.b。 田.、/田[ ]..:: L -_I---"-C--- ̄ J ——/—— 厂—-—]/校验文件 — L __j 1 I 文件^ 文件B 基本原理 ^ l丑 b.圈论表示 图1 DCR S原理和图论表示 如图2.a所示,我们将一组用校验文件联系起来的分散 文件称为一个DCR S单元(DCR S unit)。在系统的任意时 刻,单元中的某些校验文件可能由于所在主机的原因而导致 不能获得,这表现在该单元对应的图中就是一部分边的缺失。 所以,在任意时刻,单元对应的图都可能只是原来完整时的一 个子图。图2.b就是在某个时刻,由于图2.a中两条边丢失而 形成的子图。 ·20R· b.单元子圈 图2 DCR 中的单元 为了叙述的方便,下面给出几个定义。在一个单元中,每 个点都有两种状态:若点A 对应的文件A的所有m个复本 都不在线时,称点A 不在线,反之称点A 在线。若一个点 不在线但是可以通过XOR编码重新生成,称点 是可 恢复的。若一个点A 在线或是可恢复的,称点 可得。如果 个单元中所有点都是可得的,称该单元是整体可得的. 有了这些定义,就可以使用图论的表述方式来准确地描 述DCR S中一个单元单点和整体的可恢复条件: (1)在一个单元中,点A 是可恢复的充要条件是当前单 元的图中至少存在另一个在线的点 并且存在一条连接A 和 的道路。 (2)一个单元是整体可得的充要条件是当前该单元的任 意连通子图中都至少有一个点是在线的。 5 DCR S的容错性能分析 5.1环形和链形DCR S结构 对于多个文件,可以有链形、星形、环形、树形和更加复杂 的网形等多种方式将它们相互连接起来,形成一个DCR。S单 元(如图3所示)。这些连接方式的空间复杂度和占用的存储资 源各不相同,容错性能也有差别。下面我们重点讨论链形 (chain)和环形(ring)结构,并定量地分析一下这两种结构的 容错性能。 链形 星形 环.形 树彤 网形 图3几种不同的DCR S单元结构 为了简化模型,假设系统中每台主机出现故障的概率均 为户,每个文件有 份复本(即文件在系统中共有 份拷贝), 每个校验文件在系统中保存的份数只有一份,所有这些文件 都分布在不同的主机上。 设单元中每个点不在线的概率为P,每条边不在线的概 率为Q。则根据定义,有P=p ,Q=p。 设Chain(n)表示有n个点(口 a。…a )的链形单元结构, 记Chain(n)中单点a 可得的概率为 ,记Chain(n)整体可 得的概率为c 。则根据概率论原理,可以求出: 1.1—1一P, 2.1一 2、2一(1一P)+P·(1一Q)·c1.1 当n≥3时,用递推法(推导过程从略)可以得出: 1一 (1一P)+P·(1一Q)· 一1.1 C 一(1一P)+P·((1一Q)·C.一l、】+(1一Q)·C….1一(1一 Q)0· 一1.】· ~1),i=2,…,n一1 同理可以计算出Chain(n)的整体可得概率: C1一(1一P), C2一(1一P)0+2·P·(1一P)·(1一Q) C 一(1+P一2PQ)·C_一I—P·(1一Q)。·C_一2,月≥3 设Ring(n)表示有n个点(吼az…口 )的环形单元结构。很 明显,Ring(n)中每个点的单点可得概率都一样,记为rl,另用 尺n表示Ring(n)的整体可得概率。则 ^一1 (1一P)+厶P·(1一P)·P一。·((1一Q) +(1一 _一1 ^…1, Q)一一(1一Q)一)+∑∑P.(1一P)。.p.- 一 .((1 jl 2一一1 Q) +(1一Q)…一, 一(1一Q)一什 ),n≥3 同样使用递推法,可以得出 R3—1一P’一3P。(1一P)(Q’+3Q。(1一Q))一3P(1一 P)0 见一2 c + c + ^--3 P一 ·(1一Q)一 ·(3P·Q—P—Q一1)+厶(n—m一 2)·(1一P)·(1一Q)…-1·P…一 ·Q C ,n≥4 从直观上分析,环形单元结构的单点可得概率和整体可 得概率都应该比链形结构大,下面通过计算来验证这一点。 假设每台主机出现故障的概率为10%,每个文件只有一 份,即p一0.1,k一1,可得P一0.1,Q一0.1。 1 0.9g日 0.998 j+环形; 0.997 j+链形j 0.996 0.99l5 3 4 5 6 7 8 9 10 单点可得概率比姻 l I一—_{———●L~一 一 0.99 0.98 I ● ● ● ● ●0.97 ● , 0.% 0.95 3 4 5 6 7 8 9 l0 整体可得概率比较图 图4环形和链形结构的容错性能对比 对于n一3,…,10,根据前面的公式可以计算出两种结构 的单点和整体可得概率,如图4所示(由于链形结构中各点的 可得概率不同,取其最大值)。 从图4中可以看出,DCR。S的单点可得概率随着n的增 加而增加,整体可得概率随n的增加而缓慢减小.且环形单元 结构的单点和整体可得概率一直大于链形结构。当n≥7时, 环形结构的单点可得概率的增长变得十分微小,与链形结构 单点可得概率之间的差距也越来越小,逐渐趋于一致。这说明 环形和链形单元中单点的可得概率主要受图中距离它比较近 的点的影响,当单元中的点数增加到一定数量时,继续增加下 去并不能有效地提高单点的可得概率。 5.2完全复制和环形结构DCR S的容错性能比较 DCR。S是从完全复制的思想发展而来,下面比较一下在 占用相同存储空间的条件下,完全复制和环形结构DCR。S容 错性能的差别。 以下仍然设户一0.1,并假定单元中每个文件的大小都相 同,设为一个存储单位。则k一1时,点数为n的环形DCR。S单 元将占用2 个存储单位。 同样占用2n个存储单位,使用完全复制的方法,我们为 这n个原始文件每个再复制一个复本。可以求出这时每个文 件的单点可得概率为1一P。,而n个文件的整体可得概率为1 (户。) 。 图5是n取不同值时,环形DCR。S结构和完全复制的容 对于所有的n来说,在同样 占用2n个存储单位时,环形DCR。S结构的单点可得概率和 整体可得概率都大于完全复制。另外,由于环形DCR。S结构 整体可得概率下降的趋势大大缓于完全复制,随着n的增加, 两者之间的差距越来越大,环形DCR。S的优势愈加突出。 1 0.99 0.98 0.97 0.96 0.95 0.94 0.93 0.92 0.91 0.9 3 4 5 6 7 8 9 10 图5环形结构和完全复制冗错性能比较 以n一5为例,如图6所示,设有5-/'-分布在不同主机上的 文件,它们的单点可得概率为0.9,整体可得概率等于0.9 一 0.6561。若使用完全复制的方法,为每个文件增加一个复本, 则文件的单点可得概率为0.99,整体可得概率为 0.9509900499;若使用环形DCR。S,k—I时文件的单点可得 概率为0.9987835986,整体可得概率为0.9945327825。所以, 同样增加5个存储单位建立校验文件形成一个环形单元,可以 将文件的单点容错性能提高到不容错时的 I-- U .而丽 ≈8 2.2 1倍,将整体容错性能提高到不容错时的 (下转第213页) 209· 错性能比较图。从图中可以看出,的路径,如果这些路径可以被使用,那么反向页表的开销则可 以避免,如图4所示 地址转换方法来获得更高的页迁移效率。 结束语 页迁移技术是实现CC—NUMA系统存储优化 的重要方法,它动态地解决了数据局部性问题 由于迁移过程 中频繁涉及到实虚地址的转换,其开销影响了页迁移的效率 以优化页迁移技术为出发点,本文提出了操作系统中实现快 速实虚转换、支持页迁移的关键部件——反向页表技术 经过 测试,在高端系统和负载很大的情况下,反向页表支持的页迁 移系统性能明显优于传统页迁移系统 当然,目前这种技术还面临着许多问题,主要体现在反向 页表的空间开销上,而且fork()系统调用将会对进程地址空 间中的每个页面增加一个新的反向页表项,大大增加了反向 页表的维护开销。这些都是今后需要研究和解决的内容 器A0 B0图4文件映射页面的一种反向映射路径 page结构中有一项指向address—space结构的域map— ping,该域描述了备份这个页面的文件。address—space结构包 参考文献 1 Verghese B,Devine S.Gupta A,Rosenblum M.Operating system Support for Improving Data Locality on CC-NUMA Computer Servers.In:proc.Architectural Support for Programming Lan— gnages and Operating Systems.1 996.279 ̄289 2 Nikolopoulos D.et a1.Scheduler—Activated Dynamic Page Migra— 括备份文件的inode、文件页面的数据结构和两个vm—area— struct(VMA)的链表 VMA链表说明了特殊进程地址空间 的映射关系。文件/proc/pid/maps列出了不同PID号进程的 VMA映射。当我们需要获得非anonymous页面的虚地址时, 可以通过address—space和VMA结构找到对应的页表项。 tion for Multiprogrammed DSM Multiprocessors. In Journal of Parallel and Distributed Computing,2002 3 Laudon J,Lenoski D.The SGI Origin:A ccNUMA Highly Scal— 虽然这种方法比直接查找反向页表要花费更多的时间, 但是,因为可以不用维护非anonymous页面的反向页表结 构,所以能够节省大量空间开销 我们考虑在今后的实现中将 able Server[A].In:Proc.of the 24 Annual Int’1 Symp on Com— puter Architecture[c].1 997 4 van Riel R.Towards an O(1)VM:Making Linux virtual memory management scale towards large amounts of physical memory.In Linux Symposium 2003 两种反向映射方法结合起来,并在不同的情况下使用不同的 (上接第209页) 5 LWN The object—based reverse—mapping VM.http://1wn.net/ Articles/23732/?format—printable 结论和未来的工作本文提出了一种新的分布式协作冗 蠢 五 ≈62.9倍;而使用完全复制的方法,只能将 ≈7.o1倍。由此可见,在增加同样的存储空 A 余复制存储机制DCR S,这种机制通过校验文件实现了多个 文件之间的相互协作,不仅可以提高单个文件的容错性能,更 论的概念准确地描述了DCR S的容错性质,定量地分析了链 单点容错性能和整体容错性能分别提高{ 一1o倍和 可以使得一组文件的整体容错性能得到大大提高 本文用图 形和环形DCR S结构的容错性能,并给出了这两种特殊结构 的单点和整体可得概率的计算公式。通过计算比较,环形 DCR S结构在占用同样存储空间的条件下,可以实现比完全 间的情况下,环形DCR S可以比完全复制更加有效地增加一 组文件的单点和整体容错性能 O En 复制更高的容错性能,证明了DCR S是一种十分有效的分布 oB 式文件容错机制 如前所述,DCR S有多种结构,而本文只分析了链形和 环形两种,在以后的工作中将对其他一些DCR S结构的容错 Do oc 分布在不同主机上的五个文件 性能进行进一步的分析,找出容错效率最高、最易于实现的 DCR S单元结构,并通过实验给予验证。 参考文献 88 88 完全复制容错 环形DCR2S容错 1 Dingledine R.Freedman M.Molnar D.The freehaven project:Dis— tributed anonymous storage service.In:Proc.of the Workshop on Design Issues in Anonymity and Unobservabi1ity.July 2000 2 Bolosky Wt Douceur J.Ely D.Theimer M.Feasibility of a server一 1ess distributed file system deployed on an existing set of desktop 图6环形DCR S容错和完全复制容错 以上的分析是基于 一1的假设,即环形DCR S单元中 PCs.In:Proc.of SigmetricS.June 2000 3 Kubiatowicz J.et a1.0ceanstore:An architecture for global—scale persistent storage.In:Proc.of ASPL0S.NOV.2000,ACM 4魏青松,卢显良,雷宇.FTDSS:高容错分布式共享存储机制.计 算机科学,2003,30(8):172~175 5 Drusche1 P.Rowstron A.Storage management and caching in PAST,a large—scale.persistent peerto—peer storage utility.In: Proc.of ACM S0SP(2001) 每个点对应的文件复本只有一个。当 >l时,根据公式计算 可知环形DCR S结构的容错性能仍然高于完全复制,且提高 的幅度比 =l时更大。由此可知,一组分散的文件在结成环 形DCR S单元后,若还想进一步提高单个文件和整体的容错 性能,只需为每个文件增加复本,就可以获得比占用同样存储 空间的完全复制方法更好的容错性能 6 B1omer J,Kalfane M,Karp R,Karpinski M.Luby M,Zuckerman D.An xor—based erasure—resilient coding scheme.Technica1 re— port.Int1.Computer Science Institute.Berkeley,California,1995 7 Weatherspoon H.Kubiatowicz J D.E C VS.Replication:A Quan— titative Comparison.IPTPS’02 213· 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sceh.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务