Windows NT Server 3.5 Scalability

Prepared by the Windows NT Server Product Group June, 1995

The Microsoft® Windows NT™ Server operating system offers a truly scaleable platform on which to build business solutions. This scalability means Windows NT Server-based applications can meet the changing needs of small, medium, and large organizations by running on a broad range of hardware - from machines with one processor and 16 megabytes of memory to machines with 32 processors and 4 gigabytes of memory. By running on such a broad set of hardware, Windows NT Server-based solutions grow with an organization. Hardware power can be added to an existing software solution, resulting in increased capacity and performance with no changes to the application's operation or management. Similarly, by deploying Windows NT Server-based solutions consistently throughout an organization, the different groups within that organization can readily share information and benefit from consistent, easy-to-use application interfaces.

This Technology Brief discusses the components of a truly scaleable operating system, why scalability must be a design objective for the operating system, and how detailed consideration of hardware and application architecture is critical to the development of a genuinely scaleable solution.

What Makes a System Scaleable

Scalability depends on the overall architecture of the entire application server. The three critical components of a scaleable system are:

No one element by itself is sufficient to guarantee scalability. High performance server hardware is designed to scale to multiple processors, providing specific functionality to ease disk and memory bottlenecks. Applications and operating systems in turn must be able to take advantage of multiple CPUs. All three components are equally important.

Operating System

A well-designed server operating system can exploit properly designed and configured multiprocessing servers. The architecture of the operating system should provide applications portability across processor types, multiprocessor architectures, and advanced I/O devices.

Windows NT Server: Acquiring Multiprocessor Versions

As mentioned, Windows NT Server will run on hardware with as many as 32 processors. It is important to note that the retail version of Windows NT Server is licensed to run on machines with up to four processors. This is not a limitation of Windows NT Server' scalability. It is a licensing restriction of the retail package. Versions of Windows NT Server that run on more than four processors are available from Microsoft's OEM partners who offer multi-processor hardware systems. Windows NT Server is included as part of the base system on these larger machines and is fully supported by Microsoft's OEM partners.

Windows NT Server's Symmetric Multiprocessing Architecture

Microsoft invested considerable time and effort in Windows NT Server's SMP technology. Windows NT Server's ability to run on machines with up to 32 processors is one of the operating system's most important features. It is fundamental to the design of the kernel. The technology necessary to achieve genuine, load balancing symmetric multiprocessing is intrinsic to all components of Windows NT Server. It is not something that could have been "added on" later. This is important to note when evaluating multiprocessing operating systems. When SMP is not integrated into the basic design of an operating system, its implementation is inherently limited. In addition, Microsoft collaborated with many vendors that supply multi-processor hardware to provide full optimization of Windows NT Server and its associated applications.

Operating System Architecture

The critical distinction of Windows NT Server's architecture is that access to key system resources is dynamically and equally parceled out. A small number of worker tasks or threads service the queue of incoming user requests with dynamic load balancing across CPUs and high performance access to protected virtual memory space and network I/O.

Dynamic Load Balancing Across CPUs

User requests or application tasks are not bound to a particular processor. A thread can pick up additional user requests during available cycles on any CPU until the system notifies the user that earlier requests have been completed or require attention.

This scenario, common to most distributed applications, requires preemptive scheduling of tasks across CPUs, protected memory spaces with advanced virtual memory, and asynchronous I/O. The result is a very high-performance, low-overhead application system with well balanced use of all available system resources. This dramatically reduces the opportunity for single processor bottlenecks.

Scalability allows customers to deploy the same Windows NT Server-based applications and services on whatever class of hardware they require. Customers can choose single or multiprocessor hardware from many different vendors resulting in the best performance for the best price.

High Performance, Asynchronous I/O

Threads have the ability to transfer data, whether in memory, on disk, or over the network, without blocking the system while waiting for completion. The system notifies the requester when the task is complete.

Protected Virtual Memory Space

Threads can work with large amounts of data because virtual memory transparently accesses disk-based information when necessary, without any risk of corrupting another application's data. Since the total virtual memory on a Windows NT Server-based system can significantly exceed the amount of real physical memory, Windows NT Server-based applications can work with extremely large amounts of data.

Industry-Leading Price-Performance Ready to Deploy Today

