hide random home http://www.microsoft.com/TechNet/boes/bo/winntas/technote/nt205.htm (PC Press Internet CD, 03/1996)

Updated: March 13,1996 TechNet Logo Go To TechNet Home Page

Clustering for Windows NT: Enterprise Computing with PC LANs-Contents

Presented by: Scott H. Davis
Scott is a Consultant Software Engineer with Digital Equipment Corporation. He is the Technical Director and Engineering Manager for the Windows NT Cluster Project. Scott is an operating systems and distributed systems expert with over 16 years of industry experience. Prior to his current role, Scott was the VMS Cluster Technical Director. He was responsible for key Production System technologies on OpenVMS, including Clusters, RAID, I/O subsystems, and data communications. He holds a B.S. (1978) in Computer Science and Applied Mathematics from the State University of New York at Albany. Scott also holds numerous patents on RAID technologies.

icobrnchOverview
icobrnchTechnology Overview
icobrnchProduct Plans


Overview

Clusters Is Digital Know-How

Digital possesses a valuable expertise and core competency in its leadership cluster technology. It pioneered and literally defined "clusters" in the mid-1980's with its highly successful VMScluster product. Over the years, many Fortune 1000 companies have bet their business on this technology; and today the VMScluster product still stands as the industry's benchmark cluster solution. Now Digital is bringing its leadership cluster technology and expertise to Microsoft® Windows NT™, specifically designed for client-server LANs.

The Move to Client-Server

graphic

In the industry today, a significant number of customers are adopting a client-server LAN computing model, in which desktop PCs and workstations have access to, and often rely on, services provided by specialized server systems. Many of these customers are evolving their existing PC LAN environments (upsizing) to take advantage of the higher capacity and increased performance and reliability of new-generation server systems. Similarly, many corporate customers are downsizing their IT operations to exploit client-server's flexibility and access to low-cost, commodity hardware and software products.

As each of these customer types deploys client-server solutions in their enterprise, they are concerned about system reliability and a cost-effective growth path for the future, attributes that are critical to supporting their user community and running their business. Digital's cluster technology on Windows NT is well suited to address these concerns by enhancing the availability, scalability, and management of data and key services within a client-server LAN environment.

What is a Cluster?

A cluster is a loosely-coupled set of systems that behaves (is addressed and managed) like a single system, but provides high levels of availability through redundant CPUs, storage, and data paths. Clusters are also highly scalable, meaning that CPU, I/O, storage, and application resources can be added incrementally to efficiently grow capacity. For customers, this translates to reliable access to system resources and data, and investment protection of both hardware and software. Digital's Clusters for Windows NT will provide these valuable attributes in a manner compatible with the Windows NT operating system and consistent with the requirements of client-server LANs.

graphic

In a typical client-server LAN, a single server system provides file, print, and/or application services to a group of desktop clients. In a cluster client-server configuration, the notion of a single server serving clients is extended to include multiple server systems. The collection of servers, called a cluster, works as, and is viewed by clients as, a single server system. This is accomplished via cluster software, which performs the management, integration, and synchronization of the cluster members.

Like the single server environment, a cluster provides a single security and management environment. Clients can also view resources and services in the cluster as if they were local. A major advantage of a cluster LAN is the ability to add system components incrementally to both grow server capacity and to build in component redundancy for higher availability.

Digital Clusters for Windows NT

Windows NT is an excellent LAN server platform, delivering the capabilities and performance customers need to run client-server applications using standard, low-cost hardware and software components. Digital's Clusters for Windows NT is a perfect complement to Windows NT, taking advantage of NT's power, ease of operation, manageability, broad application base, and easy integration with existing LAN infrastructures.

Digital has designed Clusters for Windows NT software from the ground up to bring the benefits of distributed availability and scalability to client-server workloads and usage models. It is not simply a port of existing VMScluster technology. Clusters is also architecturally compatible with the Windows NT operating system. It uses standard, extensible NT interfaces and mechanisms, such as NT's layered driver and network architecture. As a layered implementation, cluster software is isolated from core NT components, yet it integrates seamlessly with the Windows NT environment. For example, management utilities work unchanged with clusters, and the Windows NT Network browsers transparently show cluster "shares" or resources.

graphic

Client-Server Design

The design for Digital's Clusters for Windows NT focuses on providing a server solution, in which a clustered set of servers exports resources and services to a variety of heterogeneous clients, including PCs, Apple® Macintosh®, and workstations. The cluster does this through support of industry standard communications interconnects and protocols. The cluster design also enables clients to view the cluster as a single server environment, and to access resources transparently, as if the resources were local to the client desktop.

