zoukankan      html  css  js  c++  java
  • infiniband, fiber channel,RDMA

    yxr注:

    1)在研究openpower时,看到mellanox公司是铂金会员,其infiniband产品占据了超算(HPC)互联的40%份额。

        继而研究infiniband技术和fiber channel,以太网,PCIE等等的关系,搜索罗列如下网页

         RDMA现状以及TOE的网站

    2) Infiniband不同于以太网,后者以网络为中心,操作系统处理各种网络层协议,而infiniband以应用程序为中心,绕过操作系统和CPU不用负责网络通信,直接offload了CPU的负荷!

    3)没有深入研究,不知道infiniband的HCA和内存控制器如何相连,以前是Hub link,现在吧呢?猜测还是PCIE吧

          没有研究infiniband和PCIE的竞争,价格优劣以及性能优劣,好像低端的超算的使用PCIE。

          没有评估infiniband和omini-path,cray的技术,市场,价格的。

     =================

    http://www.chinastor.com/a/hpc/111S5M32016.html

    在最新发布的全球超级计算机Top500榜单中,InfiniBand再次延续了其在互连方案上的绝对领先地位。2016年基于InfiniBand解决方案的终端用户数量较Omni-Path高出近四倍,是Cray Aries的五倍,充分证明InfiniBand持续增长的使用率和市场份额。

    InfiniBand互联方案如今加速了65%的超算系统,并在TOP500榜单中的全部千万亿次系统中占据了近半壁江山(46%)。Mellanox持续为全球最快的超算系统提供互连,满足了其对高性能、高可扩展及高效网络的需求。此外,Mellanox以太网解决方案还连接了榜单中首个100Gb以太网系统和所有的40Gb以太网系统。

    * 在2016 年TOP500 HPC项目中,65个终端用户选择了InfiniBand,用户数量比 Omni-Path 高出近4倍,与 Cray Aries 相比高出5倍

    (yxr注:只有65个终端?)

    ===============================

    http://www.ssdfans.com/?p=767

    互联芯片对超算的巨大作用   我们来看看美国田纳西大学计算机学教授杰克·唐加拉对中国超算的评价:虽然”天河一号”的处理器仍主要采用美国产品,但其互联芯片已全部替换为中国研究人员自主研制的产品。他说:”互联芯片主要涉及处理器之间的信息流动,对于超级计算机的整体性能起到关键作用。’天河一号’的互联芯片由中国研制,具有世界最先进的水平。”(《中国超级计算机运算速度夺冠 互联芯片自制》,http://info.ec.hc360.com/2010/11/171024365014.shtml)中国做出全球排名第一的天河一号超级计算机,自主研发的互联芯片立了大功。

    Intel代号为Knights Landing的第二代Xeon Phi处理器配备了Omni Path高速互联接口。Intel在高速互联领域很在就开始布局,早在2012年就收购了QLogic Infiniband技术和Cray的互联技术。它的最终目标是开发Infiniband和True Scale的替代技术,能够更快,更好,更便宜。所以,Intel推出Omni-Path真是煞费苦心,不是简单的一个接口,而是完整的生态链。

    =======

    https://www.ibm.com/developerworks/cn/aix/library/1105_luoming_infiniband/index.html

    Infiniband 的基本概念

       网络是常常被认为是路由器、交换机和插在服务器和存储设备上的电缆的集合。在大部分人的印象里,网络用来连接服务器到其他服务器、存储和其他网络。其实,这是一种普遍存在的对网络的片面看法,它将过多的注意力集中在处于网络底层结构的电缆和交换机上。这是典型的“以网络为中心的”观点:认为网络的构成架构应该决定应用程序的通讯模式。

    Infiniband 网络则基于“以应用程序为中心”的新观点。它的提出来源于一个简单的问题:如何让应用程序访问其他应用程序以及存储尽可能的简单、高效和直接?如果以“应用程序为中心”的观点来思考 I/O 问题,就能得到一种与传统完全不同的网络架构。

    Infiniband 基于一种非常简单的原则:提供一种易于使用的消息服务。这个服务可以被用来与其他应用程序、进程或者存储进行通信。应用程序不再向操作系统提交访问其他资源的申请,而是直接使用 Infiniband 消息服务。Infiniband 消息服务是一个非常高效、直接的消息服务,它摒弃了传统网络和应用程序之间消息传递的复杂结构。直接使用 Infiniband 服务意味着应用程序不再依赖操作系统来传递消息,这大大提高了通信效率。如图 1,Infiniband 消息服务可以在两个应用程序之间创建一个管道,来使应用程序之间直接进行通信,从而绕过了操作系统,大大提高了效率。

    ========

    在http://icon.zhiding.cn/zdnet/itpapers/WP_Scalable_Storage_InfiniBand_Final.pdf中

    那么,什么是InfiniBand,为什么越来越多的存储系统销售商不管是背板还是网络连接都要用到此连接?InfiniBand是一种在2000年左右出现的,基于标准的网络协
    议。InfiniBand整合了NGIO和Future I/O(PCI总线替换技术的竞争技术)这两种技术。

    从设计上来说,InfiniBand具有总线技术的特点,但实际上,PCI Express——最终产生的PCI替换技术,从概述上来说是InfiniBand的一个子集。
    InfiniBand与其他网络的核心区别有两个方面。

    首先,其采用的是一种基于信用的流量控制系统(这个和PCIE一致)。即在接收对象未保证充足的缓冲之前,不会发送数据。这样,就使得InfiniBand成为像无损光纤通道网络架构那样的光纤通道。

    其次,InfiniBand支持远程直接内存访问(RDMA),具备在完全卸载CPU和操作系统的方式下,在两个远程系统的存储区域移动数据的能力。作为原始总线设计遗留下来的的理念,如要对分布式系统进行扩展,RDMA是关键。有RDMA的InfiniBand具备多种关键优势。


    InfiniBand的物理信号技术一直超前于其他网络技术,使得它都具备比其他任何网络协议都大的带宽。目前以56Gb/s运行的InfiniBand,其发展路线预计达到EDR(100Gb/s)的
    时间是一年半左右。InfiniBand这一名称本身即说明了其无限的带宽发展前景。InfiniBand路线图设计的目的就是要保证单个链路的带宽能够保持在大于PCIExpress(PCIe)总线数据速率的水平。这样,系统就能够以其可产生的最快速度,在网络间移动数据,并且不会因出现因网络限制而导致的备份。这样,就可让 InfiniBand具备无限带宽。

    =========================

    http://blog.163.com/s_u/blog/static/13308367201231253232968/

    yxr注:比较老,但是能看到历史

    而InfiniBand弥补了PCI总线的上述缺陷,以一种全新的方式把网络中常见的交换和路由概念引入了I/O子系统当中。在InfiniBand架构中,最主要的硬件部分就是HCA、TCA和IB Link。HCA是Host Channel Adapter的缩写,它是连接内存控制器和TCA的桥梁;TCA是Target Channel Adapter的缩写,它将I/O设备(例如网卡、SCSI控制器)的数字信号打包发送给HCA;IB Link包含了连接HCA和TCA的光纤以及光纤交换机、路由器等整套设备。在现阶段一根光纤的传输速率是2.5Git/s,支持全双工模式,并且可以把多条光纤捆绑到一起工作,目前的模式有x4、x12两种。
    一言以蔽之,InfiniBand架构的核心就是把I/O子系统从服务器主机中剥离出去,通过光纤介质,采用基于交换的端到端的传输模式连接它们

    下面我们看一下在InfiniBand架构中,数据是如何传输的。如图1所示,InfiniBand架构相比PCI总线的方式更前进了一步,在内存控制器与HCA之间是通过Hub Link方式相连的,目前的标准是Hub Interface2.0。Hub Link是一种串行总线,它的工作频率可以提到很高,而它最大的优势就是良好的可扩展性,主板设计师可以根据需要的总线带宽在内存控制器和HCA之间选择多条Hub Link总线。

    什么是Infiniband技术? - suy - Suy的博客

    从图1中可以看出,数据从网卡或硬盘首先通过各自的I/O控制器送给TCA,再由TCA通过InfiniBand Link经过交换机甚至路由器送到HCA,再通过Hub Link总线送到内存控制器

    InfiniBand对数据在传送中的处理几乎照搬了以太网协议的全部思想。和TCP/IP协议集极其相似,InfiniBand就是示分了 6个协议层,从Transport层向下各层数据的封装都是由TCA和HCA自己完成的,不需要占用系统CPU的资源,交换机和路由器工作在 Network层。如果超越了Transport层,HCA会把任务交给系统处理,这一部分的工作需要操作系统的支持,但是对于TCA来说,它是不需要考虑这些的,只要把物理层的信号打包生成网络层可以识别的packet,它的工作就算完成了。

    =========================

    http://dylan602.blog.163.com/blog/static/167974276201181934727159/

    InfiniBand规范定义了3个基本组件:


    一个主机信道适配器(HCA) 
    一个目标信道适配器(TCA) 
    一个网络交换机

    InfiniBand技术通过连接HCAs、TCAs、交换机和路由器而发挥作用(见 图3 )。位于页节点的InfiniBand设备是产生和使用信息包的信道适配器。

    图3. InfiniBand 架构模式


     

    HCA 和TCA可以提供一个无需CPU干预的高可靠端-至-端连接。HCA驻留在处理器节点并提供从系统内存到InfiniBand网络的通路。它也有一个可编程的直接内存访问(DMA)引擎。该引擎具有特殊保护和地址翻译特性,从而使DMA操作可以本地进行或者通过另一个HCA或TCA远程进行。

    TCA驻留在I/O单元,并提供I/O设备(如一个磁盘驱动器)或I/O网络(如以太网或光纤通道)与InfiniBand网络的连接。它实现了InfiniBand协议的物理层、链接层和传输层。

    交换机放置在信道适配器之间。它们使几个甚至几千个InfiniBand页节点可以在任意位置互连进一个单一网络,该网络同时支持多个连接。交换机既不产生,也不使用信息包。它们只是根据信息包中路由器报头的目的地地址,将其传送过去。交换机对于节点而言是透明的,同时信息包完整无损地经过交换机网。

    =====================、

    yxr注:2008的文章,10年前的文章,似乎很看好IB

    从价格的角度,今天的Infiniband是万兆以太网的几分之一。Inifiniabnd有比FibreChannel高5倍的性能,在价格上则已与Fibre Channel在同一个数量级上。
    存储是内存的延伸,具有RDMA功能的Infiniband应该成为存储的主流协议。比较一下Infiniband和Fibre Channel我们可以看到Infiniband的性能是Fibre Channel的5倍,Infiniband交换机的延迟是Fibre Channel交换机的1/10。另外在构筑连接所有服务器和存储器的高速网络时使用Infiniband Fabric可以省去Fiber Channel Fabric,从而给客户带来巨大的成本节省。

     今天在使用Infiniband作为存储协议方面已经有了很大的进展。作为iSCSI RDMA的存储协议iSER已被IETF标准化。

      不同于Fibre Channel,Infiniband在存储领域中可以直接支持SAN和NAS。存储系统已不能满足于传统的Fibre Channel SAN所提供的服务器与裸存储的网络连接架构。Fibre Channel SAN加千兆以太网加NFS的架构已经严重限制了系统的性能。在这种情况下应运而生的则是由在Infiniband fabric连接起来的服务器和iSER Infiniband存储的基础架构之上的并行文件系统(诸如HP的SFS、IBM的GPFS等等)。在未来的服务器、存储器网络的典型结构将会是由Infiniband将服务器和Infiniband存储器直接连接起来,所有的IP数据网络将会通过万兆以太网到Infiniband的路由器直接进入Infiniband Fabric。

    ===========================================

    http://weibo.com/p/1001603936363903889917?mod=zwenzhang

    两种以太网 RDMA 协议: iWARP 和 RoCE

    本文是讲演 How Ethernet RDMA Protocols iWARP and RoCE Support NVMe over Fabrics【1】的摘要。
    如果 NVMe 存储系统与主机是分离的,显然需要某种 fabric 把它们连接,这样主机才能使用存储系统。目前,支持远程连接的 fabric 包括:
    • RDMA 协议:底层可以是以太网( RoCE 或者 iWARP )或者 Infiniband
    • Fibre Channel 协议:底层可以是 FC 网络或者以太网(FCoE)
    一、为什么需要 RDMA ?
    RDMA (Remote Direct Memory Access) 是一种绕过主机 (host-offload/host-bypass) 技术:一个应用(包括存储)<--发送/接收数据-->另外一个(远程)应用的内存空间。
    • Source Application <-- (发送/接收、完成)队列 --> 带 RDMA 功能的网卡 <-- 可靠的网络连接 --> 带RDMA 功能的网卡 <-- (发送/接收、完成)队列 --> Target Application
     由上图可知,应用程序可以从一台(物理的或者虚拟的)机器直接传送数据到另外一台机器,这既提高了带宽又降低了延迟、抖动和 CPU 消耗。
    各种操作系统支持 RDMA :
    • Windows Server: 从 Windows HPC Server 2008 开始支持 Network Direct userspace API ;从 Windows Server 2012 开始支持 Network Direct kernel API
    • Linux: 从2004年开始,由 OpenFabrics Alliance 提供 userspace/kernel API , RHEL 和 SLES 已经自带, Ubuntu 要自己安装?
    • FreeBSD 9.0+ 支持 OpenFabrics Alliance userspace/kernel API
    具体来说, RDMA 技术特性带来的好处如下图所示:
      NVMe 设备延迟很低,这就要求网络延迟也必须很低, RDMA 正好满足这一点。
    二、用 RDMA 发送 NVMe 写命令
     以一个 NVMe 写操作为例。 NVMe 主机驱动把写命令及数据(从 NVMe 提交队列取出一项)封装一个与底层传输无关的命令胶囊(capsule);胶囊被放到主机 RDMA 网卡的发送队列中,由 RDMA_SEND 发送出去;目标主机的 RDMA 网卡在接收队列中收到这个胶囊,解除封装,把 NVMe 命令及数据放到目标主机的内存中;目标主机处理 NVMe 命令及数据;完成后,目标主机封装一个 NVMe 命令完成项,由 RDMA 传输到源主机。
    三、两种基于以太网的 RDMA 协议
    第一种:以太网->IP->UDP->RoCE (RDMA over Converged Ethernet) v2
    第二种:以太网->IP->TCP(去掉 TCP/IP 流量控制和管理)->iWARP
    不同协议的网卡之间并不兼容,也就说支持 RoCE 协议的网卡不能与支持 iWARP 协议的网卡交换数据。
    两种协议的供应商上台系统不一样,
     对底层网络基础设施的要求也不一样:
     了解更多细节,
    【1】How Ethernet RDMA Protocols iWARP and RoCE Support NVMe over Fabrics https://www.brighttalk.com/webcast/663/185909

    ====================

    http://www.tomsitpro.com/articles/nvme-over-fabrics-qlogic-brocade,1-3064.html 

    2015的文章,似乎为了证明Fiber Channel仍然有市场。。。。

    Fibre Channel Vs Ethernet Battle Continues As Brocade, QLogic Demo FC NVMe Over Fabrics

    QLogic and Brocade are showing the first NVMe over Fabrics (NVMeF) demonstration utilizing Fibre Channel as the fabric (FC-NVMe) at the Gartner Data Center, Infrastructure and Operations Management Conference.
    NVMeF is shaping up to be the leading protocol employed in future low-latency flash-based storage arrays. The NVMe consortium designed the original protocol to increase performance and scalability while simultaneously reducing latency and CPU overhead for in-chassis nonvolatile memories. It was not long before architects, enamored with the lightweight protocol, envisioned the possibilities of employing NVMe as an end-to-end fabric.

    However, FC-NVMe may lead to a Fibre Channel resurgence if it can offer tangible benefits over competing RDMA over RoCE and InfiniBand implementations. There is no doubt that NVMeF is coming to the datacenter on an accelerated time frame - the only question is which interconnect will prove to be the most popular.

    =========================

  • 相关阅读:
    WPF关于改变ListBoxItem的颜色的注意事项以及如何找到ListBox中的ItemsPanel
    WPF中关于配置文件的读取
    C++虚函数和虚函数表
    gdb调试技巧
    libevent和基于libevent的网络编程
    Reactor模式详解
    Ubuntu Linux 下文件名乱码(无效的编码)的快速解决办法
    Linux进程间通信——使用共享内存
    Linux进程间通信——使用信号量
    布隆过滤器(Bloom Filter)详解
  • 原文地址:https://www.cnblogs.com/e-shannon/p/7122659.html
Copyright © 2011-2022 走看看