【问题标题】:RDMA memory bufferRDMA 内存缓冲区
【发布时间】:2018-06-25 14:57:24
【问题描述】:

我知道 RDMA 要求发送方和接收方在数据传输之前都注册它们的内存。我想知道发送方和接收方的注册内存是否应该相同。如果相同,我认为 RDMA 会浪费大量内存,因为双方基本上都在存储相同的数据。有什么办法可以减少这种问题?

【问题讨论】:

  • 这是在任何特定情况或代码的上下文中吗?如果不是,那可能是题外话。

标签: memory rdma


【解决方案1】:

网络传输后,发送方和接收方都包含相同信息的副本。但是,根据应用程序和通信模式,可以重用两侧的缓冲区。例如,远程读取操作的发起者可以在读取之前的结果完成后使用相同的缓冲区来存储读取结果。

【讨论】:

  • 是不是两边的缓冲区大小不一样。我想要做的是发送方不断地从接收方写入或读取 4K 页面。您可以认为接收器实际上是一个数据存储。在这种情况下,我是否应该将接收器上的缓冲区设置为 10GB(例如,大到足以存储大量页面),并将发送器缓冲区设置为 4K。或任何更好的设计。
  • 您还可以复制进出较小的缓冲区,或者根据需要动态注册和注销内存。在某些设备上,您可以使用按需分页,因此通信缓冲区不会固定到内存中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-21
  • 1970-01-01
  • 2021-11-04
  • 1970-01-01
  • 2010-09-23
相关资源
最近更新 更多