A cluster is a type of parallel or distributed computer system, which consists of a collection of inter-connected stand-alone computers working together as a single integrated computing resource.
Size: 1.34 MB
Language: en
Added: Dec 18, 2015
Slides: 38 pages
Slide Content
Cluster Computing Raja’ Masa’deh
How to Run Applications Faster ? What is a Cluster. Motivation for Using Clusters. Key Benefits of Clusters. Major issues in cluster design. Cluster Architecture. Cluster components. Types of Cluster. Cluster Classification. Advantages & Disadvantages of Cluster computing. Outlines
There are three ways to improve performance: Work harder Work smarter Get help To speed up computation in Computer system : Use faster hardware: e.g. reduce the time per instruction. Optimized algorithms and techniques Doing parallel processing by multiple processors or multiple computers cooperated to solve problem How to Run Applications Faster ?
A cluster is a type of parallel or distributed computer system, which consists of a collection of inter-connected stand-alone computers working together as a single integrated computing resource. Cluster platforms was driven by a number of academic projects, such as Beowulf ,Berkeley NOW ( N etwork O f W orkstations) , and HPVM ( H igh P erformance V irtual M achine) that prove the advantage of clusters over other traditional platforms What is a Cluster
Beowulf cluster NOW-1 cluster HPC cluster
Many science and engineering problems today require large amounts of computational resources and cannot be executed in a single machine. H igh cost of high performance computers . Large numbers of under-utilized machines with a wasted computational power. Communications bandwidth between computers is increasing. Motivation for Using Clusters
High performance : The reason for the growth in use of clusters is that they have significantly reduced the cost of processing power. Scalability: a cluster uses the combined processing power of compute nodes to run cluster-enabled applications. System availability : offer inherent high system availability due to the redundancy of hardware, operating systems, and applications Key Benefits of Clusters
Scalable Performance : This refers to the fact that scaling of the resources (cluster nodes, memory capacity , I/O bandwidth, etc.) leads to proportional increase in performance. Of course, both scale up and scale down are needed, depending on the application demand or cost-effectiveness considerations. Availability Support: Clusters can provide cost-effective high availability with lots of redundancy in processors , memories, disks, I/O devices, networks, operating system images, etc. Major issues in cluster design
Cluster Job Management : Clusters try to achieve high system utilization, out of traditional workstations or PC nodes that are normally not highly utilized. Job management software is needed to provide batching, load balancing, parallel processing, and other functionality. Fault Tolerance and Recovery: Cluster of machines can be designed to eliminate all single points of failure. Through redundancy, the cluster can tolerate faulty condition up to certain extent Cont…
Cluster Architecture
The key components of a cluster include: Multiple standalone computers (PCs, Workstations, or SMPs). Operating systems. High-performance interconnections. Middleware. Parallel programming environments. Applications. Cluster components
Clusters, built using commercial-off-the-shelf (COTS) hardware components. Such as :Personal Computers (PCs), workstations, and Symmetric Multiple-Processors (SMPs). These technologies are solution for cost-effective parallel computing for their availability and low cost. 1.Nodes Cont…
A cluster operating system is desired to have the following features: Manageability : Ability to manage and administrate local and remote resources. Stability : Support for robustness against system failures with system recovery. Performance : All types of operations should be optimized and efficient. Extensibility : Provide easy integration of cluster-specific extensions. 2. operating system Cont…
Scalability : Able to scale without impact on performance. Support : User and system administrator support is essential. Heterogeneity: Portability over multiple architectures to support a cluster consisting of heterogeneous hardware components. 2. operating system Popular OS used on nodes of clusters: Linux Microsoft NT SUN Solaris Cont…
Clusters need to incorporate fast interconnection technologies in order to support high-bandwidth and low-latency inter-processor communication between cluster nodes. Examples of NW technologies: Fast Ethernet (100Mbps) Gigabit Ethernet ( 1Gbps) SCI (Dolphin - MPI- 12 usec latency) ATM - Myrinet (1.2Gbps) 3. High Performance Networks Cont…
Resides between OS and applications and offers an infrastructure for supporting: Single System Image (SSI) System Availability (SA) SSI makes collection of computers appear as a single machine (globalized view of system resources) SA supports check pointing and process migration. 4. Cluster Middleware Cont…
High availability clusters (HA) . Network Load balancing clusters. High performance Clusters. Types of Cluster
High-availability clusters ( also known as Failover Clusters) are implemented for the purpose of improving the availability of services which the cluster provides. Provide redundant nodes that can act as backup systems in the event of failure. Support mission critical applications. High availability clusters (HA)
Cont…
Load balancing is a computer networking methodology to distribute workload across multiple computers. Load balancing clusters operate by routing all the workload over one or more load balancing front end nodes, which then distribute the workload efficiently between remaining active back end nodes. Web servers, all available servers process requests. Network Load balancing clusters
Cont…
HPC clusters used to solve high & advanced computation problems. They are designed to take advantage of parallel processing power of multiple nodes. They are commonly used to perform function that require nodes to communicate as they perform their tasks- when calculation results from one node will affect future results from another. High performance Clusters (HPC)
The cluster nodes can be compactly or slackly packaged. In a compact cluster , the nodes are closely packaged in one or more racks sitting in a room, and the nodes are not attached to peripherals (monitors, keyboards, mice, etc.). In a slack cluster , the nodes are attached to their usual peripherals (i.e. they are complete SMPs, workstations, and PCs), and they may be located in different rooms, different buildings, even wide-area in remote regions. Cluster Packaging
Centralized cluster: all the nodes are owned, controlled, managed by a central administrator. Decentralized cluster , the nodes have individual owners, so this makes the system administration of such a cluster very difficult. It also requires special techniques for process scheduling, workload migration, check pointing, etc. Cluster Controlling
A homogeneous cluster means that the nodes adopt the same platform (same processor architecture and the same OS). A heterogeneous cluster uses nodes of different platforms. In a homogeneous cluster, a process can migrate to another node and continue execution. This is not feasible in a heterogeneous cluster, because different platform, as the binary code will not be executable Cluster Homogeneity
Intracluster communication can be either exposed or enclosed . In an exposed cluster , the communication paths among the nodes are exposed to the outside world. An outside machine can access the communication paths, and thus individual nodes. Cluster Security
Such exposed clusters are easy to implement, but have several disadvantages : • Exposed intracluster communication is not secure, unless the communication subsystem performs additional work to ensure the privacy and security. • Outside communications may disrupt intracluster communications in an unpredictable manner . Cont…
In an Enclosed cluster , intracluster communication is shielded from the outside world ( more secure ). A disadvantage is that there is currently no standard for efficient, enclosed intracluster communication . Cont…
Clusters place in high performance computing world
Manageability: with cluster, large numbers of components are combined to work as a single entity. So, management becomes easy. Single System Image : also this illusion makes the user not worried about the cluster components, he only needs to manage a single system image. High Availability : if one component fails, then some other component can takes its place, and user can continue to work with the system. Advantages of Cluster Computing
Programmability Issues : when the components are different in terms of software from each other, and then there may be issues when combining all of them together as a single entity. Problem in Finding Fault : it is difficult to find fault and determine which component has a problem. Difficult to handle by a non specialist : cluster computing involves merging different or same components together, so a non- professional person may find it difficult to manage. Disadvantages of Cluster Computing
We have discussed the motivation for cluster computing as well as the technologies available for building cluster systems using commodity-based hardware and software components to achieve high performance, availability, and scalability . The cluster computing is a more cost effective platform compared to traditional high performance platforms. conclusion
Kiranjot Kaur1, Anjandeep Kaur Rai , A Comparative Analysis: Grid, Cluster and Cloud Computing , International Journal of Advanced Research in Computer and Communication Engineering Vol. 3, Issue 3, March 2014. Kai Hwang, Geoffrey Fox, and Jack Dongarra , Distributed Computing: Cluster, Grids and Clouds , May 2, 2010. Domenico Laforenza et al., Grid and Cluster Computing: Models, Middleware and Architectures , Springer- Verlag Berlin Heidelberg 2006. R. Buyya , High Performance Cluster Computing: Architectures and Systems , vol. 1, Prentice Hall, 1999. References