当前位置:网站首页>局域网SDN硬核技术内幕 23 展望未来——RDMA(上)
局域网SDN硬核技术内幕 23 展望未来——RDMA(上)
2022-07-27 10:51:00 【用户8289326】
我们先小结一下前期的收获:
摩尔定律被硅芯片物理极限限制->多核技术推动虚拟化大规模应用->数据中心网络大规模虚拟机入网;
Wi-Fi技术驱动移动办公普及->园区网络大规模用户移动漫游;
虚拟机与园区网络漫游终端普及->需要将网络划分为柔性切片,虚机或园区用户接入网络时自动划分至所属切片->VXLAN技术
VXLAN没有控制平面->EVPN+SDN作为控制平面;
合理设计网络,避免VXLAN硬件规格限制;
可见,SDN网络的出现,演进和成熟,是典型的IaaS层面需求引发的网络革命。
那么,让我们将眼光上移,从数据中心的IaaS层移到PaaS层——
数据中心的本质,是运行大规模分布式计算或存储的场所。
想一想,我们常见的计算和存储PaaS框架有哪些?
Hadoop, Tensorflow, Ceph, Gluster……
这些分布式计算与存储框架,所相似的一点是,需要频繁成块访问远端计算机的内存。
传统的远程访问,需要通过Linux或Windows的Socket机制。这种机制每发送一个数据包,均需要将数据包从用户态内存空间,拷贝到网卡驱动所在的内核态内存空间,再进行发送。而接受数据包,则需要将数据包从网卡驱动所在的内存空间拷贝至用户态应用程序的内存空间。
显然,在大规模分布式计算与存储时,这是难以接受的。
所以,工程师们在网卡上引入了RDMA(Remote Direct Memory Access)机制,使得应用程序可以直接通过RDMA命令字,让远端服务器网卡直接从RAM中取指定地址的数据;
RDMA的API,与传统Linux/Windows Socket的API有所不同,它叫做RDMA Verb。以发送数据包的RDMA Verb为例,它的函数原型如下:
int ibv_post_send(struct ibv_qp *qp, struct ibv_send_wr *wr, struct ibv_send_wr **bad_wr)
让我们看看结构体ibv_send_wr的定义:
我们看到,红框中是远端的地址。也就是说,RDMA在代码API级别,提供了直接访问远端地址的机制。
RDMA与传统Socket机制,数据流向对比如下图所示:
可见,RDMA绕过了内核中断机制,大大降低了远程访问的时延,降低了CPU占用。
注意到图中RDMA的通道,它与网络是两个不同的通道。这意味着什么呢?
明天,我们为大家详解这一细节。
边栏推荐
- First experience of three.js: simulating the growth of a small branch
- The C programming language (2nd) -- Notes -- 1.6
- 背包问题 AcWing 9. 分组背包问题
- 求组合数 AcWing 889. 满足条件的01序列
- Summary of C language knowledge involved in learning STM32F103 (link only)
- 博弈论 AcWing 892. 台阶-Nim游戏
- Raw socket grabs packets, and packets on some ports cannot be caught
- Maximized array sum after 13 K negations
- Knapsack problem acwing 9. grouping knapsack problem
- 【Unity入门计划】CreatorKitFPS:第一人称射击3D小游戏
猜你喜欢

Memory search acwing 901. Skiing

Everything cannot be searched for startup_ Lpc11x.s file

Installation and use of GTEST and gmock

数字三角形模型 AcWing 1027. 方格取数

Caused by:org.gradle.api.internal. plugins . PluginApplicationException: Failed to apply plugin

Moveit2 -- 2. Quick start of moveit in rviz

Redis simple to use

Game theory acwing 891. Nim game

Force buckle - 10. Regular expression matching

Solutions to errors in tensorflow operation
随机推荐
2022牛客多校训练(3)A-Ancestor 题目翻译
A deep analysis of the soul of C language -- pointer
求组合数 AcWing 889. 满足条件的01序列
ethereum rpc
Find the combination number acwing 886. find the combination number II
Raw socket grabs packets, and packets on some ports cannot be caught
11 wrong set
记忆化搜索 AcWing 901. 滑雪
2022牛客多校 (3)J.Journey
8 find subsequences with a maximum length of K
Description and feelings
最长上升子序列模型 AcWing 272. 最长公共上升子序列
12 is at least twice the maximum number of other numbers
Longest ascending subsequence model acwing 482. Chorus formation
栈 AcWing 3302. 表达式求值
Opengauss kernel analysis - statistics and row count estimation
10 complete half of the questions
Chinese remainder theorem acwing 204. strange way of expressing integers
数字三角形模型 AcWing 275. 传纸条
最长上升子序列模型 AcWing 482. 合唱队形