可以在不同CPU上的进程之间增强共享内存

时间:2014-10-29 15:06:11

标签: c++ boost multiprocessing boost-interprocess

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

2 个答案:

答案 0 :(得分:1)

它不是增强的优势,而是平台。 Boost在操作系统级别使用shmemmemory mapped files支持。

答案 1 :(得分:1)

是的,如果您使用的是SMP或标准NUMA系统。

如果你的某些CPU在子板或类似物上运行,可能不会。


操作系统和底层硬件平台(您还没有告诉我们)控制这一点,如果您还没有,您应该可以在适当的论坛中询问特定于该操作系统/平台的问题肯定的。

如果你不确定上述两种情况中的哪一种是相关的,那么几乎可以肯定你是在一个通用平台上,它一切都会起作用。请注意,如果要选择分配哪些节点页,Boost可能不会公开NUMA亲和力控制。