04 | The Google File System (二): 如何应对网络瓶颈?
GFS 的硬件配置
- 深入了解
- 翻译
- 解释
- 总结
GFS论文第二部分探讨了如何应对网络瓶颈,强调了系统设计需要考虑硬件性能。文章介绍了GFS的硬件配置和数据写入过程。GFS在面对网络瓶颈时采用了控制流和数据流的分离,以及流水线式的网络传输。硬件配置方面,GFS在2003年跑在双核1.45 GHz的奔腾3处理器、2GB内存、80GB的5400rpm机械硬盘和100 Mbps的全双工网卡的服务器上。文章详细描述了GFS的数据写入过程,包括客户端向GFS集群写数据的具体步骤,以及GFS如何解决数据写入过程中的一致性问题。总的来说,GFS通过硬件配置和数据写入过程的优化,有效应对了网络瓶颈,为读者提供了深入了解大数据系统性能优化的重要信息。 GFS在面对网络瓶颈时采用了控制流和数据流的分离,以及流水线式的网络传输。硬件配置方面,GFS在2003年跑在双核1.45 GHz的奔腾3处理器、2GB内存、80GB的5400rpm机械硬盘和100 Mbps的全双工网卡的服务器上。文章详细描述了GFS的数据写入过程,包括客户端向GFS集群写数据的具体步骤,以及GFS如何解决数据写入过程中的一致性问题。 GFS通过硬件配置和数据写入过程的优化,有效应对了网络瓶颈,为读者提供了深入了解大数据系统性能优化的重要信息。 GFS的流水线式的网络传输方式最大化地利用了服务器的带宽,并减少了交换机的带宽瓶颈。此外,GFS还设计了独特的Snapshot操作,通过控制流在chunkserver本地进行文件复制,避免了网络传输,进一步优化了网络传输性能。整体而言,GFS的设计充分考虑了硬件性能和网络瓶颈,为大数据系统性能优化提供了重要思路。
《大数据经典论文解读》,新⼈⾸单¥59
全部留言(31)
- 最新
- 精选
- 峰mysql利用b+出度打,层级底的特性,尽可能减少一次查询中随机io开销。 kafka利用磁盘顺序写入较随机写入快的特性,批量顺序写文件。 redis ignite 等内存数据库都基于内存性能远胜于磁盘等持久化外部存储,从而基于内存做存储系统。
作者回复: 👍
2021-09-2722 - webmin今天课程中关于网络优化的内容,基本是出自GFS论文中的3.2节Data Flow,我很好奇是因为老师有关于广告系统的开发经验,所以能从一个300个单词左右的小节中看出这么丰富的信息,还是老师有其它的分析框架或辨识方法?还望老师抽时间传授。 另加一个注解流水线(pipeline)式的网络传输是有效利用了网络是全双工的原理,即左手进右手出,左右各100Mb。
作者回复: 论文大部分都是很精简的,所以如果每段内容彻底弄清楚其实展开都有很多问题可以讲,而且GFS的核心瓶颈往往就在网络,所以我特地深入展开一下。 关于网络优化,更多是因为过去的经历和经验中遇到很多这方面的困扰吧。因为十年前是没有云计算平台可以用的,需要自己来建数据中心。跨地域的数据中心的网络传输也要想办法自己解决,所以的确会遇到各种应用开发遇不到,但是教科书和论文里遇到的问题。
2021-09-278 - Ping能再解释下“南北大,东西小”是什么意思吗?
作者回复: Ping同学, 你好,你看我在里面放的数据中心的网络架构图。按照上北下南,左西右东来理解方位。 在有大数据需求之前,一般我们的网络流量,都是互联网请求访问服务器,然后通过三层交换机到达某一台具体服务器,服务器给出结果,再通过三层交换机返回给外部。这里面的网络流量都是南北向的。 但是在大数据处理过程中,大部分数据传输都是最下面一层服务器之间互相传输,也就是东西向的。
2021-09-2728 - 陈迪思考一个问题,20年过去了,硬件环境已经哪些发生了根本性的变化?现代的分布式文件系统应该什么样的?
作者回复: 好问题,值得探讨。 从大数据系统来看,随着SSD的廉价,原先觉得SSD不适合作为Hadoop的存储层这一点在逐渐失效。SSD,机械硬盘,乃至磁带冷备随着数据越来越多,价格越来越便宜,成为各有应用场景的硬件了。 SSD的出现使得随机读的性能上了几个数量级,不过这个针对的更多是数据系统的Serving层。 不过网络瓶颈似乎变化不大。
2021-09-287 - 在路上徐老师好,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集群内的网速?希望能得到老师的指点。
作者回复: 我们先要弄清楚什么是网速?我们关注的是延时还是吞吐量? 在pipeline传输里,A节点传输数据到B,B转手给到C,C再给D,B和C都不需要等数据传输完再往下发。而是收多少立刻再发多少。 所以时间就是 B/T + R个节点之间的延时(A->B,B->C,C->D 一共三个延时)T。
2021-09-272 - leslieUDP替代TCP去实现网络的传输,传完了就好了;监控而已-丢失了再传即可;不过当时忽略了一个关键问题-windows并不适合去用很多适合在linux下的软件,导致了备份和恢复的灾难性隐患。
作者回复: Windows现在有了WSL2了,体验还是不错的。
2021-09-301 - Geek_2e6a7e阿里自研MaxCompute大规模集群计算有什么特别创新的地方么,这块有相关资料或者论文参考下么?
作者回复: 抱歉,我没有使用或者研究过MaxCompute。不过我相信市场上主流的大数据方案其实底层逻辑都是相同的。 我简单看了一下MaxCompute的介绍,我觉得MaxCompute更像一个“产品”而不是一种专门的“技术”,是对多种数据需求,包装成了一个整体的产品供云计算的用户使用。
2021-09-2821 - zhanyd适合自己的就是最好的,不一定要去追求什么高大上的技术,能够低成本满足需求的就是好方案。创新不一定是要创造出什么新东西, 把一些东西按适当的方式组合在一起也是创新。
作者回复: 👍
2021-09-281 - 核桃这里其实是隐藏了一个功能,就是GFS能识别到机架上的服务器拓扑结构的,不然分配的时候是无法感知到到底哪个节点是离客户端比较近的。另外一般分配数据节点的时候,有时候客户端并不一定在集群内发起的,而是在外部的。那么这时候分配的原则也是两个节点可能会近点,但是第三个会远离,甚至在不同机房中。2021-11-168
- Spoon零拷贝,利用DMA避免了两次内核态和用户态的切换。2022-09-08归属地:浙江2