The cluster itself is made up of Windows NT™ Server systems, including Intel® 486/Pentium™ and/or Alpha processors, running cluster software. Within the cluster, there is component redundancy in various dimensions (CPU, storage, communications, etc.) that serves to increase availability of the clustered server environment. For example, Clusters for Windows NT supports multiple hosts for SCSI storage, which enables customers to increase storage availability by configuring primary and backup paths to SCSI storage resources. In the event of a failure in, for example, the primary server or its SCSI controller, cluster software will automatically failover access to the requested resource via the backup path. Similarly, clusters supports redundancy in network controllers or other single points of failure that can impact the availability of resources served by the cluster.

Clusters vs. Fault Tolerant

A major advantage of clusters over fault-tolerant solutions is that fault tolerant systems, while providing extremely high levels of availability, typically employ passive standby components that remain idle until a failure occurs. This approach is very expensive, especially considering that the duplicate components go virtually unused. In a cluster, high availability is achieved using active backup subsystems. These backup subsystems perform normal, routine functions, and are themselves primary servers for a given set of cluster resources. The cluster approach enables customers to get the most out of their computing resource investments, and still achieve high levels of availability.

Investment Protection

With Clusters for Windows NT, customers can protect their current and future investments in hardware and software. Clusters for Windows NT will integrate well into existing LAN infrastructures by supporting standard LAN protocols and standard desktop platforms. For example, customers can augment their existing NetWare LANs by integrating a cluster of NT servers. Windows NT customers can also build clusters using their existing NT server platforms. Over time, they can easily grow their server capacity by simply adding additional CPU, storage, I/O, and software as needed. The scalability of clusters eliminates the specter of expensive platform migrations, which often involve the replacement of the current operating system and all related application software. Finally, clusters will support all Microsoft Windows®-based applications unchanged and out-of-the box, protecting existing and future investments in software.

In summary, Clusters for Windows NT offers a cost-effective software solution for delivering highly-available, scalable resources in a client-server LAN. It is fully compatible with Windows NT, and it supports a wide range of industry standard components. For customers who choose to run their business on Windows NT, Digital's Clusters for Windows NT offers the reliability and investment protection they require.

Document Contents


Technology Overview

Taking a high level look at the technology that comprises the design of the Windows NT we see the product is designed from the ground up to bring the benefits of distributed availability, scalability, investment protection and manageability to client server workloads and usage models. Client-server applications are typified by a functional decomposition of the technology implementation between machines. It is inherently asymmetric, in that the workload is divided up into separate, discreet units, which execute on different machines. Our NT Cluster technology both assumes this paradigm as its application model and is itself exploiting this design internally.

This can be contrasted with the original VMS VAXcluster model, which was designed for symmetric, time-sharing workloads and applications. As a result, the NT Cluster design will excel at providing these cluster benefits to the commodity PC-LAN environments and the expected asymmetric configurations.

The Windows NT Cluster design is architecturally compatible with Windows NT. We are using standard, extensible NT interfaces and mechanisms. Windows NT has a layered driver and network architecture that readily lends itself to extending functionality through additional drivers inserted into the I/O stacks. Management utilities will work unchanged with clusters. For example, the Windows NT Network Browsers will transparently show Cluster shares or resources. There are minimal dependencies on NT kernel changes. This is a truly layered cluster architecture, designed to be isolated from core Microsoft components.

The cluster product utilizes architected APIs in NT and exports its own similarly architected APIs. This is to minimize dependencies and foster cluster aware application development - more later.

The NT cluster is concentrating on a server solution. A clustered server will export capabilities to a variety of heterogeneous clients.

Hardware Model

The NT Cluster design utilizes industry standards. The processors can be Intel or RISC, The interconnects are popular LAN technologies, the transport protocols are industry standards, such as TCP/IP and IPX/SPX. The design is modular and extensible, using a building block approach. It is our intention to add functionality over time, with out perturbing the base cluster product.

The Windows NT Cluster hardware design center is driven by our goal to provide cluster technology on commodity, industry standard hardware. This design goal is exhibited across all aspects of the hardware strategy, including processors, interconnects and storage.

There is nothing in the Windows NT cluster design that ties it to a given processor architecture. We expect to support both the Intel and Alpha processor families with v1.0, as well as mixed processor types within the same cluster. Other RISC processor architectures will be considered in future versions and is largely a qualification exercise.. Of course, all processors in an NT cluster must be running the Windows NT operating system.

