面试知识点整理

计算机的物理内存是有限的,所以操作系统在遇到内存不足时,会通过换页机制暂时把

某个进程未使用的内存中的数据搬移到硬盘上(比如 Linux 的 swap 分区 ),并在系统页表中

删除相应的表项。当该进程访问数据已经被搬移到硬盘中的内存时,会触发缺页中断,随后

操作系统会把硬盘中的数据重新移回内存中新分配的内存页,并在页表中添加表项,以保证

内存页的虚拟地址不变。对于进程而言,此时数据所在的内存的虚拟地址没有变化,但物理

地址很可能已经和原来不一样了。所以,这一过程很可能导致虚拟地址和物理地址的映射关
系发生改变

由于 RDMA 网卡经常会绕过 CPU 对用户提供的虚拟地址所指向的内存区域进行访问,

如果虚拟地址和物理地址的映射关系发生改变,因此前文提到的 MR 地址转换表的原有内容

会失去意义,RDMA 网卡将无法找到正确的物理地址。

为了防止换页所导致的地址映射关系发生改变,在应用程序为缓存注册 MR 的过程中,

运行在内核态的 RDMA 网卡驱动程序会调用 Linux 内核提供的 pin_user_pages_fast 函数, Pin

这块缓存(亦称锁页),即锁定缓存的虚拟地址和物理地址的映射关系。也就是说,MR 这

块内存区域会长期存在于物理内存中,其数据不会被 swap 到硬盘,直到完成 RDMA 通信之

后,应用程序主动调用 Verbs API ibv_dereg_mr 注销此 MR。

要实现可靠服务,必须有以下几个关键机制。

• 能够检测到受损数据的保护机制,比如循环冗余校验(CRC)。

• 使发送者能够确定消息已成功传递的确认机制(ACK)。

用于检测丢失的数据包并允许发送者将对端响应与发送请求关联的数据包序列号

(packet sequence number,PSN)机制。

• 计时器,用于检测被丢弃(dropped)或丢失(missed)的确认消息

相关推荐
星创易联8 小时前
CAN总线网关到底是什么:双5g车载网关案例
网络
夜听莺儿鸣8 小时前
803-001_WIFI通信之基础知识
网络·无线通信
打不了嗝 ᥬ᭄9 小时前
传输层协议UDP
linux·网络·网络协议·udp
_殊途10 小时前
计算机网络-网络层
网络·计算机网络·智能路由器
敲上瘾10 小时前
Linux系统C++开发工具(四)—— jsoncpp 使用指南
linux·服务器·网络·c++·json
chalmers_1512 小时前
服务器启动的时候就一个对外的端口,如何同时连接多个客户端?
运维·服务器·网络
努力搬砖的咸鱼16 小时前
容器之间怎么通信?Docker 网络全解析
网络·docker·云原生·容器
deng-c-f18 小时前
Linux C/C++ 学习日记(43):dpdk(六):dpdk实现发包工具:UDP的发包,TCP的泛洪攻击
linux·dpdk·泛洪
电鱼智能的电小鱼19 小时前
基于电鱼 ARM 工控机的井下AI故障诊断方案——让煤矿远程监控更智能、更精准
网络·arm开发·人工智能·算法·边缘计算
AC是你的谎言21 小时前
HTTP和HTTPS
linux·网络·c++·网络协议·学习·http·https