有多少种技术能够在六十五年后依旧能够熠熠生辉,在IT的基础架构中扮演着重要角色?CLOS架构应该算是一项。Clos架构,诞生于1952年,是由由贝尔实验室一位叫Charles Clos的人提出的。CLOS交换架构可以做到严格的无阻塞(Non-blocking)、可重构(Re-arrangeable)、可扩展(Scalable),相比传统的CrossBar架构在突发流量处理、拥塞避免、递归扩展上均有巨大的提升。

由于近年来视频业务需求增加,压力较大,CLOS多级交换架构再次焕发活力,随着CLOS集群架构的普及,标准的x86服务器集群以低成本和高扩展性逐渐取代大型机和小型机而成为数据中心的主流。

以京东数据中心为例,下图就是一个典型的基于CLOS架构的数据中心解决方案,在这样的大规模网络中,如何让数据在传输过程中能以最快的速度从发送端到接收端,成为网络性能调优的关键因素。

从上面那张拓扑图中可以看到,同一数据中心需要经过5个Hop(从Rack ToR 到Row Spine,到Data Center Spine, 再到Row Spine,到Rack ToR),这需要消耗15微秒的延迟。1微秒比15微秒,在运行应用的过程中超过90%的时间消耗到了网络上,这种情形还不包括网络上有任何丢包导致的重传。

应该说网络影响应用性能的一个原因是,处理器的性能越来越高,应用到应用之间,点对点延迟越来越低。比如在高性能计算和AI应用中用到的MPI 协议,点对点传输的延迟可以小于1微秒(1us), 而现在多数交换机的单个Hop延迟超过了3微秒。

那么,如何减小网络对于应用性能的影响呢?

京东IT资源服务部负责人吕科说:"如何降低网络对于应用性能的影响是一个非常复杂的问题,也是所有的数据中心管理者一直在力求解决的问题。最好的方式就是我们的网络人员和应用人员一起来讨论应用对于网络的需求,我们专业的技术团队会针对需求,测试和选择最合适的网络产品和网络方案。"京东IT资源服务部硬件系统部门技术负责人王中平给出了以下五种解决方案:

1、采用高性能的交换机

如果交换机的性能能从3微秒降低到0.3微秒,这样的话,整个网络的延时会降低到原来的十分之一。

2、采用性能高而且稳定的交换机

有的交换机转发性能不稳定,在不同的包大小情况下,会有不同的转发性能,在小包的情况下可以有低的延迟,在大包的情况下延迟会大幅增加,导致网络性能不可预测。有的交换机转发性能可以不随着包大小的变化而波动,一直维持在低延迟的状态。

3、避免出现多对一通讯时的不公平现象

如果出现这种不公平现象,会导致网络转发速度不均,出现先到后得的现象。

4、建立快速的网络拥塞控制机制

在大型的网络中,拥塞是不可避免的,如何能有效的管理拥塞和降低拥塞带来的丢包和重传,是现在网络管理中非常重要的一个技术难点。

5、降速慢传数据策略优于丢包重传数据

在网络中,降速慢传和丢包重传是两种被用来解决拥塞的方式,实践证明,慢传比丢包重传更能有效的解决拥塞问题。

显然这种六十多年前的CLOS集群架构在今天再次焕发出生机。相较于Crossbar的部署规模有限,缺乏冗余的劣势,CLOS架构不但适合大规模部署,每个Session有冗余链路,而且任何输入都能找到没有在同时使用的线路,实现无阻塞架构。

