Home | Store | Articles | Downloads | E-Mail | About | Testimonials | Contact | Labs  Wednesday, August 20, 2008



Mailing List

E-mail:
By Joining the mailing list you will be notified of site updates.
_______________

Show Your Support For
This Site By Donating:



_______________
Server Time:
2:48 AM
This Server Runs:
Red Hat Enterprise Linux 4
Kernel 2.6.9-42.0.2.EL #1
Apache 1.3.36 (Unix)
PHP 4.4.2
Perl 5.8.5
cPanel 10.8.2-STABLE 120


_______________










Questions? Call Our Office Today 941-306-3031

Audience: Self Learners - Experts
Last Updated: 4/1/2005 11:03:49 PM
Original Creation Date: 4/1/2005 11:03:49 PM
**All times are EST**




Server Clustering

By Erik Rodriguez

This article provides information about server clustering. Clustering is used to ensure uptime, enhance performance, and process large amounts of data.



What is Clustering?

Clustering is a way of combining multiple servers to perform a common task. There are many different types of clusters used, for various purposes. The concept has become increasingly popular with large traffic websites and distributed computing projects. Clusters are commonly referred to as "server farms" or "render farms."

Why Cluster?

There are several reasons to use a cluster. While it is an advanced technology that uses cutting-edge algorithms and server platforms, clustering isn't always the best choice. Creating a cluster is generally very expensive. The costs associated with installation and maintenance can be pricey. However, clustering has several advantages:
  • Speed
  • Performance
  • Power
  • Efficiency
Speed is a bi-product of clustering because the work load can be evenly distributed among the cluster members. Serving 50 pages per second from a cluster of servers is faster than serving 50 pages from 1 server.
Performance is enhanced because clustering allows for the assignment of dedicated roles. A web cluster can contain several web servers and a dedicated database server. This eliminates that need for the web servers to run database software in addition to web services.
Power is achieved by combining the CPU power (measured in FLOPS) of all cluster members. It is usually cheaper to use a cluster of entry-level servers to achieve say 10 GFLOPS of power, instead of purchasing an expensive mainframe server.
Efficiency lies in the decisions the cluster master makes in distributing the work load. A cluster master serves as a point of a dedicated resources, and makes "smart" decisions concerning the instructions passed to the cluster members.

Types of Clusters

Clusters can be custom tailored to fit the needs of a specific task or an organization. Several types of popular clusters and their uses are discussed below:
  • Load-Balancing Clusters
  • Grid Clusters
  • Render Clusters
Each type of cluster has a special way of operating. For instance, a load-balancing cluster operates differently from a render cluster. Load-balancing clusters are commonly used with high-traffic websites. This usually means porn sites, OS manufactures (M$, Red Hat, Oracle), and other high-traffic sites like thefacebook. See the diagram below:




Notice the cluster manager acts as a firewall. It filters traffic and directs requests to one of the web servers below it. The cluster manager plays a key role because if the it fails, access the the cluster members also fails. This specific cluster achieves maximum uptime and performance. You can see the use of a dedicated database server. This means that each web server will process requests to and from the database server. This results in faster access time because each server does not have to synchronize its databases with the other server.

Grid clusters and render clusters are very similar. However, they operate a little differently. While a grid cluster relies heavily on it's master or cluster manger, a render cluster does not. Rendering clusters are used by motion picture studios like Pixar to "render" 3D graphics. Grid computing is used for other applications like folding at home and SETI. Grid clustering is largely used in the medical and research fields. Why is it called "grid" computing? These systems are usually computing data through the use of linear algebra. This involves the the use of matrices or grids. See the diagram below:




Clusters in Action...

The images below are actual clusters. Remember that if you build a cluster, be aware of potential fire hazards posed by powering large amounts of equipment. Clusters can consume are large amount of electricity and also produce a massive amount of heat. Think carefully when installing or planning a cluster of servers. The image below is a small render farm:



The image below shows a custom and low-budget cluster. An installation like this must be carefully planned due to risks of electricity hazards and heat dissipation:



Conclusion

Remember that each type of cluster has a specific purpose and/or goal. The web cluster's main goal is load-balancing. It achieves performance and uptime because of the load-balancing performed by the cluster manager. The grid and render cluster's main goals are power. Through the use of many servers, power is used efficiently to complete jobs quickly and effectively. Clusters can vary is size. Web clusters are generally smaller, unless they are used for search engines like Google. Grid clusters or "server farms" can contain 100's or even 1000's of servers.
There are many options for cluster operating systems. Windows Server, FreeBSD, and Linux all have various tools available for cluster configuration. Skullbox.Net recommends the use of Red Hat Enterprise Linux.













Copyright © 2002-2007 Skullbox.Net All Rights Reserved.
A division of Orlando Tech Works, LLC
By using this site you agree to its Terms and Conditions.
Contact the .