jed*_*877 4 linux memory opteron
我正在做一些生物信息学工作,其中限制是内存量(即,该过程不可并行化)。我看到像 Dell R715 这样的服务器有两个用于 Opteron 6100 CPU 的插槽和 128GB 的 RAM,可以使用 16 x 8GB DIMM。
每个 CPU 都有一组与之关联的 DIMM。
我的问题是,如果我将 Linux 放在这样的机器上,每个 CPU 只能寻址一半的 RAM 吗?换句话说,如果我在 Linux 下运行一个单线程程序,那个进程可以访问 128GB 的 RAM 还是只能访问 64GB 的 RAM?
严格来说,该单线程进程可以访问服务器可用的所有内存。你不必担心。
该进程将可以访问RAM 中的所有内存,但访问其中一半内存(理论上)比访问另一半内存慢。我知道 VMWare-ESX 知道内存局部性,因为它试图将特定 VM 的所有内存与进程执行保持在同一内存节点上,以保持良好的性能。
该技术称为非统一内存访问 (NUMA)。很有可能你的 Linux 机器已经有了它的位(numastat应该返回数据)。该numactl程序为您的进程分配内存策略,如果您正在编写自己的代码并希望优化内存速度,这将非常有用。CPU 本地内存的获取速度将比另一个 CPU 内存节点中的内存快,这可能对您有用,具体取决于您使用它做什么。
| 归档时间: |
|
| 查看次数: |
435 次 |
| 最近记录: |