CLUSTER ARCHITECTURES: An overview of state of art cluster architectures
VENKATA KIRITI MUNGANURU
Information Technology (IT) organizations are under increasing pressure to provide access to applications and data around the clock with minimal scheduled or unscheduled downtimes. For them the architecture of the cluster is a design such that no Single point -of -failure can make cluster unavailable. A well designed cluster system can provide highly available access to applications, system resources and data, together with other features such as scalability and single system image. A centralized view of all the resources in the system irrespective of their physical attachment to the different components in the system, is referred to as Single System Image. This paper talks about few state of art cluster architectures that signifies Single System Image .It is not only a great facilitator for easier system administration , but it is a key feature that helps achieve many goals of a good system design.
Keywords: Single point –of- failure, highly available, Scalability, Single System Image and cluster architecture
Information Technology (IT) organizations are under increasing pressure to provide access to applications and data around the clock with minimal scheduled or unscheduled downtimes . More powerful microprocessors and multiprocessor architectures helps, but can provide only so much of computing power. Availability has improved with advances in hardware and software designs but a single system may fail to meet the requirements of critical applications.
Customers want to remain in operation even while the system is undergoing scheduled maintenance. Equally important for such organizations is the need to protect their investment in the computing .The high rate of obsolescence of technology leads to a concern for the lifetime of any purchase they make. Customer want to maximize the useful ness of their systems, so that their growing business needs. They want that, as their systems grow, the older components continue to function seamlessly with any new components that they acquire for their systems, and at the same time , all the component display close to optimal performance.
Clusters are aimed at the high performance server market in support of both commercial applications and technical computing .Thus their design must balance availability ,performance ,and manageability to meet the needs of applications which are key to operation of enterprise, a research laboratory ,or other environments dependent on high-end computers. In addition , presenting a Single System Image to applications and clients is key to minimizing application development effort and management overhead.
A centralized view of all the resources in the system irrespective of their physical attachment to the different components in the system , is referred to as Single System Image. This paper talks about few state of art cluster architectures that signifies Single System Image .It is not only a great facilitator for easier system administration , but it is a key feature that helps achieve many goals of a good system design. In section 2 this paper talks about some features of Sun and Unix cluster architectures. In section 3 and 4 it talks about there main architecture concepts respectively. In section 5 it describes other architectural designs .In section 6 it describes some of the common design concepts of the cluster architecture. The paper (conclude section 7) with limitations of present world cluster designs.
2.Features of cluster
A cluster is a group of independent computer systems, generally commodity off the shelf (COTS) ,interconnected through a network, that work together to solve a common problem. This definition is too generic , covering a broad range of systems , from two computers connected through serial port to a massively parallel supercomputer built using proprietary technology .In reality independent computers called node computers selected from commodity servers of PCs(Personal computers) ,WSs(Workstations) and SMPs (symmetric multiprocessors ).De-fact standard LAN is usually selected as an interconnect. This approach makes it possible to construct cluster in very low cost because that components of cluster system are almost all mass-volume commodity products. According to the increase of transmission speed of interconnect , application systems of cluster are also in creasing their ranges as follows.
- High Availability :
The architecture of the cluster itself is designed so that no single point-of –failure can make a cluster unavailable. This means the cluster should have minimum maintenance and downtime. The cluster using fully distributed algorithms , continuously monitors the health of its members and failovers or restart applications in case of failure.
- Single System Image :
A centralized view of all the resources in the system irrespective of their physical attachment to the different components in the system , is referred to as Single System Image. This relives users of the cluster from the need to know where a resource is located and where an application will be run , and they can in essence treat the cluster as single entity rather than a collection of disjoints objects.
- Centralized Management
Cluster management is accomplished through graphical user interface based framework. It allows complex tasks to be performed with ease, while enabling system administrators to manage any resource on cluster from anywhere on the network. This yields tremendous cost savings for organizations where administrators are responsible for systems located in different buildings ,cities and even countries.
- Cost Effective – Add As You Grow
The present cluster design protects customers investments by allowing them to grow their computing resources along with business demands, rather than replacing their computing systems. Additional resources such as new nodes ,new tape devices, or new storage enclosure can be added to the system without bringing the system down. A cluster can consist of a combination of large and small nodes with specific applications assigned to correspondingly suitable members of the cluster.
3.Sun Cluster Architecture
The sun cluster architecture aims to deliver a cost-effective clustering solution that meets all the important customers needs like high-availability, scalability and ease of administration. From physical perspective, a sun cluster consist of one or more servers that work together as a single entity to co-operatively provide highly available access to applications, system resources and data to the user community. From the design perspective of sun cluster architecture ,there are three main components that contributes for achieving Single System Image(SSI).They are Global Networking, Global or cluster file systems and Global Devices.
- Global Networking
Global Networking means it presents a single system view of network devices to applications and users. The trick hidden in achieving this single-system-view is ,it creates an illusion for application ,that network devices are connected to all nodes on the cluster .But in reality these applications are unaware of actual location of each network devices. When application transmits data over a network device using global IP, these data packets are forwarded to real device even which is connected to other node. Similarly the input packets are received by the system that has physical adapters and directs to the appropriate destination through local network (Figure 1). The feature Global IP address enables the client to assign a task to any server in the cluster .This is possible by special load balancing algorithm. Similarly the other features that Global networking supports is transparent fail-over , effective load balancing and specific service nodes.
- Global/cluster files system
A cluster file system is fundamental building block in providing a Single System Image. This is the dominant feature in this cluster architecture .It allows the files to be shared among the process in coherent manner. And incorporates transparencies in accessing files remotely. This phenomenon is achieved by introducing cluster-file system below the Virtual File System layer of the kernel .This makes any standard file system to plug in and operate in cluster context. The cluster file system thus behaves as a proxy between the kernel and the storage medium, plugging in under the vnode level and abstracting away the details of how it works from the user(Figure 2). The other main features of global/cluster file system are shared and coherent file access, highly-available file system, fast remote access.
- Global Devices:
The system that enables any node on cluster to access devices which are not physically attached to them but behaving like local devices is called Global Device system. This is similar to global/cluster file system. One of the main features is high available devices access. This makes any node on cluster to access any devices that it requires even though it is not physically attached. If a node fails to access the device path automatically an another path is detected and given to node to prevent I/O failure. This can be achieved by incorporating some servers that always keep track of the device info to nodes of cluster .This also supports addition of new devices.
4.UNIX Cluster system Architecture
The main goal of digital unix system architecture is to allow highly available, high performance computing system to be built from a multi computer cluster . A Single System Image is presented to applications through a single file name space and cluster wide access to storage devices. A cluster-wide file system with uniform name space ensures programs may run on any node and a cluster network –alias allows client to connect on any cluster member. In this system, a cluster is primarily made up of standard components. The only new hardware is an optimized cluster interconnect called memory channel. Its individual nodes are uniprocessor or multiprocessor running Unix without having any restrictions of I/O configuration. This point is especially important because the needs of specific application will often dictate the level of performance and availability required from storage and I/O components.
Following are the several key application needs in designing the cluster software
- Uniform access to cluster resources
The goal of Single System view for application and clients is primarily met by providing uniform access to resources from any cluster node. The three major classes of resources are storage, network connects and process. The first requirement is achieved by a single cluster wide storage device name space and file system name space are provided, allowing any application to transparently access all storage with no concern for whether it is local or remote .As long as atleast one node of cluster have a physical connectivity .If the node fails , failover is achieved transparently maintaining load balance by transferring control of storage to another node.
Cluster aliases provide a uniform view of network connection, allowing clients to access the cluster with a single network address that will connect to only available cluster members .similarly they are also used for sending of packets to outgoing connection transparently.For the last class,process,a cluster wide process ID (PID) space allows a process on any cluster node to be specified from any other node.
- Application Synchronization
The big task is distributing the applications across the cluster for this they uses a special interface called Cluster application Program Interface(API) that provides synchronization of application that are distributed. This synchronization is achieved through Distributed Lock Manger (DLM) .They act like semaphores of Operating system. With the help of DLM and watchdog service one can also enhance application availability.
- Memory channel
The new hardware component used by UNIX cluster is memory channel .It is an optimized interconnect designed specifically for cluster low level services use memory mapped transfer for high bandwidth , low latency communications while eliminates most complex protocols overhead .This is also helpful in implementing spin locks for synchronization of low level cluster components.
There are some other components used by this software for establishing high availability .
- Connection manager
The connection manager is the single arbiter of cluster membership and as such manages the addition and remove of member nodes. The connection manager is distributed across all cluster nodes, but contain a single master entity to maintain and distribute membership updates. If that master node fails another is selected.
- Distributed Lock manager
The DLM provides a very high performance scalable mechanism for coordinating various parts of a distributed application. The Lock Manager correctly and predictably handles configuration changes resulting from process and node failure by maintaining strict internal consistency and operating according to well defined specification.
- Cluster-wide files and storage
Cluster wide name space and access mechanism are provided for the file system and for both physical and logical disk storage devices. The base system storage management services are supported ,including on-line backup and restore, hierarchical storage management, data mirroring and stripping and dynamic insertion and deletion of storage devices. The distributed Remote disk(DRD) service provides a software emulation of a concurrent access disk model and supports cluster wide character (raw) and block device access to remote disk storage. Using DRD, an application executing on any cluster member can transparently access any disk in cluster, even though it may be attached to another node.
- Cluster Alias
An important goal for SSI clusters is appearing to external clients as a single system on the network. Towards this end , a network name and address alias for the multicomputer cluster is created and maintained in the network along with those of the individual cluster members. External requests transmitted to a cluster alias may be transparently shipped over the high bandwidth, low latency cluster interconnect to a more appropriate cluster member servicing.
Apart from these state of art architectural designs, some small organizations has proposed there own software architectures and components for building high available and high performance computing clusters.
- Chameleon architecture
The chameleon architecture is a flexible software architecture for high availability computing supports a wide range of criticality requirements in a heterogeneous network requirements .Chameleon employs ARMORS (Adaptive ,Reconfigurable ,and Mobile Objects for Reliability) to synthesize different fault-tolerant configurations and to maintain run time adoptions to changes in the fault-tolerance requirements of an application. ARMORS have a flexible architecture that allows their composition to be reconfigured at runtime ,i.e . the ARMORS may dynamically adapt to changing application requirements. AMORS are components that contains all operation in the chameleon environment and can be broadly classified into three groups.
Manager : Oversee other ARMORs and recover from failure in their subordinates
Daemons :Provide communication gateways to the ARMORs at the host node and support ARMORs error detection.
Common ARMORs Implements specific techniques for providing application required dependability.
Finally this paper talks about on open sources software stack for the building and maintaining of high performances computation cluster, is OSCAR.
OSCAR stands for Open Source Cluster Application Resources is a fully integrated easy to install software package designed to facilitate the creation and operation of a linux cluster for high performance computing. It has been widely used for building and maintaining Beowulf cluster , which are the fastest growing architecture choice for high-performance parallel computing system.
The two state of art architectures, Sun cluster architecture and Unix cluster architecture talks about a single common point i.e. Single System Image.A centralized view of all the resources in the system irrespective of their physical attachment to the different components in the system , is referred to as Single System Image. They each described there own key building blocks for a single system image solution. As a coincidence, each system key building blocks have a same concept s. Sun architecture describes three main concepts i.e. Global/cluster files system, Global Networking and a cluster API fro establishing a full fledged High availability and high performance cluster. Similarly Unix system architecture describes three concepts as Cluster-wide name space, cluster alias and cluster API for running distributive applications on cluster. All the three concepts provide concurrent global file accessing, global IP and distributive executive environment respectively. The only major difference is first runs on Solaris and later on UNIX. The later architecture has practically qualified for up to four nodes connected by the memory channel interconnected eight nodes for technical computing applications using only low level memory channels without other cluster features.
However, several designs and architectures for building cluster with functionalities like self-healing ,self-optimizing ,self-managing and self-protecting, there is no cluster existing today such that it satisfies all the constraints of high-availability and reliability. Some cluster architectures are failing in the heterogeneous environment and some other have problems in scalability. So there is a great need of a prototype and guide lines ,as similar to programming languages ,for building a ubiquities clusters that fully qualifies present world constraints.
- R.K.Iyer ,Z.Kalbarczy ,“A Flexible Software Architecture for High Availability Computing “,S. Bagchi.Center for Reliable and high-performance Computing .University of Illinois .
- “SUN Cluster Architecture : A White Paper”. Sun Microsystems .
- Wayne M.Cardoza,Frederick S, “Overview of Digital UNIX Cluster System Architecture.” Digital Equipment Corporation.
- Chockchai Leangsuksun “ The Modeling And Availability Analysis of High Availability OSCAR cluster System”, Lixin Shen. Department of Computer Science. LATECH.