rdma

简谈以太网RDMA网卡的应用

女生的网名这么多〃 提交于 2020-03-24 09:31:20
各式各样的数据在网络介质中通过网络协议(如TCP/IP)进行传输时,如果信息量过大而不加以限制的话,那么超额的网络流量就会导致设备反应缓慢,由此就造成了网络延迟。 延迟越低越好,效率越高越好,这不仅仅是数据中心网络的要求,我们平常使用的内部网络同样也希望如此。当前的网络速度有万兆、2.5万兆、4万兆,甚至10万兆、20万兆……的趋势都已经来了,网络带宽似乎已经不是主要的瓶颈了,而服务器系统和CPU本身逐步转为了制约网络I/O的瓶颈,影响服务器的整体性能。 如何解决问题? 解决问题的基本思路就是:通过应用程序直接读取和写入远程内存,而无需CPU介入进行多次拷贝内存,还可绕过内核直接向网卡写数据,实现了高吞吐量、超低时延和低CPU开销的效果。 实现这样功能的技术就是RDMA(Remote Direct Memory Access)技术,也就把RDMA【远程直接数据存取】技术运用到了网卡控制器上。 那么具有RDMA功能的网卡和不具有RDMA网卡的有什么不同呢? 首先不具备RDMA功能的网卡的传输路径过程是:应用程序--->系统--->内存--->CPU--->内存--->硬盘---->内存--->网卡。 而具有RDMA功能的网卡,在进行数据传输时候,网卡绕过CPU来实现服务器间的内存数据交换:应用程序--->内存--->硬盘---->内存--->网卡。大大地简化了过程

[SPDK/NVMe存储技术分析]008 - RDMA概述

ぐ巨炮叔叔 提交于 2020-03-24 04:02:49
毫无疑问地,用来取代iSCSI/iSER(iSCSI Extensions for RDMA)技术的NVMe over Fabrics着实让RDMA又火了一把。在介绍NVMe over Fabrics之前,先科普一下RDMA。 1. DMA和RDMA的概念 1.1 什么是DMA? Direct Memory Access(DMA) is a capability provided that allows data to be sent directly from an attached device to the memory on the computer's motherboard. DMA(直接内存访问)是一种能力,允许在计算机主板上的设备直接把数据发送到内存中去,数据搬运不需要CPU的参与。 1.2 什么是RDMA? RDMA is a concept whereby two or more computers communicate via Direct Memory Access directly from the main memory of one system to the main memory of another. RDMA是一种概念,在两个或者多个计算机进行通讯的时候使用DMA, 从一个主机的内存直接访问另一个主机的内存。 RDMA is a host

InfiniBand 与Intel Omni-Path Architecture

随声附和 提交于 2020-03-24 04:02:12
Intel Omni-Path Architecture (OPA) 是一种与InfiniBand相似的网络架构 可以用来避免以下PCI总线一些缺陷: 1、由于采用了基于总线的共享传输模式,在 PCI总线上不可能同时传送两组以上的数据,当一个 PCI设备占用总线时,其他设备只能等待; 2、随着总线频率从 33MHz提高到 66MHz,甚至 133MHz( PCI-X),信号线之间的相互干扰变得越来越严重,在一块主板上布设多条总线的难度也就越来越大; 3、由于 PCI设备采用了内存映射 I/O地址的方式建立与内存的联系,热添加 PCI设备变成了一件非常困难的工作。目前的做法是在内存中为每一个 PCI设备划出一块 50M到 100M的区域,这段空间用户是不能使用的,因此如果一块主板上支持的热插拔 PCI接口越多,用户损失的内存就越多; 4、 PCI的总线上虽然有 buffer作为数据的缓冲区,但是它不具备纠错的功能,如果在传输的过程中发生了数据丢失或损坏的情况,控制器只能触发一个 NMI中断通知操作系统在 PCI总线上发生了错误; 首先来看 Infiniband的协议层次与网络结构 Infiniband的协议采用分层结构,各个层次之间相互独立,下层为上层提供服务。其中 ,物理层定义了在线路上如何将比特信号组 成符号 ,然后再组成帧、 数据符号以及包之间的数据填 充等

InfiniBand技术和协议架构分析

戏子无情 提交于 2020-03-24 03:59:51
Infiniband开放标准技术简化并加速了服务器之间的连接,同时支持服务器与远程存储和网络设备的连接。 IB技术的发展 1999年开始起草规格及标准规范,2000年正式发表,但发展速度不及Rapid I/O、PCI-X、PCI-E和FC,加上Ethernet从1Gbps进展至10Gbps。所以直到2005年之后,InfiniBand Architecture(IBA)才在集群式超级计算机上广泛应用。全球Top 500大效能的超级计算机中有相当多套系统都使用上IBA。 随着越来越多的大厂商正在加入或者重返到它的阵营中来,包括Cisco、IBM、HP、Sun、NEC、Intel、LSI等。InfiniBand已经成为目前主流的高性能计算机互连技术之一。为了满足HPC、企业数据中心和云计算环境中的高I/O吞吐需求,新一代高速率56Gbps的FDR (Fourteen Data Rate) 和EDR InfiniBand技术已经出现。 IB技术的优势 Infiniband大量用于FC/IP SAN、NAS和服务器之间的连接,作为iSCSI RDMA的存储协议iSER已被IETF标准化。目前EMC全系产品已经切换到Infiniband组网,IBM/TMS的FlashSystem系列,IBM的存储系统XIV Gen3,DDN的SFA系列都采用Infiniband网络。

