Windows Clusters Asma Ounnas, Bilel Remmache, Tom Davis and Toby Weiss Introduction •What are Windows Clusters •Network Load Balancing Clusters •Component Load Balancing Clusters •Server Clusters •Microsoft Windows Clustering Services (MSCS) •NT, 2000 and 2003 •Cluster Membership and Resource Management •Applications supporting MSCS •Alternatives to Windows Clustering •High Performance computing •Research Directions in Windows Clustering •High Performance Computing •TerraServers •Image Clustering What are Windows Clusters? What are Windows Clusters? A collection of Windows Servers working together. Three clustering technologies exist: 1. Network Load Balancing Clusters 2. Component Load Balancing Clusters 3. Server Clusters What are Windows Clusters? 1. Network Load Balancing Clusters •The Network Load Balancing (NLB) service enhances the availability and scalability of Internet server applications •These include: Web, FTP, firewall, proxy and VPN servers - any applications which communicate using the TCP/IP or UDP protocols •Each host runs separate copies of the Web Server Application •Client requests are distributed across hosts in a cluster •If a host goes offline for any reason, requests are automatically redistributed amongst remaining hosts – providing redundancy •For increased user capacity and fault tolerance, additional servers can be added at any time, allowing the Web applications to be distributed further What are Windows Clusters? 1. Network Load Balancing Clusters Two connected NLB Clusters – to interlink distributed Firewalls and Web Servers Taken from: http://www.microsoft.com/resources/documentation/WindowsServ/2003/standard /proddocs/en-us/Default.asp?url=/resources/documentation/WindowsServ/2003/standard /proddocs/en-us/NLB_key_features.asp What are Windows Clusters? 2. Component Load Balancing Clusters •This feature of Microsoft Application Center 2000 allows COM+ applications to be distributed across multiple servers •The main purpose of this cluster type is for distributing servers for large web-site applications usually involving both a Web Tier (to provide web page layouts etc) and a Business Logic Tier (e.g. providing a connection to a database server) •This provides: Manageability – Single unified content management system, for content distributed across clusters, remote administration Scalability – Easy to cope with changing throughput needs Availability – No single point of failure – redundant web-sites What are Windows Clusters? 3. Server Clusters •“A server cluster is a group of independent computer systems, known as nodes, working together as a single system to ensure that critical applications and resources remain available to clients”[1] •They provide high-availability application support for distributed servers such as Database servers (such as MS SQL), Collaboration servers (such as Exchange) and Infrastructure servers (such as file and print servers) •Every node may be attached to one or more cluster storage devices •Clusters can be setup, configured and managed remotely using specialised Administrative software [1]: Microsoft Windows Server System – Server cluster overview – 2004 – Available from the World Wide Web: http://www.microsoft.com/resources/documentation/WindowsServ/2003 /standard/proddocs/en-us/Default.asp?url=/resources/documentation/WindowsServ/2003/ standard/proddocs/en-us/cs_about_3jub.asp What are Windows Clusters? 3. Server Clusters (Continued…) •Clustering software is used to control communication between nodes. It manages communication to control resource management and also controls cluster activity, communication between cluster nodes, and failure operations. •Administrative Software allows configuration, control and monitoring of clusters and the nodes within them What are Windows Clusters? 3. Server Clusters (Continued…) Server Clusters Example Diagram [1] Microsoft Cluster Service MSCS (Microsoft Cluster Service) • First shipped with Windows NT Server Enterprise Edition (1997) • Later upgraded in Windows 2000 Advanced Server and Windows Server 2003 Microsoft Cluster Service MSCS Terminology • Node • Resource • Group • Quorum resource • Virtual Server • Heartbeats Microsoft Cluster Service Windows NT Clusters • Cannot have more than two nodes Nodes, groups, and resources Microsoft Cluster Service Win 2000 Vs Win 2003 MSCS • Windows 2000 Server: – Advanced Server: 2 nodes – Datacenter Server: up to 4 nodes – Support for geographically dispersed nodes • Windows 2003 Server: – Up to 8 nodes in both Advanced and Datacenter – Support for N+I configurations and 64-bit Processors – Majority Node Set Microsoft Cluster Service How do MSCS work? MSCS deals with: • Cluster membership activities • Resource management (and failure handling) • Application state failover • Cluster management Microsoft Cluster Service Cluster Membership Start Cluster Offline Initializing Service Fails Cluster Service Started Search Fails Sleeping Complete Rundown Retries Exceeded Timeout Member Search Search Fails Quorum Disk Search Found Online Member Exiting Quorum Disk Found Join Fails Forming Joining Join Succeeds Paused Pause Evict or Leave Cluster Shutdown System Stop Cluster Service Key: Resume Synchronize Succeeds Online - Externally visibile state - Internal state State transition diagram for cluster membership Microsoft Cluster Service Resource Management • Resource Control Libraries map to different resources • A resource can be: – Offline – Online pending – Online – Offline pending – Failed • Failed resources are recovered Microsoft Cluster Service MSCS Supported Applications • Microsoft SQL Server • Oracle Database Server • SAP R/3 • Microsoft Exchange • Microsoft Internet Security But not many more! Windows Vs. Other Systems Windows provides support for High Availability (HA): • Network load balancing • Failover and redundancy But there is another kind of clustering . . . Windows Vs. Other Systems High Performance Computing Currently Windows has no built-in support for this. Several different cluster models exist: • Beowulf • Single System Image Windows Vs. Other Systems Beowulf Clusters “Beowulf Clusters are scalable performance clusters based on commodity hardware, on a private system network, with open source software (Linux) infrastructure.” - http://www.beowulf.org/ Windows Vs. Other Systems Beowulf Clusters (Continued…) How does they work? • PVM (Parallel Virtual Machine) – Allows network of computers to appear as one concurrent computational resource • MPI (Message Passing Interface) – Goal to develop a standard for message passing programs. Windows Vs. Other Systems Single-System Image Clusters Single-system image (SSI) involves making a distributed system appear as a single system to the user. openMosix: • Supports transparent migration of processes • Software does not need to be rewritten to take advantage of cluster • Achieves automatic load balancing Windows Vs. Other Systems Windows HPC Although Microsoft do not provide direct Windows support for HPC clusters: • There is research going on into this • Third parties provide their own MPI libraries for Windows • Southampton HPC Centre: http://www.windowsclusters.org/ Research Directions Research Directions 1. High-Performance Computing: WMPI II 2. TerraServers 3. Image Clustering: • ImageSeer: Clustering and Searching WWW Images • Locality Preserving Clustering for Image Database Research Directions 1. High-Performance Computing:WMPI II •Southampton HPC Centre •Critical Software specialise in creating High Performance Computing (HPC) middleware. •WMPI II™: is the high-end member of Critical Software's line of middleware products for HPC clusters providing a comprehensive MPI2 standard implementation: version 2.0 of MPI-2. •WMPI II is widely used in industrial applications: Computational Fluid Dynamics (CFD), Finite Element Analysis (FEA) and by academia for research and development programmes and for educational purposes. •WMPI II is free to download and evaluate! Research Directions 1. High-Performance Computing: WMPI II(Cont) • Performance • Reliability • Thread safety • Full MPI-2 standard compliance • Support for 3rd party tools (debugger and profiler) • Large Platform support (Windows platforms and Linux-distributions) • Commitment for continues product evolution (to meet evolving market needs) • Integration and embedded support (OEMs) • Professional technical support • Scalability, up to > 1000 processors without any architectural limitation Research Directions 1. High-Performance Computing: WMPI II(Cont) 2 Research Directions 2. TerraServers • Microsoft® TerraServer displays (stores) aerial, satellite, and topographic images of the earth in a SQL database available via the Internet, www.terraserver.microsoft.com • One of the most popular online atlases: 22 terabytes of image data from the US Geological Survey (USGS). • Initially deployed in 1998. • The system demonstrated the scalability of PC hardware and software – Windows and SQL Server – on a single, mainframe-class processor. • In September 2000, the back-end database application was migrated to 4-node active/passive cluster connected to an 18 terabyte Storage Area Network (SAN). The new configuration was designed to achieve 99.99% availability for the back-end application. Research Directions TerraServer Installation Photograph Research Directions 2. TerraServers (Cluster-SAN) • Storage Area Networks: simplified the wiring between nodes and disk resources and had good management tools => became the preferred processor-storage inter-connection mechanism • 3 years of operation • The hardware and software components of the TerraServer Cluster and SAN: reliable, easy to operate when no changes are needed • Both high-traffic web server and a high traffic web service Research Directions • Windows Clusters TerraServer SAN Cluster Block Diagram Research Directions 2. TerraServers (Cont) • TerraServer failed to achieve four nines of availability – 99.99%. The vast majority of the downtime was due to operations mistakes that could have been avoided with improved procedures. • 2004: SAN cluster replaced with a duplexed set of “white-box” PCs containing arrays of large, low-cost, Serial ATA disks: TerraServer Bricks – A High Availability Cluster Alternative • The goal is to operate the popular TerraServer web site with the same or higher availability than the TerraServer SAN at a fraction of the system and operations cost. • Improving resolution to 0.5 m. Research Directions TerraServer Brick architecture The TerraServer web site is composed of: • A redundant farm of web bricks, • A mirrored array of storage bricks, • A redundant LAN linking the web and storage bricks, • A remote IP keyboard video, mouse (KVM) switch, • And, remote IP power distribution units (PDU). Research Directions TerraServer Brick architecture Research Directions 3. Image Clustering Image clustering is a technique that helps searching and browsing image repositories in several ways, including image data preprocessing, user interface designing, and search result representation. 1. ImageSeer: Clustering and Searching WWW Images 2. Locality Preserving Clustering for Image Database Research Directions 3.1 ImageSeer system Microsoft Research Asia (Beijing, China) and DCS University of Chicago • ImageSeer is a web image search engine: • Using a vision based page segmentation algorithm, a web page is partitioned into blocks • The textual and link information of an image can be accurately extracted within the block containing that image • The textual information is used for image representation • By extracting the page-to-block, block-to-image, block-to-page relationships through link structure and page layout analysis, an image graph is constructed • With the graph models, techniques used from spectral graph theory and Markov Chain theory for image ranking, clustering and embedding Research Directions Figure 4. Design of WWW image search system Research Directions 3.1 Locality Preserving Clustering for Image Database Spectral clustering method has been one of the most promising clustering methods in the last few years, because it can cluster data with complex structure, and the (near) global optimum is guaranteed. Existing spectral clustering algorithms: difficult to handle data points out of training set (Normalized Cut, direct Kmeans, PCA+Kmeans) Locality Preserving Clustering (LPC): – Shares many of the data representation properties of nonlinear spectral method – Provides an explicit mapping function which is defined everywhere, both on training data points and testing points. Windows Clusters Summary •What are Windows Clusters •Network Load Balancing Clusters •Component Load Balancing Clusters •Server Clusters •Microsoft Windows Clustering Services (MSCS) •NT, 2000 and 2003 •Cluster Membership and Resource Management •Applications supporting MSCS •Alternatives to Windows Clustering •High Performance computing •Research Directions in Windows Clustering •High Performance Computing •TerraServers •Image Clustering Windows Clusters