NUMA support

Dec 28, 2008 20:51 GMT  ·  By

Windows 7 will be able to take advantage not only of faster CPUs, but of multiple processors on a single chip. The 64-bit edition of the operating system in particular will be able to support over 64 Logical Processors per machine. In this regard, Microsoft underlined the need for software developers to adapt their applications in accordance with the evolution of processor chips and that of the Windows operating system. Essentially, consistent gains in performance are synonymous with using parallel programming techniques in concordance with many-core processors. This is where non-uniform memory access (NUMA) comes in.

“The 64-bit versions of Windows 7 and Windows Server 2008 R2 support more than 64 Logical Processors (LP) on a single computer,” Phil Pennington, Windows Server Technical Evangelism, revealed. “New processors are now appearing that leverage non-uniform memory access (NUMA) architectures. Within the near future, a system with 4 CPU sockets, 8 processor-cores per socket, and with Simultaneious Multi-Threading (SMT) enabled per core, will achieve 64 Logical Processors. Many server-class solutions will need to be architected with NUMA awareness in order to achieve linear performance scaling on 64+ LP systems.”

NUMA is a designed to allow a way around the limitations of the processor bus. Because of its non-linear characteristics, each processor is more intimately connected with its proximate memory, rather than with all the memory available. Unlike the Symmetric Multi-Processor (SMP) model, in which processors are all on par when it comes down to memory and I/O access, NUMA allows for memory access optimization.

“There is nothing the matter with NUMA – machines with non-uniform memory access speeds – of course, other than the fact that they introduce complex, hardware-specific programming models if you want to build applications that can harness their performance and capacity effectively. What is decidedly new is the extent to which previously esoteric NUMA architecture machines are becoming mainstream building blocks for current and future application servers. For the connected applications of the future, our ability to build programming models that help server application developers deal with complex NUMA architecture performance considerations is the singular challenge of the many-core era,” Windows Performance Engineer Rick Vicik explained.