Linux kernel 在NUMA中,每个CPU是否也有类似于本地RAM的本地I/O控制器?

Linux kernel 在NUMA中,每个CPU是否也有类似于本地RAM的本地I/O控制器?,linux-kernel,numa,Linux Kernel,Numa,在非统一内存访问中,每个cpu是否都有自己的I/O控制器?我知道在NUMA中,每个CPU都有其本地RAM。就像每个处理器都在运行一个单独的进程。它们可以使用IPC机制(如Socket等)相互通信。我只是想知道,就像每个本地RAM一样,它们也有本地I/O控制器吗?答案是没有。但是,不同的硬件代可能有不同的体系结构。请参阅以下架构图,这些架构图可能有助于回答您的问题: NUMA系统中的节点具有本地RAM,并且可以具有本地I/O。后者在很大程度上取决于系统在硬件级别的配置方式。如果内存交换是通过I/O

在非统一内存访问中,每个cpu是否都有自己的I/O控制器?我知道在NUMA中,每个CPU都有其本地RAM。就像每个处理器都在运行一个单独的进程。它们可以使用IPC机制(如Socket等)相互通信。我只是想知道,就像每个本地RAM一样,它们也有本地I/O控制器吗?

答案是没有。但是,不同的硬件代可能有不同的体系结构。请参阅以下架构图,这些架构图可能有助于回答您的问题:


NUMA系统中的节点具有本地RAM,并且可以具有本地I/O。后者在很大程度上取决于系统在硬件级别的配置方式。如果内存交换是通过I/O访问执行的,那么显然每个CPU都必须有自己的I/O控制器

这里有一个(旧)NUMA系统的示例,每个节点都有本地I/O:

另一个例子:SGI UV机器是由“计算刀片”构建的NUMA系统,单个UV系统可以有许多刀片配备I/O转接卡。请参阅“分布式共享I/O”一节。