我的老板想知道HP DL320 G5是否启用了NUMA。 我试过网上search,但找不到任何具体的信息。
有没有人知道如果这台服务器适合运行NUMA应用程序?
Opteron和Nelahem(55xx及更高版本)Xeon具有NUMA架构 – 每个插槽都有自己的内存总线,插槽之间有连接。 这个链接被称为Opteron系统上的Hypertransport和Xeons上的Quickpath。 G5早于Nelahem,仍然使用旧式前端巴士,这不是NUMA架构。
Opteron和35xx / 55xx或更高版本的Xeons可以使用纯粹的NUMA寻址模式,其中每个套接字的内存位于物理地址空间的连续部分。 如果你想运行一个NUMA感知的应用程序(例如支持处理器亲和力),那么你可以设置系统在这个模式下运行。
这种types的系统也具有传统模式,其中单个4K页面跨插槽交替,因此存储器访问在插槽之间被良好地混合。 由于所有存储器访问的一半必须通过Hypertransport总线到达另一个套接字(在Xeons的情况下是Quickpath),所以这具有轻微的性能开销。 但是大多数访问将被caching,所以性能开销相对较小。
此模式允许系统有效地运行不支持NUMA的应用程序,并且通常是系统启动的默认模式。通常,您可以在BIOS中对其进行configuration。
您的G5不会以NUMA模式运行,因为它具有前端总线架构。 FSB是由内存和所有处理器插槽共享的单一总线,因此具有统一的内存访问特性,即不是NUMA。 我不知道任何依赖于NUMA体系结构的wintel或lintel应用程序; 有可能是应用程序不需要NUMA,但将支持它,如果存在。 您可能仍然可以在旧的G5系统上运行该应用程序。 这是否是相关的取决于应用程序和你想达到什么。
NUMA支持应用程序
某些应用程序(例如SQL Server)可以通过优化内存,I / O利用率和调度来实现显着的性能优势,从而最大限度地减less对非本地访问的处罚。 在应用程序中实现NUMA支持需要从操作系统提供支持function,例如:
调度程序关联:可以将一个线程放在一个池中,该池具有在一个或一组处理器上进行调度的优先级。 请注意,NUMA在一条内存总线上可以有多个处理器 – 对于多核Opteron或Xeon,单个芯片上的内核都共享相同的总线。 这允许线程请求本地内存或使用CPU池本地的内存池。 而且,当一个线程保存在本地CPU上时,它就像调度线程一样将caching抖动最小化 – 工作集就是使用该特定内核的线程的工作集。
内存亲和力:线程可以请求内存并指定它必须或应该从内存本地到套接字可用。 在同一总线上保持内存和CPU使用率可最大限度地减less非本地内存访问的开销。 在现代的NUMA系统上,开销并不是很高,但在早期的Sequent设备等较早的系统中,非本地访问速度要慢得多。
I / O相关性:外设总线可以连接到本地CPU,因此可以在接近I / O的处理器上调度I / O处理。 大多数NUMA系统具有多个I / O总线,所以将中断处理程序和DMA安排到本地内存在I / O性能方面具有一些优势。
第一个NUMA Xeon是GXX不能使用的55xx系列,所以不是。