大数据经典论文解读
徐文浩
bothub创始人
新⼈⾸单¥59
1546 人已学习
课程目录
已更新 6 讲 / 共 36 讲
0/4登录后,你可以任选4讲全文学习。
课前导读 (3讲)
开篇词 | 读论文是成为优秀工程师的成年礼
免费
01 | 什么是大数据:从GFS到Dataflow,12年大数据生态演化图
02 | 学习方法:建立你的大数据知识网络
基础知识篇:Google的三驾马车 (3讲)
03 | The Google File System (一): Master的三个身份
04 | The Google File System (二): 如何应对网络瓶颈?
05 | The Google File System (三): 多写几次也没关系
大数据经典论文解读
15
15
1.0x
00:00/00:00
登录|注册

04 | The Google File System (二): 如何应对网络瓶颈?

你好,我是徐文浩。今天这一讲,我们接着来学习 GFS 论文中第二个重要的设计决策,也就是根据实际的硬件情况来进行系统设计。
大数据系统本就是为“性能”而生的,因为单台服务器已经满足不了我们的性能需要。所以我们需要通过搭建成百上千台服务器,组成一个大数据集群。然而,上千台服务器的集群一样有来自各种硬件性能的限制。
在单台服务器下,我们的硬件瓶颈常常是硬盘。而到了一个分布式集群里,我们又有了一个新的瓶颈,那就是网络
那么在这一讲里,我们就来看看网络层面的硬件瓶颈,是如何影响了 GFS 的设计的。在学完这一讲之后,希望你能够理解,任何一个系统设计,都需要考虑硬件性能。并且学会在对自己的设计进行评估的时候,能够寻找到系统的硬件瓶颈在哪里。

GFS 的硬件配置

不知道你有没有想过,2003 年的 GFS 是跑在什么样的硬件服务器上的呢?论文的第 6 部分还真的透露了一些信息给我们。Google 拿来做微基准测试(Micro-Benchmark)的服务器集群的配置是这样的:
19 台服务器、1 台 master、2 台 master 的只读副本、16 台 chunkserver,以及另外 16 台 GFS 的客户端;
所有服务器的硬件配置完全相同,都是双核 1.45 GHz 的奔腾 3 处理器 + 2GB 内存 + 两块 80GB 的 5400rpm 的机械硬盘 + 100 Mbps 的全双工网卡。
然后把所有的 19 台 GFS 集群的机器放在一台交换机上,所有的 16 台 GFS 的客户端放在另外一台交换机上,两台交换机之间通过带宽是 1Gbps 的网线连接起来。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
该试读文章来自付费专栏《大数据经典论文解读》,如需阅读全部文章,
请订阅文章所属专栏新⼈⾸单¥59
立即订阅
登录 后留言

精选留言(8)

  • mysql利用b+出度打,层级底的特性,尽可能减少一次查询中随机io开销。
    kafka利用磁盘顺序写入较随机写入快的特性,批量顺序写文件。
    redis ignite 等内存数据库都基于内存性能远胜于磁盘等持久化外部存储,从而基于内存做存储系统。
    2021-09-27
    6
  • webmin
    今天课程中关于网络优化的内容,基本是出自GFS论文中的3.2节Data Flow,我很好奇是因为老师有关于广告系统的开发经验,所以能从一个300个单词左右的小节中看出这么丰富的信息,还是老师有其它的分析框架或辨识方法?还望老师抽时间传授。

    另加一个注解流水线(pipeline)式的网络传输是有效利用了网络是全双工的原理,即左手进右手出,左右各100Mb。
    2021-09-27
    1
  • Geek_2e6a7e
    阿里自研MaxCompute大规模集群计算有什么特别创新的地方么,这块有相关资料或者论文参考下么?
    2021-09-28
  • zhanyd
    适合自己的就是最好的,不一定要去追求什么高大上的技术,能够低成本满足需求的就是好方案。创新不一定是要创造出什么新东西, 把一些东西按适当的方式组合在一起也是创新。
    2021-09-28
  • 陈迪
    思考一个问题,20年过去了,硬件环境已经哪些发生了根本性的变化?现代的分布式文件系统应该什么样的?
    2021-09-28
  • 在路上
    徐老师好,GFS论文3.2 Data Flow中提到“Without networkcongestion, the ideal elapsed time for transferring B bytes to R replicas is B/T + RL where T is the network throughput and L is latency to transfer bytes between two machines. Our network links are typically 100 Mbps (T), and L is far below 1 ms. Therefore, 1 MB can ideally be distributed in about 80 ms.”

    我不明白的是RL部分的计算,为什么L<1ms,L的大小和要传输的数据大小无关吗?为什么不是B/T1 + R*B/T2,T1表示客户端到GFS的网速,T2表示GFS集群内的网速?希望能得到老师的指点。
    2021-09-27
  • 在路上
    徐老师好,分布式系统的提出就是因为单机硬件资源受限,需要将计算和存储任务交给多台计算机协同完成,传统的网络拓扑结构让网络资源不能像cpu、memory和disk一样分片,所以网络往往成为分布式系统的瓶颈。在多级分流系统中,常常分层处理网络流量,减少流量向深层节点传播。比如设计秒杀系统时,可以在第一层随机让一部分请求失败,防止流量把下游的系统打垮。在人脸识别系统中,可以利用边缘节点检查基本特征,做到快速失败。在大数据系统中,采用计算向数据靠拢的原则,减少流量在集群中传输。硬盘在写入数据时为了提高性能,会先把数据写入页缓存,再批量持久化。如果为了保证数据不丢失,让数据立即持久化,会降低写入性能,更好的做法是提供多个写入节点,用更多的服务器来避免故障。
    2021-09-27
  • Ping
    能再解释下“南北大,东西小”是什么意思吗?
    2021-09-27
收起评论
8
返回
顶部