TPS (transactions per second) benchmark results for Windows NT Server are available today from the Transaction Processing Council. These tests have repeatedly demonstrated that Windows NT Server's cost per transaction and total transaction processing power are the best available today.

Application Software

Most SQL DBMS products (from vendors such as Oracle, Sybase, and Informix), as well as Groupware products (such as Lotus® Notes®) have been developed and tuned for the UNIX® operating system for quite some time. These applications sometimes do not take full advantage of Windows NT Server. However, many of these products, such as Lotus Notes, are aggressively being tuned to maximize the built-in scalability of Windows NT Server.

Lotus Notes as a Case Study

At the recent Windows NT Server Professional Developers' Conference, Lotus presented an overview of the development of Lotus Notes for Windows NT Server 3.5. Lotus' internal benchmarks showed an approximate ten-fold increase in transactions per minute on a six processor Pentium™ simply by tuning for Windows NT Server during the design phase. Lotus' experience clearly shows the importance of integrating native services on a scaleable platform.

A Custom Benchmark for Microsoft SQL Server for Windows NT as a Case Study

Well designed applications enjoy excellent scalability on Windows NT Server. Microsoft SQL Server's unique Symmetric Server Architecture was engineered to take optimum advantage of the native multiprocessing capabilities for Windows NT Server. The graph below demonstrates the scalability of Microsoft SQL Server 4.21a in a 50 user test on an NCR® 3550 Pentium server. Notice the scalability of SQL Server in a high-volume OLTP environment with up to 8 Pentium processors.

This internal SQL Server benchmark demonstrates excellent scalability in a 50 user test on a NCR 3550 Pentium server.

Hardware

Not all server hardware is created equal. One example of the limitation of the hardware platform is how fast it can access data in RAM to move data between the processors and main memory. If the platform only has the memory bandwith to handle 6 processors, adding two more processors won't improve performance.

The typical Intel®-based PC multiprocessing server currently on the market can support a maximum of four processors because of the limitations in the memory throughput of standard hardware buses that connect the CPUs with memory. Higher end systems that utilize more than four processors must design their own proprietary architectures to get beyond memory and disk bottlenecks to achieve greater scalability. For example, AT&T® and Sequent® currently provide OEM versions of Windows NT Server that take advantage of their customized, high-end hardware.

The Membench benchmark graph below illustrates how performance can vary depending on the hardware platform. In this case, memory throughput varies. Applications which require greater memory throughput, such as a DBMS, will show greater scalability on Machine A.

The Membench benchmark illustrates how scalability can be constrained by throughput between CPUs and main memory. Less throughput means lower performance, even with additional CPUs.

Customer Success With Scaleable Windows NT Server Deployments

Windows NT Server has been deployed successfully in many large-scale customer sites, often demonstrating tremendous scalability. For example, Bell Atlantic recently migrated their budgeting process from mainframe-based IMS/Focus applications to a more flexible and responsive system based on Microsoft SQL Server. The system supports users with databases replicated over several sites. The largest sites have AT&T GIS 3455 SMP servers with six 90mhz Pentium processors and 40-gigabyte RAID arrays. The current deployment extends to 8 servers and 420 clients and will ultimately include 19 servers and more than 1,000 clients.

Conclusion

By providing organizations with a truly scaleable operating system platform, Windows NT Server provides the flexibility to expand application performance and capacity without forcing users to deploy entirely new solutions. Windows NT Server is a multi-purpose, manageable platform that helps its users preserve their computing investments while effectively helping them share information throughout the entire organization.

© 1995 Microsoft Corporation

Microsoft is a registered trademark and Windows NT is a trademark of Microsoft Corporation.

AT&T is a registered trademark of American Telephone and Telegraph Company. Pentium is a trademark and Intel is a registered trademark of Intel Corporation. Lotus and Lotus Notes are registered trademarks of Lotus Development Corporation. NCR is a registered trademark of NCR Corporation. Sequent is a registered trademark of Sequent Computer Systems, Inc. UNIX is a registered trademark of Novell, Inc. in the United States and other countries, licensed exclusively through X/Open Company, Ltd. X/Open and the X device are trademarks of X/Open Company Ltd.
0395 Part No. 098-59653




 
Previous Page    Home     Next Page