可以提高不同CPU上的进程之间的共享内存

Can boost do shared memory between processes that are on different CPUs

本文关键字:进程 之间 共享 内存 高不同 CPU      更新时间:2023-10-16

如果我有一个有两个CPU的多处理器,并且我有一进程在CPU 1上运行,另一进程在CPU2上运行,那么它们之间是否使用boost::进程间共享内存?如果是,如何实施?我在boost文档中找不到任何关于它的文档

是的,如果您在SMP或标准NUMA系统上。

如果您的一些CPU在子板或类似的板上运行,则可能不会。


操作系统和底层硬件平台(你还没有告诉我们)控制着这一点,如果你仍然不确定,你应该能够在适当的论坛上问一个特定于该操作系统/平台的问题。

如果你不确定以上两种情况中的哪一种是相关的,那么几乎可以肯定你在一个通用平台上,这一切都会奏效。请注意,Boost可能不会公开NUMA关联控制,但是,如果您想选择在哪个节点上分配页面。

这不是boost的优势,而是平台的优势。Boost在操作系统级别使用shmem或内存映射文件支持。