CLOS架构是啥?的更多相关文章

  1. 什么是CLOS架构?

    Clos架构,诞生于1952年,是由一位叫Charles Clos的人提出的,所以它并不是一个新的概念. 这个架构主要描述了一种多级电路交换网络的结构.Clos最大的优点就是对Crossbar结构的改 ...

  2. 关于CLOS架构的举例 网络级 设备级 FATTREE网络 网络级CLOS 以及CLOS涉及的调度算法RR

    1.概述 CLOS来自于传统电路交换概念,这个概念年代太久远,在当前数据通信网络中,内涵有所变化.本文主要谈的是实际上赋予的与原来略微有所差异的内涵. CLOS架构本身概念比较宽泛,有设备级的CLOS ...

  3. 数据中心 CLOS 架构

    1.数据中心网络架构挑战 随着技术的发展,数据中心的规模越来越大,一个数据中心的服务器容量从几年前的几千台服务器发展到今天的几万甚至几十万台.为了降低网络建设和运维成本,数据中心网络的设计者们也竭力将 ...

  4. [转]漫谈数据中心CLOS网络架构

    http://djt.qq.com/article/view/238 1.数据中心网络架构挑战 随着技术的发展,数据中心的规模越来越大,一个数据中心的服务器容量从几年前的几千台服务器发展到今天的几万甚 ...

  5. 数据中心网络架构的问题与演进 — CLOS 网络与 Fat-Tree、Spine-Leaf 架构

    目录 文章目录 目录 前文列表 CLOS Networking Switch Fabric 胖树(Fat-Tree)型网络架构 Fat-Tree 拓扑示例 Fat-Tree 的缺陷 叶脊(Spine- ...

  6. [转]OpenContrail 体系架构文档

    OpenContrail 体系架构文档 英文原文:http://opencontrail.org/opencontrail-architecture-documentation/ 翻译者:@KkBLu ...

  7. 未来已来,腾讯AI计算网络

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 作者:由鹅厂网事发表在云+社区 "鹅厂网事"由深圳市腾讯计算机系统有限公司技术工程事业群网络平台部运营,我们希望与业界各位志同道合的伙伴交流 ...

  8. 7 家 IT 厂商 6394.5 万元中标天津公安云项目(虚拟化、数据库、软件开发)

    http://mp.weixin.qq.com/s/kjum54HJorGTPtZiM-HE1g 天津市公安局云计算平台项目分为:大数据部分.虚拟化部分.数据库部分,软件开发部分,预算分别为:2350 ...

  9. OpenContrail 体系

    OpenContrail 体系架构文档 1  概述1.1  使用案例1.2  OpenContrail控制器和vRouter1.3  虚拟网络1.4     Overlay Networking1.5 ...

随机推荐

  1. Python问题之“NameError: name 'reload' is not defined”

    出现这个错误的原因是你使用的Python版本已经不再使用了 在Python2.x中会用到reload来解决中文乱码问题 import sys reload(sys) sys.setdefaultenc ...

  2. [CodeVS4438]YJQ Runs Upstairs

    [CodeVS4438]YJQ Runs Upstairs 题目大意: 一个\(n(n\le50)\)个点\(m(m\le300)\)条边的DAG,保证从\(1\)到\(n\)的所有路径经过边数均小于 ...

  3. BZOJ4460 : [Jsoi2013]广告计划

    首先预处理出$f[i][j]$表示第$i$位是字符$j$的字符串集合. 考虑枚举答案$n$,那么模式串中模$n$相同的字符都要按顺序在同一行出现. 设$g[i][j]$表示第$i$列开始出现模$n$为 ...

  4. php中__call() 和 __callStatic方法的使用

    __call 与__callStatic 魔法方法是php5.3后新增的,二者的应用场景: 1.当要调用的方法不存在或权限不足时,会自动调用__call 方法. 2.当调用的静态方法不存在或权限不足时 ...

  5. What’s Brewing for .NET Developers

    Microsoft hosted its premier fall developer event – Connect(); // 2016 in New York on November 16-17 ...

  6. 枚举进程句柄File,Section,Mutant,Timer关闭Mutex句柄实现游戏多开

    原文:http://www.cnblogs.com/Y4ng/archive/2012/09/06/EnumProcessHandle_EnumMutex.html 相信做过游戏多开的朋友就会发现,很 ...

  7. python+requests接口自动化完整项目设计源码

    前言 有很多小伙伴吵着要完整的项目源码,完整的项目属于公司内部的代码,这个是没法分享的,违反职业道德了,就算别人分享了,也只适用于本公司内部的业务. 所以用例的代码还是得自己去一个个写,我只能分享项目 ...

  8. MySQL架构与业务总结图

    MySQL架构与业务总结图如下:

  9. useradd 命令的常见用法

    在Linux系统中 useradd 是个很基本的命令,但是使用起来却很不直观.以至于在 Ubuntu 中居然添加了一个 adduser 命令来简化添加用户的操作.本文主要描述笔者在学习使用 usera ...

  10. CSS 布局整理

    1.css垂直水平居中 效果: HTML代码: <div id="container"> <div id="center-div">&l ...