首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RDMA如何在没有CPU的两台服务器之间传输?

RDMA如何在没有CPU的两台服务器之间传输?
EN

Server Fault用户
提问于 2021-11-03 16:53:06
回答 1查看 184关注 0票数 2

我一直在阅读关于RoCE的文章,它谈到了如何在一台服务器中的内存之间直接将数据零拷贝传输到另一台服务器中的应用程序内存。大多数文章指出,这是在没有来自CPU的参与下完成的。不过,我不明白这是怎么做到的。数据是如何在没有CPU处理的情况下从适配器获取到RAM的?它如何知道应用程序的数据在RAM中的位置?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2021-11-03 17:32:39

我想你误解了“没有CPU”。这并不意味着CPU根本不涉及-它只是意味着CPU没有进行复制。它通过驱动程序完成复制操作的设置,然后硬件完成实际处理。

你的链接写得很清楚--只要读一读:

RDMA通过允许网络适配器直接从有线传输数据,支持零拷贝网络。

这是复制操作,而不是设置。总得有人告诉网络适配器。

要知道,现代网络的真正亮点是100+千兆比特--每秒10 gigabyte+,通常是多行加在一起,如今高端网络达到了400 10。

这是很多- CPU从RAM读取,循环它然后将它发送到适配器,当你可以告诉适配器读和发送哪个内存。

但是,“不参与”不是“根本没有CPU”,而是"CPU没有复制数据“。它仍然能控制一切。

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1082543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档