【问题标题】:NUMA documentations for x86-64 processor?x86-64 处理器的 NUMA 文档?
【发布时间】:2011-09-04 03:22:41
【问题描述】:

我已经在寻找 X86-64 处理器的 NUMA 文档,不幸的是我只找到了 NUMA 的优化文档。

我想要的是:如何在系统中初始化 NUMA(这将包括获取系统的内存拓扑和处理器拓扑)。有人知道关于 X86-64 AMD 和 Intel 处理器的 NUMA 的好文档吗?

【问题讨论】:

    标签: x86-64 intel osdev numa amd-processor


    【解决方案1】:

    我知道,如果您想要系统拓扑,可以从 ACPI SLIT(系统位置信息表)或 SRAT(静态资源关联表)中获得。您可以从此处的 ACPI 规范 (http://www.acpi.info/spec.htm) 中了解更多相关信息,特别是第 5.2.16 和 5.2.17 节。

    基本上,您使用 SRAT 来确定哪些内存范围与哪些 CPU 相关联,并且您使用 SLIT 来确定使用特定 CPU/内存范围的相对成本。这两个表都是可选的,但根据我的经验,大多数 NUMA 系统至少有一个有用的 SRAT。

    就初始化而言,我认为我帮不上什么忙。您可能想了解如何在 Linux 内核(或 BSD 内核)上启动处理器。您可能还需要阅读本地 APIC,因为它们用于初始化 x86 AP。

    【讨论】:

    • 我仍然想知道 bochs 是否/将支持 NUMA 仿真(你有一些免费的模拟器,上面有一个支持 NUMA 和 x2APIC 的调试器吗?)......虽然我猜 NUMA 域总是可以即使模拟器/真机没有 NUMA 支持(只是为了 NUMA 模拟,即使没有任何性能提升),也可以通过修改 ACPI 表..或在内核本身中对其进行硬编码来实现虚拟化......
    • 我不知道有任何支持 NUMA 的免费模拟器。您可以尝试查看 AMD SimNow!模拟器,但我认为它没有多 CPU 支持或 x2APIC(尽管它确实模拟了相当多的现代硬件)。否则,我只会在 SMP 模式下使用 Bochs 或 Qemu(甚至可能添加那些 ACPI 表)。我没有查看 Qemu 的源代码,但我知道 Bochs 写得相当好,您可能会考虑修改它以至少进行原始 NUMA 模拟。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-30
    • 1970-01-01
    • 2023-03-12
    • 2017-07-11
    • 2015-01-20
    • 2012-03-09
    • 2022-12-11
    相关资源
    最近更新 更多