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 ...
随机推荐
- mongodb操作符
1."$gt" ."$gte". "$lt". "$lte"."null查询"."$all ...
- 20172302 《Java软件结构与数据结构》第四周学习总结
2018年学习总结博客总目录:第一周 第二周 第三周 第四周 教材学习内容总结 第六章 列表 1.列表是对象的有序集合,在 List 界面中定义. List 接口表示集合框架中的列表.列表可以具有重复 ...
- jdk 10.0.2 bug修复
之前记录过jdk9+版本的1个bug,某些情况下会导致方法执行二遍,今天早上打开笔记本(mac),弹出一个框提示jdk升级10.0.2,顺手点了一下,然后验证了下该bug,发现居然fix掉了,推荐大家 ...
- 10款免费开源PHP框架
NO.1 Laravel - 巨匠级PHP开发框架 现在最流行的一款PHP框架,功能强大,学习和使用也非常简单方便,即使你是PHP新手,也不用担心入门问题. NO.2 Phalcon - 最快的PHP ...
- 解决springboot druid 数据库批量更新错误问题
原文:https://www.2cto.com/kf/201712/706399.html springboot druid 数据库多SQL错误multi-statement not allow Ca ...
- python测试开发django-45.xadmin添加小组件报错解决
前言 xadmin首页上有个添加小组件按钮,打开的时候会报错"render() got an unexpected keyword argument 'renderer'" 环境: ...
- SpringMVC拦截器详解
拦截器是每个Web框架必备的功能,也是个老生常谈的主题了. 本文将分析SpringMVC的拦截器功能是如何设计的,让读者了解该功能设计的原理. 重要接口及类介绍 1. HandlerExecution ...
- 使用JDBC在MySQL数据库中快速批量插入数据
使用JDBC连接MySQL数据库进行数据插入的时候,特别是大批量数据连续插入(10W+),如何提高效率呢? 在JDBC编程接口中Statement 有两个方法特别值得注意: void addBatch ...
- hive列转行
一.问题 hive如何将 a b a b a b c d c d c d 变为: a b ,, c d ,, 二.数据 test.txt cat column_row.txt a,b, a,b, a, ...
- 修改oracle为归档模式
1.查看是否为归档模式 SQL> archive log list; Database log mode No Archive Mode Automatic archival Disabled ...