云上战“疫”背后:快杰云主机的技术担当

风格不统一 提交于 2020-02-21 10:17:29
新冠肺炎催生了办公、医疗、教育等行业的“线上解决”,加速了各行业与“云”的结合,也对不少服务企业提出了新的考验:持续攀登的高并发、多连接,需要更加高性能稳定的云平台支撑,确保不宕机、不卡断以及流畅稳定的云上体验。 在这场战“疫”中,UCloud快杰云主机历经了多项考验,在计算、网络、存储各方面均具备优异性能。其中,为了响应“停课不停学”的号召,快杰云主机为小禾科技线上教育直播平台提供了高性能稳定的云资源支持,同时UCloud还免费提供直播带宽和流量等资源,保障高并发场景下直播平台及课程的顺利进行。 快杰云主机的优异表现依托于产品的技术优化,来看一组快杰云主机的配置参数: 搭载Intel最新Cascade Lake CPU、NVMe SSD硬盘、25G RDMA网络,并通过最新的智能网卡提供硬件卸载。 在这其中,每一项参数优化均经历了诸多思路重建、革旧换新的技术更迭。 下面我们就来聊聊快杰云主机的“破局”之路。 一、存储“破局” 快杰云主机搭载的NVMe SSD硬盘,采用64层3DNAND,支持8TB/s高速TRIM。支持性能出色的同时,NVMe SSD硬盘通过动态精确能耗控制,能源效率也比前代提升38%。 国内专业云资源选型服务平台 CloudBest 实验室的报告中( 阿里云、腾讯云、UCloud 、华为云云主机对比测试报告 ),关于 “磁盘性能” 的测试结果如下: 图

RDMA atomic operation's implementation

我的梦境 提交于 2020-01-14 05:01:46
问题 I heard about that RDMA reads and writes are implemented like, when requests come the nic find the physical page and then using DMA to get the data to nic and then to the target. This is straightforward for reads and write, but it is odd when it comes to the atomic operations. My question is that is RDMA atomic operations implemented the same way as reads and writes and how? And more specificely, what is it's relationship between the cpu's atomic operations (like compare and swap) and the

RDMA atomic operation's implementation

徘徊边缘 提交于 2020-01-14 05:01:08
问题 I heard about that RDMA reads and writes are implemented like, when requests come the nic find the physical page and then using DMA to get the data to nic and then to the target. This is straightforward for reads and write, but it is odd when it comes to the atomic operations. My question is that is RDMA atomic operations implemented the same way as reads and writes and how? And more specificely, what is it's relationship between the cpu's atomic operations (like compare and swap) and the

How to: Azure OpenMPI with Infiniband - Linux

不想你离开。 提交于 2020-01-04 02:02:23
问题 I am new to using Microsoft Azure for scientific computing purposes and have encountered a few issues whilst setting up. I have a jump box set-up that acts as a license server for the software that I whish to use, is also has a common drive to store all of the software. 6 compute nodes are also set-up (16 core/node) and I can 'ssh' from the jump box to the compute nodes without issue. The jump box and compute nodes are using CentOS with OpenMPI 1.10.3 I have created a script that is stored on

Java Sockets on RDMA (JSOR) vs jVerbs performance in Infiniband

一个人想着一个人 提交于 2019-12-18 18:34:39
问题 I have basic understanding of both JSOR and jVerbs. Both handle limitations of JNI and use fast path to reduce latency. Both of them use user Verbs RDMA interface for avoiding context switch and providing fast path access. Both also have options for zero-copy transfer. The difference is that JSOR still uses the Java Socket interface. jVerbs provides a new interface. jVerbs also has something called Stateful Verbs Call to avoid repeat serialization of RDMA requests which they say reduces

Infiniband in Java

时光总嘲笑我的痴心妄想 提交于 2019-12-10 15:59:23
问题 As you all know, OFED's Socket Direct protocol is deprecated and OFED's 3.x releases do not come with SDP at all. Hence, Java's SDP also fails to work. I was wondering what is the proper method to program infiniband in Java? Is there any portable solution other than just writing JNI code? My requirement is achieve RDMA among collection of infiniband powered machines. 回答1: jVerbs might be what you're looking for. Here's a little bit of documentation. 回答2: jVerbs looks interesting otherwise you