自古就不乏还没有開始就结束的那种精彩。我称之为殉道者。
InfiniBand就是当中之中的一个。尽管它有陨落之势,我依旧要为它鼓掌。

假设说以太网旨在将主机联系在一起,那么InfiniBand的初衷就是将其肢解,这样的基因的不同,注定它们将展开一场大战。当然这是后话。

server强大了,可是PCI总线太慢了。且其并行化设计根本不适合快速环境,正确的做法是串行化,同一时候提高时钟频率,由于并行化根本就经不起时钟频率的提高,会撞车的。InfiniBand旨在将总线拉到机箱外部。提供一条快速的串行传输通路,它之所以能够成功,是由于它将端到端的复杂性分离了出来。不再由总线本身来决定。这个思路是对的。正如以太网从CSMA/CD的广播网络到交换式以太网的演进是一样的。
       控制逻辑从链路本身迁移到了链路的两端。于是hub出来了。对于没有控制器的hub来讲,正如当中文名字所说。它就是一个集线器。然后桥的概念随后引出,以太网网桥后来就成了交换机,到此为止,InfiniBand也在走一致的路线,它或许领悟到了并行传输与高频时钟不能兼得。于是採用高频时钟加串行的方式,且正如交换以太网一样,由总线拓扑改为了点对点拓扑,採用消息路由的方式。这真的就跟以太帧一样。

假设InfiniBand朝着这个路继续走下去,不光代替了PCI。PCI-X,并且还非常可能和以太网一决高下,以太网自出世就没有败过,都是靠成本KO对手,尽管这方面InfiniBand差一点,但它有足够的时间改进。

起初以太网不也走过昂贵的同轴时代吗?
       InfiniBand和以太网的架构真的太像了,然而有一点不同,那就是InfiniBand是扁平的。而以太网是网络协议栈的一部分,它能够和IP进行接口,这也是其本职。而InfiniBand也是忠于自己的本职,它仅仅是想把外设拉到机箱外。形成一个快速的可随意扩展的server总线新架构。你要想提高总线带宽或者添加一个新设备。非常easy,仅仅须要加一根线缆就可以!

这可成了InfiniBand的杀手锏。由于它能够在机箱外部。这样的物理分离使得InfiniBand交换机成了一个独立的设备,而不再像PCI控制器那样属于主板。总之,一切都非常完美。
       事情到这里,再往下说就有点心酸了...
       成本问题,加上互联网泡沫破灭导致的投资锐减。InfiniBand本身的问题让其非常多拥护者甚至发起人纷纷离开,父母和爱人都离开了,InfiniBand显得身单力薄...然而这不是它的结局。此时PCI-Express,即PCIE出现了,差点儿就是InfiniBand的翻版,其主要发力点依旧是机箱内部,当然也能够有延展到箱外的传输介质标准。这让InfiniBand全然成了一个殉道者。

就像基督之于基督教一样。

后来直到现在,InfiniBand的思想被非常多新技术吸取了。比方使用TCP/IP来进行远程内存訪问,即RDMA,当然它的协议栈是固化在专用硬件上的。现在。单独的server机箱已经显得非常拥挤不堪了,超猛server搞虚拟化的还有一面就是多个server当一台用,而InfiniBand的思想在当时那个年代,过于早熟了...
       为InfiniBand而流泪。可是且慢,它还没有全然消失。或许能等到它升华蜕变的那一天,这是值得期待的。