NT clusters will take advantage of optional hardware assistance where present and useful. Any such attributes will be transparently utilized, when present.. An example of hardware in this category is the Memory Channel or Reflective Memory Interconnect technology.

There are two types of interconnects involved in cluster technology. There is a Processor- to-Processor interconnect and a processor- to-storage interconnect. The original VAXcluster model utilized the CI for both purposes.

For Processor to Processor communication, the Windows NT Cluster will use native NT transports for its communication requirements. These include the internet suite of protocols, such as TCP/IP, the Novell® NetWare® transports, IPX/SPX and the Microsoft LAN manager technology. These transports will be utilized over industry standard hardware, such as Ethernet, FDDI, ATM, Token Ring, etc.

NT Clusters will also make use of a high speed, low latency network interconnect, known as Reflective Memory or memory channel. This interconnect presents a shared memory style interface over a PCI adapter. It is transparently utilized like any other network connection by the cluster software.

The Windows NT cluster storage strategy is open and flexible. It begins with dual-host, parallel SCSI storage. This will evolve, as the storage community evolves. We expect future clustered storage to utilize the serial SCSI architectures, such as SSA and Fibrechannel, or even some flavor of LAN based storage. NT Clusters will continue to utilize commodity storage.

Software Model

Client-server technology is about functionally decomposing an application or solution between systems. It typically entails a client user interface initiating an operation and utilizing services provided by 1 or more server systems. The Windows NT cluster is fundamentally about exporting the same service or resource from the multiple systems that comprise the cluster.

The software design center for the Windows NT Cluster is the partitioned data model. The partitioned data model means that the workload is split up into segments, and that each segment is locally controlled on a member of the cluster. A contrasting model is the shared everything model, where a monolithic workload is executed across multiple systems with a distributed control scheme. Note that an NT cluster is capable of supporting both models, particularly in the database arena. With either model, the cluster presents a coherent set of resources from what appears to be a single system.

A Windows NT cluster denotes a single, coherent name space for its served resources. The architecture supports 1 or more servers exporting the same resource(s) at a given time.

Like Windows NT itself, the cluster APIs are open and extensible. Cluster aware applications can be built in both kernel or user mode.

NT Clusters is a server-oriented solution. Clients are not considered to be members of the cluster, even though they benefit from its capabilities. A unique aspect of the Windows NT Cluster design is that clients always talk directly to the best server for a particular resource. Data never travels multiple hops through intermediate systems with this design. The client talks directly to a controlling server for the resource.

Scalability is achieved in a partitioned data model by dividing the workload amongst the server systems at a fine enough granularity to achieve a balanced workload. In v1.0, that granularity is a share.

Availability is achieved in this model via failover to a replicated path. Context replication can be utilized to varying degrees to provide different levels of seamlessness in failover scenarios.

Cluster Management

Clusters are typically associated with a common management and security domain. These capabilities are present in other products in the NT product set. Common account management and security is provided by the NT Server Domain capability. Common software distribution is achieved via the Systems Management Server product. NT Cluster management will utilize these capabilities and add to it a set of tools, extensions and wrappers to enable the cluster to be managed as a single system.

Cluster management will concentrate on GUI-based management tools and techniques. Cluster management is not intended to solve galactic management problems, but is designed to extend single system management functions to the cluster and to provide tools to manage the clustered resources and services. To provide local management within the cluster of cluster resources, we will build a centralized Windows-based management solution.

In parallel, we will also add DLL extensions to various NT utilities with cluster ramifications. For example, Cluster shares are manipulated from File Manager. Management functions that effect all nodes in the cluster are RPC'd automatically to the other nodes.

Lastly, we may make cosmetic modifications or wrappers for basic NT utilities for clustering. An example of this would be a cluster-wide event viewer.

Cluster Data Access Models

graphic

There are 2 cluster data access models that are prevalent in the industry today. These are the shared everything model and the partitioned data model. Conceptually, the shared everything model can be thought of as symmetric. The same workload synchronized across multiple systems executing in parallel. The partitioned data model is asymmetric. The workload is decomposed into functionally separate units of work, that are performed by different systems in an independent manner.

With respect to physical hardware, the shared everything model is characterized by symmetric access: all processors have equal quality access to the storage elements. Contrast this with the asymmetric access paths associated with the partitioned data access scheme.

From the software perspective, the shared everything model involves distributed control algorithms, typically synchronization primitives like Distributed lock managers and a shared disk. The partitioned data model involves partitioning of the workload and failover primitives.

