前面介绍了NUMA的很牛的架构,那目前系统层面上,软件对NUMA的支持怎么样呢?请见本文:NUMA架构软件支持栈
对于NUMA架构而言,经过了几十年的发展,目前的软件支持栈已经非常完备,从底层的操作系统,到之上的数据库、应用服务器,基本所有主流的产品均以为NUMA提供了充分的支持。
操作系统(Operating System)
目前,Windows Server 2003 和Windows XP 64-bit Edition, Windows XP等都是NUMA aware的,而Windows Vista则有了对Numa调度的支持。所有使用2.6版本以上kernel的Linux操作系统都能够支持NUMA。而Solaris,HP-Unix等UNIX操作系统也是充分支持NUMA架构的。
数据库(Database)
对于数据库产品来说,Oracle从8i开始支持NUMA,而之后的Oracle9i,Oracle10g,Oracle11g都能够支持NUMA。SQL Server 2005 和SQL Server 2008均有效的提供了对NUMA的支持。
中间件服务器(Middleware)
目前业界典型的受控程序主要是Java应用和.Net应用。由于内存分配,线程调度对于应用而言是透明的,完全是由虚拟机来处理。因此它们在NUMA环境下的性能表现主要取决于虚拟机的实现是否能充分利用到底层操作系统对NUMA的支持。
综上所述,目前的软件栈对NUMA架构均已经作了充分的支持。那么应用软件如何支持NUMA架构呢?请见下面章节的论述。
转载于:https://blog.51cto.com/intelisn/130487