为InfiniBand而哭泣的更多相关文章

  1. InfiniBand

    Mellanox InfiniBand卡线缆性能延迟性测试程序源码,C源码实现操作mysql库,实现简单的增删改查,代码当前用的是增插入20000条数据 具体见源码 #include <mysq ...

  2. InfiniBand技术简介

    InfiniBand技术简介   转载请在文首保留原文出处:EMC中文支持论坛https://community.emc.com/go/chinese 介绍         随着CPU和通讯处理速度的 ...

  3. infiniband学习总结

    一.什么是infiniband InfiniBand架构是一种支持多并发链接的“转换线缆”技术,它是新一代服务器硬件平台的I/O标准.由于它具有高带宽.低延时. 高可扩展性的特点,它非常适用于服务器与 ...

  4. Infiniband 网络性能测试

    1.带宽测试   在server端执行 [ibtests]# ib_send_bw -a -c UD -d mlx4_0 -i 1 ---------------------------------- ...

  5. 关于InfiniBand几个基本知识点解释

    文章出处: https://blog.csdn.net/BtB5e6Nsu1g511Eg5XEg/article/details/83629279 公众号 https://blog.csdn.net/ ...

  6. IP概念盛行的背后:资本在狂欢,电影想哭泣 IP,英文“Intellectual Property”的缩写,直译为“知识产权”。它的存在方式很多元,可以是一个故事,也可以是某一个形象,运营成功的IP可以在漫画、小说、电影、玩具、手游等不同的媒介形式中转换。

    IP概念盛行的背后:资本在狂欢,电影想哭泣 IP容易拉投资.谈合作,甚至还能简化宣发途径,越来越多的人涌入了电影这个产业,争抢IP成为他们进入行业的最快捷的方法.IP盛行暴露出的另一个问题是国产电影原 ...

  7. centos infiniband网卡安装配置

    硬件:Mellanox InfiniBand,主要包括 HCA(主机通道适配器)和交换机两部分 软件:CentOS 6.4 MLNX_OFED_LINUX-2.1-1.0.0-rhel6.4-x86_ ...

  8. [转帖]InfiniBand技术和协议架构分析

    InfiniBand技术和协议架构分析 2017年06月06日 20:54:16 Hardy晗狄 阅读数:15207 标签: 云计算存储Infiniband 更多 个人分类: 存储云计算   版权声明 ...

  9. [转帖] InfiniBand主流厂商和产品分析

    https://blog.csdn.net/swingwang/article/details/72935461 InfiniBand主流厂商和产品分析 2017年06月08日 22:03:46 Ha ...

随机推荐

  1. 通过Eclipse生成可运行的jar包

    本来转自http://www.cnblogs.com/lanxuezaipiao/p/3291641.html 我是个追新潮的人,早早用上了MyEclipse10.最近需要使用Fat jar来帮我对一 ...

  2. php必备树状数组处理方法

    thinkphp必备公共方法 /** * 子元素计数器 * @param array $array * @param int $pid * @return array */ function arra ...

  3. IE添加可信任站点,启用ActiveX插件批处理

    添加可信任站点IP地址为:192.168.1.108,启用ActiveX插件执行以下批处理命令: reg add "HKCU\Software\Microsoft\Windows\Curre ...

  4. 最小生成树的Kruskal算法

        库鲁斯卡尔(Kruskal)算法是一种按照连通网中边的权值递增的顺序构造最小生成树的方法.Kruskal算法的基本思想是:假设连通网G=(V,E),令最小生成树的初始状态为只有n个顶点而无边的 ...

  5. 微信小程序开发教程(八)视图层——.wxml详解

    框架的视图层由WXMKL(WeiXin Markup language)与WXSS(WeiXin Style Sheet)编写,由组件进行展示. 对于微信小程序而言,视图层就是所有.wxml文件与.w ...

  6. [BZOJ 1305] 跳舞

    Link:https://www.lydsy.com/JudgeOnline/problem.php?id=1305 Solution: 发现res是否可行具有单调性,二分答案 容易看出每次check ...

  7. [CF935F]Fafa and Array

    法法round(雾 题意:给一个序列$a_{1\cdots n}$,定义$\begin{align*}f=\sum\limits_{i=1}^{n-1}\left|a_i-a_{i+1}\right| ...

  8. [Contest20180316]Game

    这题有一个结论:如果他是最强的(⑨),那么线段树最优,如果他是最弱的,那么链状树最优 严格证明可能挺困难,感性理解就是公平赛制让强的人容易赢,极度不公平的赛制能让弱的人有机会反杀 所以我们只改他的能力 ...

  9. 【暴力】UVALive - 4882 - Parenthesis

    就不断地扫整个序列,如果发现多余的括号就删除.大概复杂度还是O(n²)左右.如何判断不合法请详见代码. To a computer, there is no difference between th ...

  10. 【递归】先修课 计算概论(A) / 函数递归练习(3)2:分解因数

    #include<cstdio> using namespace std; bool is_prime(int x) { ;i*i<=x;i++) ) return false; r ...