The NT Cluster File System model is to support the native NT file systems transparently and seamlessly. Utilizing the partitioned data model, each file system partition is exported and controlled by a single cluster member at any instant in time. The partitions are divided up amongst the systems in the cluster.

For high end configurations, additional I/O scaling can be achieved through distributed striping technology. This means that below a file system partition on a single node, that partition can actually be a stripe set whose physical disks span multiple cluster members.

NT clusters will support both prevalent parallel database models in order to achieve both compute and I/O scaling.

The partitioned data database model is characterized by SQL queries decomposed into sub-functions, which are then distributed across the proper nodes in the cluster. This allows for autonomous control of the database segments by the individual systems.

The shared everything database model views the database as a monolithic entity that is directly accessible from multiple systems. It requires a real or emulated shared disk capability and a distributed lock manager for cross system synchronization of colliding operations.

NT Cluster Component Architecture

Here is a high level view of the NT Cluster architecture.

graphic

It shows:

Cluster Applications

All applications benefit from clustering. That said, there are 2 specific types of benefits:

Shrink wrapped applications can transparently benefit from the cluster. They need no modifications. An example of this is running Microsoft Word when the document being modified is on a clustered share. Word transparently benefits from the availability and scalability benefits of the cluster.

Other applications can be targeted for a clustered environment and achieve greater benefits. Cluster-wide database are a good illustration of this category of application. A parallel database can perform load balanced queries across the cluster for a much more scalable database solution.

Databases gain availability benefits as well. The cluster can be utilized to failover access to the database or its components. The result is continued service in the presence of failures.

Workgroup applications can also benefit from both availability and scalability benefits of clusters. Here are some obvious examples of mission critical server technologies that can exploit clusters.

Cluster APIs

Clusters provide a robust suite of APIs for building available, scalable applications. Broadly, these APIs include:

Technology Comparisons

The next series of sections contrasts Clusters for Windows NT with various availability and scalability solutions such as fault tolerance, RAID, and SMP. A key point of these comparisons is to show that Clusters is a solution that provides system level high-availability and scalability

RAID

RAID is very popular in the marketplace today as a technology for storage availability. It is primarily a disk availability solution that protects against disk failures. However, RAID solutions are limited in the availability they provide, since the controller or server for a RAID set represents a single point of failure.

Clusters is complimentary to subsystem-level solutions such as RAID, in that it adds system-level availability by eliminating all single points of failure.

Fault Tolerance

Fault-tolerant computing is about systems that provide non-stop, 24x7 availability. This is usually achieved by configuring a complete, mirrored backup of the primary system. This backup is usually in "hot standby" mode, meaning that it is not adding any capacity to the system until a failure occurs and its capacity is needed. Because the backup system is not active and there is usually significant processing needed to mirror state to the backup system, fault-tolerant solutions do not typically scale; two systems equal less than one system of capacity.

While clustering does not provide non-stop availability, it does provide very high levels of availability at a very low cost, using industry-standard, commodity components. In a cluster, component redundancy is important for availability, but this does not mean that a complete mirrored set of systems is required. For example, in Digital's NT Cluster design, storage is shared and access is balanced between systems. This is a major advantage of clustering over fault-tolerant systems.

Another major advantage of clusters over fault-tolerant solutions is that Clusters scale, because all functional systems are utilized for application work. Also, the amount of system synchronization is significantly less than fault tolerant solutions leading to a more scalable solution. Two node clusters typically approach two systems' worth of capacity in steady state situations. The cluster approach enables customers to get the most out of their computing resource investments, and still achieve high levels of availability.

SMP

Symmetric Multi-Processing (SMP) is a processor scalability solution that allows for the extension of processing capacity through the addition of processors. This is a tightly coupled arrangement, in which the processors share memory. This tight coupling with shared memory along with other factors, such as the type of operating system and applications, impose limits on the scalability of SMP systems.

Clusters is a system scalability solution that is comprised of loosely-coupled systems each with their own dedicated memory. Clusters allow for broader scaling in multiple dimensions, including CPU, Storage, and I/O capacity.

It should be noted that SMP and Clusters also differ in the application programming model. SMP can be characterized as multi-threading utilizing shared memory programming constructs. Clusters can be characterized as a message passing programming paradigm.

Document Contents


Product Plans

Now let's take a look at the specific plans for Digital Clusters for Windows NT v1.0

Related to the product goals and attributes are a set of overriding objectives for the product:

