新架构让数据中心犹如PC

摘要:随着VL2网络拓扑结构带来了对等带宽,大量数据可以存放在远方的数据中心,访问起来却犹如它们就在本地,这将对数据中心的架构产生重大影响。Todd Hoff参加了Hot Interconnects大会,对微软VL2架构做了详细解读。CSDN摘译如下:

【CSDN编译】已经有越来越多人的达成共识,对于整个世界而言Google的数据中心就是一台计算机。计算机的所有硬件资源(CPU、内存、存储)都是可替代的,身处两地的硬件也是可以互相替换的,计算机不再有明确的所有人,它已经进化成服务的一部分。

FDS架构FDS架构

Google是怎么做到的呢?正是采用了已经被验证过的系统架构和技术 ,帮助数据中心带来了深不可测的性能提升。MapReduc就是其中最著名的技术,被广泛应用于存储节点。

此外,采用了全新的网络拓扑,并使用全新的软件架构,这样你就可以将数据自由的存储在任何你希望它在的地方。数据中心俨然变成了计算机。

在服务器端,每个节点拥有8个PCI-E 3.0接口,提供高达每秒8GB的双向带宽,我们有足够的I/O来延续摩尔定律,饥饿的CPU野蛮的吞噬着数据包。未来,SoC将集成网络接口,提供更快的速度。

接下来的挑战是让网络如何工作。今年5月,微软利用分布式系统FDS创造了新的MinuteSort世界纪录(速度比采用Hadoop架构的Yahoo快了三倍,所用硬件资源只有后者1/6。),它展示了如何提供对等带宽(bisectional bandwidth)的方法,让每台计算机之间都能全速传输数据,这让数据存储在遥远的地方变得可能,数据不需要必须存储在当地的数据中心中。

建立一个负担得起的对等网络是需要绞尽脑汁选择方法的。基本的原则包括改变协议,更换路由器,或者更换主机托管商。微软给出的答案是更换托管商,并增加了集中控制层。 

微软在VL2中详细说明了这一改变,VL2是一套可扩展并十分灵活的网络架构:

一个可用的网络架构可以通过扩展支持巨大的数据中心,并保证统一的高容量带宽,各个服务器拥有独立的带宽。VL2使用:(1)扁平寻址,这可以允许服务实 例被放置到网络覆盖的任何地方,(2)负载均衡将流量统一的分配到网络路径,(3)终端系统的地址解析拓展到巨大的服务器池,并不需要将网路复杂度传递给 网络控制平台。

VL2的核心思想是使用CLOS拓扑结构建立扁平的第二层网络。这样做的好处是,虚拟机在数据中心内任意移动,都永远不用改变IP地址。关于网络第二层ARP广播问题,通过改变ARP,并集中注册服务来解决。将不再产生广播风暴。

这种方法看上去很奇怪,不过我参加了Hot Interconnects大会,关于VL2的整个方案充满智慧。方案的成果显而易见,成本低、高带宽以及更低的东西部间的延迟,这一切都基于先进的软件架构。不过它不支持任意路由vSwitch的方法这一特性,这意味着你不能采用未来可能出现的效率更高的拓扑结构。

微软已建立FDS基准代码,并在其基础上发布了Blob Storage系统:

值得一提的是,在我们的系统中没有计算节点使用本地存储的数据,我们相信FDS系统极具竞争力。总过1470GB数据全部存放在远程,在一分钟内总共传输了4.4TB数据。

FDS总是在网络上发送数据。FDS采取两种方式减少数据传输成本。首先,我们给每个存储节点开通的网络带宽与其存储带宽匹配。SAS磁盘的读取性能达到120MB/s,或约1Gb/s,所以在FDS集群存储节点总是至少提供1Gb的网络带宽。第二,我们在存储节点与计算节点间使用了对等带宽网络, 即CLOS拓扑结构,在Monsoon项目中采用了这一架构。这两种方式将在远程的CPU和磁盘间融合建立互补干扰的通道,使系统的总I/O带宽基本上等 同于使用本地存储系统,如MapReduce。FDS其性质允许任何计算节点访问任何数据,并具有同等的吞吐量。

作为分布式文件系统FDS已经成为数据中心核心的架构组件。

通过10/100 Gbps网络和VL2以及FDS技术,我们取得了不错的进展,数据中心资源池内的CPU、内存、存储均做到可替换。但网络仍然是不可替代的,尽管我并不确认这意味着什么。 SDN将帮助网络成为第一级对象,但是由于性能的原因,网络永远不能真正的与拓扑结构脱离。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/450361.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mongodb分片概念和原理-实战分片集群

一、分片分片是一种跨多台机器分发数据的方法。MongoDB使用分片来支持具有非常大的数据集和高吞吐量操作的部署。问题:具有大型数据集或高吞吐量应用程序的数据库系统可能会挑战单个服务器的容量。例如,高查询率会耗尽服务器的CPU容量。工作集大小大于系…

加入初创企业需要想清楚的几个问题

摘要:加入一家初创企业是一段充满冒险的旅程。沿途不会都是美景,更别忘了最初的梦想。 去初创公司面试,你一般会纠结于被问到什么问题。但更重要的是问自己:你下定决心在接下来的5年中“从头再来”吗?你能接受这份薪资…

地图市场三足鼎立:诺基亚官方确认与亚马逊合作

