CLOS架构是啥?
有多少种技术能够在六十五年后依旧能够熠熠生辉,在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架构是啥?的更多相关文章
- 什么是CLOS架构?
Clos架构,诞生于1952年,是由一位叫Charles Clos的人提出的,所以它并不是一个新的概念. 这个架构主要描述了一种多级电路交换网络的结构.Clos最大的优点就是对Crossbar结构的改 ...
- 关于CLOS架构的举例 网络级 设备级 FATTREE网络 网络级CLOS 以及CLOS涉及的调度算法RR
1.概述 CLOS来自于传统电路交换概念,这个概念年代太久远,在当前数据通信网络中,内涵有所变化.本文主要谈的是实际上赋予的与原来略微有所差异的内涵. CLOS架构本身概念比较宽泛,有设备级的CLOS ...
- 数据中心 CLOS 架构
1.数据中心网络架构挑战 随着技术的发展,数据中心的规模越来越大,一个数据中心的服务器容量从几年前的几千台服务器发展到今天的几万甚至几十万台.为了降低网络建设和运维成本,数据中心网络的设计者们也竭力将 ...
- [转]漫谈数据中心CLOS网络架构
http://djt.qq.com/article/view/238 1.数据中心网络架构挑战 随着技术的发展,数据中心的规模越来越大,一个数据中心的服务器容量从几年前的几千台服务器发展到今天的几万甚 ...
- 数据中心网络架构的问题与演进 — CLOS 网络与 Fat-Tree、Spine-Leaf 架构
目录 文章目录 目录 前文列表 CLOS Networking Switch Fabric 胖树(Fat-Tree)型网络架构 Fat-Tree 拓扑示例 Fat-Tree 的缺陷 叶脊(Spine- ...
- [转]OpenContrail 体系架构文档
OpenContrail 体系架构文档 英文原文:http://opencontrail.org/opencontrail-architecture-documentation/ 翻译者:@KkBLu ...
- 未来已来,腾讯AI计算网络
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 作者:由鹅厂网事发表在云+社区 "鹅厂网事"由深圳市腾讯计算机系统有限公司技术工程事业群网络平台部运营,我们希望与业界各位志同道合的伙伴交流 ...
- 7 家 IT 厂商 6394.5 万元中标天津公安云项目(虚拟化、数据库、软件开发)
http://mp.weixin.qq.com/s/kjum54HJorGTPtZiM-HE1g 天津市公安局云计算平台项目分为:大数据部分.虚拟化部分.数据库部分,软件开发部分,预算分别为:2350 ...
- OpenContrail 体系
OpenContrail 体系架构文档 1 概述1.1 使用案例1.2 OpenContrail控制器和vRouter1.3 虚拟网络1.4 Overlay Networking1.5 ...
随机推荐
- Css实现元素的垂直居中
前言: 在写CSS的时候让元素在高度固定的容器中垂直居中是很简单的,譬如设置容器的padding或者元素的margin之类的都可以做到:让元素在容器中水平居中也有text-align:center.m ...
- python处理转义字符
python2 #1. import HTMLParser HTMLParser.HTMLParser().unescape('Suzy & John') #2. from xml.sax.s ...
- 修改button的可点击区域
需求:在cocos2dx引擎中,button的点击区域和button图片的大小是一样的,但是我需要修改可点击区域的大小和位置,需要修改引擎源码: button提供的接口中并没有和touch相关,but ...
- unity中HideFlags的利用
HideFlags主要用于控制物体在hierarchy,Inspector视图的显示销毁等的bit mask~ None:默认情况,正常可见对象~ API: HideInHierarchy:在Hier ...
- ios多target开发
链接: ios开发时,在Xcode中添加多个targets进行版本控制 如何在iOS项目中创建多个target 多个Target的使用 iOS开发中如何创建多个target
- 20个有用的linux命令行技巧
20 Unix Command Line Tricks – Part I http://www.cyberciti.biz/open-source/command-line-hacks/20-unix ...
- (总结)Ubuntu apt-get apt-cache命令 使用
http://rsljdkt.iteye.com/blog/1142463 apt-cache search wubipinyin apt-get命令本身并不具有管理软件包功能,只是提供了一个软件包管 ...
- Unity3D光照前置知识——Rendering Paths(渲染路径)及LightMode(光照模式)译解
简述 Unity supports different Rendering Paths. You should choose which one you use depending on your g ...
- cordova 开发笔记
1.安装 Node.js Cordova需要Node.js环境,访问https://nodejs.org 下载安装, LTS版本即可,不要最新版. 2.安装 Cordova 执行下述命令把Cordov ...
- 浅谈压缩感知(二十三):压缩感知重构算法之压缩采样匹配追踪(CoSaMP)
主要内容: CoSaMP的算法流程 CoSaMP的MATLAB实现 一维信号的实验与结果 测量数M与重构成功概率关系的实验与结果 一.CoSaMP的算法流程 压缩采样匹配追踪(CompressiveS ...