1. First, it is clear that we need to hit the market in a timely fashion with a very solid Version 1 product. The approach here is to focus our v1.0 efforts on delivering high-quality base cluster capabilities quickly, rather than delaying product introduction by attempting to build-in an exhaustive set of features. Our mindset is to deliver a solid v1.0 foundation that we can build on over time. We plan to deliver NT Cluster capabilities according to a planned, phased rollout schedule.

2. A key objective is to seed the development of cluster-aware applications by providing ISVs with a Cluster Software Development Kit (SDK). In the v1.0 timeframe, we plan to build v1.0 and the SDK in parallel, but release them asynchronously, according to requirements of their respective audiences. The mindset here is to establish a foothold in the marketplace quickly with a v1.0 base product, while seeding the ISV base for future applications.

In summary, our rollout strategy is to:

Comdex Technology Demonstration

graphic

A major milestone for the Clusters for Windows NT project was our demonstration of the technology at the Fall 1994 COMDEX event in Las Vegas. In fact, Digital Clusters for Windows NT won the Byte Magazine award for Most Significant Technology at this show. The Most Significant Technology award is for the technology predicted to have the greatest impact on the industry in the coming years.

The COMDEX Cluster configuration consisted of a 3 node, mixed processor cluster. There were shared SCSI buses for redundant storage paths and both major NT file systems were demonstrated. PC clients accessed services from the cluster in the demonstrations.

The COMDEX demo showed three main areas of clusters:

The first area is the ability to transparently access cluster resources using to familiar File Manager. We browsed and connected to cluster shares just like other network shares. and the cluster automatically connected to the best server for the given share.

The second demonstration showed seamless failover and recovery. A program which graphically demonstrated I/Os sent to the cluster was utilized on a client PC. The server it was talking to was power failed. The program stalled and resumed within seconds, as the cluster failed over and resumed services needed by the application.

The last demo illustrated cluster benefits to vanilla applications. A Microsoft Word session was started on a PC client with the document located on the cluster. The controlling server was crashed while the document was edited. There was no visible failure at the client and the document was closed and reopened with all changes intact.

Product Rollout

Our plan for Version 1.0 of Digital's Clusters for Windows NT is to deliver highly-available, highly-scalable file server capabilities. Specifically, the v1.0 product will offer the following attributes:

The Cluster SDK is intended to foster development of cluster aware applications. It will include all APIs and interfaces to the cluster components and services. Digital intends to gear the SDK to the requirements of application providers.

The SDK will include a variety of development tools, documentation, sample code and build procedures intended to aid developers in their efforts.

Follow-up versions of the cluster product will add additional capabilities and portions of the architecture, as well as embrace new technologies such as Cairo.

© 1995 Microsoft Corporation.

THESE MATERIALS ARE PROVIDED "AS-IS," FOR INFORMATIONAL PURPOSES ONLY.

NEITHER MICROSOFT NOR ITS SUPPLIERS MAKES ANY WARRANTY, EXPRESS OR IMPLIED WITH RESPECT TO THE CONTENT OF THESE MATERIALS OR THE ACCURACY OF ANY INFORMATION CONTAINED HEREIN, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. BECAUSE SOME STATES/JURISDICTIONS DO NOT ALLOW EXCLUSIONS OF IMPLIED WARRANTIES, THE ABOVE LIMITATION MAY NOT APPLY TO YOU.

NEITHER MICROSOFT NOR ITS SUPPLIERS SHALL HAVE ANY LIABILITY FOR ANY DAMAGES WHATSOEVER INCLUDING CONSEQUENTIAL INCIDENTAL, DIRECT, INDIRECT, SPECIAL, AND LOSS PROFITS. BECAUSE SOME STATES/JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF CONSEQUENTIAL OR INCIDENTAL DAMAGES THE ABOVE LIMITATION MAY NOT APPLY TO YOU. IN ANY EVENT, MICROSOFT'S AND ITS SUPPLIERS' ENTIRE LIABILITY IN ANY MANNER ARISING OUT OF THESE MATERIALS, WHETHER BY TORT, CONTRACT, OR OTHERWISE SHALL NOT EXCEED THE SUGGESTED RETAIL PRICE OF THESE MATERIALS.

Document Contents


search icon Click Here to Search TechNet Web Contents TechNet CD Overview TechNet logo Microsoft TechNet Credit Card Order Form
At this time we can only support electronic orders in the US and Canada. International ordering information.


TechNet logo Go To TechNet Home Page ©1996 Microsoft Corporation Microsoft homepage Go To Microsoft Home Page