The Redmond, Wash.-based software company is working on support for a technology called non-uniform memory access, or NUMA, one method for designing large servers crammed with processors, said Sean McGrane, program manager for Microsoft's top-end Datacenter server. The support will be available in two versions of the next edition of Windows for servers, .Net Enterprise Server and .Net Datacenter.
McGrane described the technology in a talk here at the Windows Hardware Engineering Conference, or WinHEC, where Microsoft is apprising hardware engineers of its plans, a key part of ensuring success for the company's software.
NUMA is named for the fact that it can take different amounts of time to fetch information from memory. NUMA groups processors and memory into several separate cells. A processor fetching information from memory within its cell can get the data rapidly. Under standard server architectures, memory and processors are separated from each other and communicate across a heavily trafficked bus.
The NUMA technology is something of an endangered species in the server world. It has been used for SGI's mammoth machines with hundreds of processors, but SGI's financial troubles have kept its machines relegated to something of a niche.
Data General's Aviion servers, which incorporated NUMA, wereby EMC in 1999 then discontinued last year. And IBM Sequent in 1999, but it has from that company's NUMA line.
Microsoft has been striving for years to catch up to Unix, which has lived comfortably on multiprocessor servers for years. Doing so would help the company gain a place in prestigious, important accounts at the heart of corporate operations. NUMA support could help this push if it makes it easier for hardware designers to create multiprocessor servers.
NUMA isn't mandatory, though. Higher-end, eight-processor servers currently are available from IBM, Hewlett-Packard, Compaq Computer and Dell Computer, with IBM poised to sell a 16-processor model and Unisys selling a 32-processor system.
Microsoft's support for NUMA defines standard communication channels so software can determine whether it's running on a NUMA machine and, if so, how the server is configured, McGrane said.
When NUMA is running, Windows divvies up processing tasks to try to keep things running as fast as possible, McGrane said. It does this by assigning each computing process to a processing cell such that most of the related tasks that process spawns are contained within the cell where data communication is fast.