2011-05-29 77 views
1

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

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

回答

3

我知道,如果你希望系统的拓扑结构,你可以从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。

+0

谢谢..我现在正在下载ACPI规范... – prinzrainer 2011-06-09 08:06:38

+0

我仍然怀疑bochs是否会支持NUMA模拟(你是否有一个免费的模拟器,它有一个支持NUMA和x2APIC的debbugger?).. 。尽管我猜想即使仿真器/实际机器没有NUMA支持(通过修改ACPI表格,只是为了NUMA仿真,即使没有任何性能增益),也可以实际上实现NUMA域。内核本身...... – prinzrainer 2011-06-09 08:18:51

+0

我不知道任何具有NUMA支持的免费模拟器。您可以尝试看看AMD SimNow!模拟器,但我不认为它具有多CPU支持或x2APIC(尽管它模拟了很多现代硬件)。 否则,我只是用Bochs的或Qemu中的SMP模式(甚至可能添加这些ACPI表)。我没有看过Qemu的来源,但是我知道Bochs写得很好,你可能会考虑修改它,至少是原始的NUMA模拟。 – 2011-06-09 15:19:38