`
sjk2013
  • 浏览: 2191736 次
文章分类
社区版块
存档分类
最新评论

Google File System II: Dawn of the Multiplying Master Nodes

 
阅读更多

谷歌定制的文件系统迫于前所未有的压力,因此谷歌酝酿着一个替代产品。

很明显,作为早些时候宣布的“caffeine”架构的一部分,GFS的全面修改正处于测试阶段。

在ACM的一次访谈中,Google的Sean Quinlan说,GFS诞生近10年来已经做了许多超出其预期的工作。

“考虑到Google的操作的数量级已经远远超过其设计能力,它的持久力是极为突出的。尽管谷歌目前支持的应用程序组合不是在90年代末期所能想象的到的。”Quinlan说道。Quinlan是曾任职GFS的技术leader两年,目前是Google的首席工程师。

然而GFS可以更好的支持一部分应用。GFS设计用于处理诸如web抓取和索引等批量作业,因此并不适用于Gmail和YouTube等需要与用户实时交互数据的应用。

“高带宽比低延迟更加重要”,GFS论文中提到。“大多数目标应用是以较高速率处理大量数据,极少有对单个读写操作的严格的响应时间需求。”但是这种情况在过去10年中发生了变化,退一步说,虽然Google一直致力于其面向公众的应用程序以使GFS的缺点最小化,但是Quinlan 和公司正重新研发一种新的文件系统。

GFS中,一个主节点(master node)监督数据在一系列分布式chunkservers之间的传播。Chunkservers中存储着数据块,每块64MB。

问题是(至少是对于要求低延迟的应用)只有一个主节点。Quinlan指出,“GFS的一个缺点与其原始设计有关,单个点的故障对于批量处理的应用来说未必造成严重后果,但是对于对延迟要求较高的应用(如视频服务)是不可接受的。”

最开始,GFS甚至没有针对主节点崩溃的故障恢复机制。必须收工恢复主节点,以致服务中断达一个小时。后来添加了自动故障恢复机制,仍存在明显的服务中断。据Quinlan所说,中断开始时有几分钟,目前已降到大约10秒钟。

这仍然很高。

“尽管这几个实例(必须提供故障恢复和错误恢复)对于批处理情况是可接受的,但是从面向用户的应用的延迟的角度来看确实不可接受的。”

甚至系统正常运行,仍存在延迟。“在设计时,有些地方为了提高吞吐量,我们把成千上万的操作加入队列中并处理它们。这样有较高的吞吐量,却牺牲了延迟。经常会遇到等待几秒钟才执行作业的情况。”

GFS与MapReduce(Google的分布式数据分析平台)吻合很好。但是看来Google已经直接跳到BigTable(Google的实时分布式数据库)了。目前,BigTable处理大多数负载。

“我们的用户基础正从基于MapReduce的世界向基于BigTable的交互世界迁移。Gmail就是一个明显的例子。就GFS而言,视频应用倒是显得没那么严重,因为视频使用流数据,这意味着可以缓存。尽管如此,试图在一个设计用于批处理环境的文件系统的基础上建立一个交互式的数据库总是不合时宜的。”

另一个问题是,单个主节点只能处理有限数量的文件。主节点中存储着chunkservers中文件的元数据,其上限是主节点的存储大小。换句话说,一个主节点可容纳的文件数是有限的。

Google在其新的文件系统GFS II中解决了这两个问题。Quinlin和他的团队正在研发一个不仅拥有分布式从节点(slaves),而且拥有分布式主节点的系统。它的从节点可以存储更小的文件。块从64MB减小到1MB。

这主要考虑了单点故障,但在某种程度上也解决了文件数量问题。更多的主节点不仅意味着提供了冗余,同时还可以存储更多的元数据。Quinlan提到:“分布式主节点允许你增加文件数量,这与机器数量一致。

Quinlan提出,文件缩小至1MB让我们可以适应未来10年的变化。“我的直觉是平均1MB的文件大小要比平均64MB文件大小适用于更多的情况。理论上讲,你可能会想到一个拥有更小文件大小的设计方案,但是1MB在我们的环境中貌似一个不错的折中选择。”

为什么Google一开始不把GFS设计成分布式主节点呢?Quinlan认为这并不是疏忽。

Quinlan说:“单主节点方案是最初决定中的一个,主要是为了简化整体设计。也就是说,从一开始就研发一种拥有分布式主节点的文件系统是非常困难的且研发周期将非常长。”

“同时,单主节点方案对工程师们来说可以简化许多问题。集中控制同步(replication)和垃圾回收,许多其他活动也更加简单。”

因此,Google短期内研发了GFS。10年过去了,GFS的升级不可避免。

Quinlan说,“毫无疑问,GFS当前面临许多挑战。Google的工程师们在过去的两年中致力于研发一种基于BigTable的分布式主节点系统,以解决GFS所面临的棘手问题。

除了Google帝国(the Google empire)之外,GFS、MapReduce和BigTable还导致了开源项目Hadoop的诞生。Hadoop以应用于Yahoo!,Facebook和Microsoft Bing等众多项目中。

Quinlan相信,GFS II将超越GFS。“现在看来,尽管GFS在不停地调整以适应新的需求,但是GFS II将在未来几年中迅速发展。”


原文地址:Google File System II

分享到:
评论

相关推荐

    The Art of Assembly Language Programming

    Some Final Comments on the MOV Instructions <br>4.9 Laboratory Exercises 4.9.1 The UCR Standard Library for 80x86 Assembly Language Programmers 4.9.2 Editing Your Source Files 4.9.3 The ...

    The Scientist and Engineer's Guide to Digital Signal Processing

    Chapter 1 - The Breadth and Depth of DSP The Roots of DSP Telecommunications Audio Processing Echo Location Image Processing Chapter 2 - Statistics, Probability and Noise Signal and Graph Terminology ...

    pipelined_adc_model_testscript.m

    One of the major components in the pipeline ADC has traditionally been the Multiplying Digital to Analog Converter (MDAC). This unit preforms the subtraction, DAC, and residue multiplication of a ...

    10bitADC_lifule.m

    One of the major components in the pipeline ADC has traditionally been the Multiplying Digital to Analog Converter (MDAC). This unit preforms the subtraction, DAC, and residue multiplication of a ...

    一天掌握DFT,绝对好文.pdf

    unconventional approach.The important part: you will learn the basics of the Fourier transform completely without any maths that goes beyond adding and multiplying numbers! I will try to explain the ...

    EurekaLog_7.5.0.0_Enterprise

    8)....Fixed: Removed some unnecessary file system access on startup 9)....Fixed: Possible wrong font size in EurekaLog tools 10)..Fixed: Ignore timeouts from Shell_NotifyIcon 11)..Fixed: Possible ...

    XnView_v2.45yixueyingxiang

    - for each color channel (red/green/blue) the matrix is evaluted by multiplying the channel value by the given number, then the result is divided by the Divisor & incremented by Bias, - You can use ...

    人脸识别程序

    % Returns: OutputName - Name of the recognized image in the training database. % % See also: RESHAPE, STRCAT % Original version by Amir Hossein Omidvarnia, October 2007 % Email: aomidvar@ece.ut.ac.ir...

    C++简单练习.cpp

    Provide member function calculateMonthlyInterest that calculates the monthly interest by multiplying the balance by annualInterestRate divided by 12; this interest should be added to savingsBalance. ...

    C8051f35x系列单片机示例程序

    // can be obtained by multiplying Sigma by 6, evaluating the number of // bits required to contain the result, and subtracting this number of // bits from the 24 available bits, as follows: // // 10 ...

    矩阵乘法(Multiplying Matrices)

    输入两个m*n 和n*k的矩阵,计算结果

    poj 2206 Magic Multiplying Machine.md

    poj 2206 Magic Multiplying Machine.md

    Computing and Combinatorics

    Independent Lower Bounds on the Communication Complexity of Read-Once Boolean Formulas.- Approximation Algorithms.- Multiplying Pessimistic Estimators: Deterministic Approximation of Max TSP and ...

    Matlab Tutorial - 38 - Multiplying Matrices.zip

    Matlab Tutorial - 38 - Multiplying Matrices

    量子计算 快速傅里叶算法笔记

    So the problem we need to solve is that of multiplying polynomials fast. Doing it the regular convolution way takes quadratic time -O(n2). This is OK for small n but won't do for large n. So what do ...

    Magnetoelectric effect and frequency multiplying behavior of layered composites in large ac magnetic fields

    层状结构在大交流磁场下的磁电响应及倍频行为,牛龙飞,姚宏,磁电倍频现象可以广泛应用于磁电倍频器等领域,这种现象对结构和外加磁场都有着重要的依赖。本文利用实验手段探究了磁电层合结构

    Multiplying Number Game using JavaScript with Source Code.zip

    Multiplying Number Game using JavaScript with Source Code

    Construction Mathematics

    8.4 The law of the straight line 65 8.4.1 The gradient (m)66 8.4.2 The intercept (c)67 9 Units and their conversion 72 9.1 Introduction 72 9.2 Length 73 9.2.1 Conversion factors 73 9.2.2 Use of the ...

    FFT.rar_The Signal_sinusoids

    The Fourier transform breaks a signal into different frequency bins by multiplying the signal with a series of sinusoids

    考博英语作文范文185篇

    Obviously, the earliest teachers we have in our lives in most cases are our parents, and they are generally the most involved in the development and education of their children. Yet neither are all ...

Global site tag (gtag.js) - Google Analytics