Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Memory 内存缓冲区_Memory_Rdma - Fatal编程技术网

Memory 内存缓冲区

Memory 内存缓冲区,memory,rdma,Memory,Rdma,我知道RDMA要求发送方和接收方在数据传输之前注册它们的内存。我想知道发送方和接收方的注册内存是否应该相同。如果相同,我认为RDMA会浪费大量内存,因为双方基本上都在存储相同的数据。有没有办法减少这种问题?在网络传输后,发送方和接收方都包含相同信息的副本。但是,根据应用程序和通信模式,两侧的缓冲区都可以重用。例如,远程读取操作的发起方可以在读取之前的结果后,对读取结果使用相同的缓冲区。这是在任何特定情况或代码的上下文中吗?如果不是的话,这可能是离题了。这是否可能是因为两侧的缓冲区大小不同。我想做

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

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

这是在任何特定情况或代码的上下文中吗?如果不是的话,这可能是离题了。这是否可能是因为两侧的缓冲区大小不同。我想做的是,发送方不断地从接收方写入或读取4K页面。你们可以认为接收器实际上是一个数据存储。在这种情况下,我应该将接收器上的缓冲区设置为10GB(例如,大到足以存储成吨的页面),并将发送器缓冲区设置为4K。您也可以在较小的缓冲区中进行复制,或者根据需要动态注册和注销内存。在某些设备上,您可以使用按需分页,因此通信缓冲区不会固定到内存。