摘要:诺基亚确认为亚马逊新推出的平板提供地图服务,至此地图市场“三家分晋”的格局已趋明朗。 路透社之前曾报道称亚马逊在新版Kindle中将使用诺基亚提供的地图服务。但直到今日,这则消息才得到双方的确认。诺基亚方面确认将为亚马逊提供地图…

关于明晚即将发布的新款 iPad Pro,最大的亮点也许不是 Face ID

北京时间 10 月 30 日晚间 10 点,苹果将会在美国纽约的布鲁克林音乐学院举行新品发布会。考虑到此前苹果已经在 9 月的发布会上宣布了 Apple Watch Series 4 和 iPhone XS/Max、iPhone XR 等新品,因此苹果此次的纽约发布会,大家的目光更多地投…

11. Container With Most Water

题意 给定n个非负整数\(a_1,a_2,...,a_n\),其中每个数表示坐标点\((i,a_i)\),i是数组下标,\(a_i\)是对应高度.寻找两条线,使得两条线构成的长方形面积最大,盛水最多. Example: Input: [1,8,6,2,5,4,8,3,7] Output: 49 解 暴力破解 对每种情况进行循环,计算对应的面积,同时保存最…

先思再行 闭着眼睛编程

摘要:解决问题最重要的习惯不是一直盯着屏幕和编写修改代码,某些时候,阻止你成功的东西恰恰会是过于努力。这时候你需要暂停一下,平缓你的思绪,换一种方法或许能带给你不一样的效果。你会花多少时间思考如何编写代码&a…

javaScript复习

ES6字符串方法: //console.log(String.prototype);var str "abcdefabc";//console.log(str.includes("a"));//结果true//console.log(str.includes("abf"));//结果false//console.log(str.startsWith("d"));//false//cons…

STS的安装教程-鹏鹏

STS全称Spring Tools Suite。 简介:Spring Tools Suite (STS)其实就是一个被包装过的Eclipse,主要用于快速的开发Spring项目,我们不用再去编辑繁琐的xml配置文件,而是由工具自动生成。STS有两种安装方式,一种是直接在E…

linux逻辑卷管理

2019独角兽企业重金招聘Python工程师标准>>> 摘要: Linux用户安装Linux操作系统时遇到的一个最常见的难以决定的问题就是如何正确地给评估各分区大小,以分配合适的硬盘空间。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符…

github 如何设置项目的语言显示

github 会根据一个项目文件最多的那个种类的文件显示为对应的语言项目 如果想让整个项目显示为 HTML 项目, 需要进行以下步骤的设置 1.在根目录下创建一个文件 .gitattributescreate .gitattributes2.在 .gitattributes 内编辑以下内容: *.js linguist-languageHTML…

postman界面变成了左右结构怎么办

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 在左上角 file -- settongs中设置一下:

1.springboot:入门程序

一、Spring Boot 简介 官网英文: Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”. We take an opinionated view of the Spring platform and third-party libraries so you can get st…

javax.ws.rs.NotSupportedException: Cannot consume content type

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 报错如题:javax.ws.rs.NotSupportedException: Cannot consume content type 解决:使用postman发送 post 请求访…

kotlin使用spring data jpa(一)

2019独角兽企业重金招聘Python工程师标准>>> 简单查询 spring data jpa是spring全家桶成员之一,用于操作各种数据库,下面写一个查询订单的简单示例 引入sqlserver驱动包及jpa所需包implementation(org.springframework.boot:spring-boot-star…

csvn(apache+svn)管理工具搭建

系统环境:centos7.4一、服务端下载这个文件并解压(如果打不开,请下方留言)https://pan.baidu.com/s/1miwdBc81、安装jdk,上传到服务器上,解压[rootslave2 opt]# tar -zxvf jdk-8u91-linux-x64.gz[rootslave2 opt]# vim…

编程复杂性等级划分

摘要:相信开发人员一定对初级、中级、高级软件工程师这类词汇很熟悉吧!你们是否对编程进行过等级划分?这个又是如何划分的呢?本文作者把编程复杂性从简到难化成27个等级,你同意这样的划分吗?通常来说&#…

东方程序员怎么看西方程序员

摘要:东方程序员与西方程序员,彼此心中是什么样子呢?本文收集了东西方程序员对彼此的看法与各种印象,对于西方/东方程序员,你留有什么印象呢? 本文是作者根据StackExchange上的一个讨论贴:东方程…

Android开发 - 掌握ConstraintLayout(一)传统布局的问题

在传统的Android开发中,页面布局占用了我们很多的开发时间,而且面对复杂页面的时候,传统的一些布局会显得非常复杂,每种布局都有特定的应用场景,我们通常需要各种布局结合起来使用来实现复杂的页面。随着ConstraintLay…

IDEA项目找不到浏览器报错的情况

调tomcat的时候,它会调用浏览器,浏览器关联如果有问题,肯定是会报错的 要是测试的时候,就是浏览器的问题,重新把浏览器装一遍让他自己重新关联一下应该就行了转载于:https://www.cnblogs.com/Koma-vv/p/10156478.html

CSS中的px与物理像素、逻辑像素、1px边框问题

一直不太清楚CSS中的1px与逻辑像素、物理像素是个什么关系(作为一名前端感觉很惭愧 -_-!),今天终于花时间彻底弄清楚了,其实弄清楚之后就觉得事情很简单,但也只有在弄清楚之后,才会觉得简单&…