In part one of this two-part conversation, Quinn identifies applications that easily adapt to clusters, the ones that need tweaking and the physical data center barriers to clustering. In part two, he offers cluster management tips and describes Linux cluster projects that delivered significant performance and scalability increases.
This story originally appeared on SearchEnterpriseLinux.com.
What are your tips for evaluating the feasibility of using a Linux cluster?
Tom Quinn: Figure out why you want a Linux cluster. Does your current system run slowly and you need faster results? Is your current system at end-of-life and no longer supported by the manufacturer? Does your current "big iron" box simply cost too much money to operate and you need a way out from under its exorbitant maintenance fees? A thorough self-examination is needed to ensure a cluster is a right fit for your organization.
In what business application situations is a Linux cluster not a good fit?
Quinn: A Linux cluster is not a cure-all for every company's computing woes. Some applications are not appropriate for this computing platform. If applications require an extraordinary amount of inter-process communication and shared memory, a cluster is probably not the best solution, as clusters are bound by the communication limits of the communication networks between nodes. In particular, if you need to run many small processes that work together tightly, referred to as 'tightly coupled,' you should carefully weigh the resultant performance of running on a cluster.
However, most applications, if well designed, are structured to minimize inter-process communications and try to use local memory as much as possible, which run very well on Linux clusters.
Can you describe business applications that fit well for high-performance clusters?
Quinn: Linux clusters are reaching far beyond the early adopters in universities and labs. In fact, many Fortune 1000 businesses are deploying Linux cluster systems for accelerating new pharmaceutical development, designing the latest automobiles and airplanes, discovering new sources of oil and gas and creating visual effects for the latest Hollywood blockbusters.
How much modification of applications is needed to put them on a cluster?
Quinn: In order to realize the exceptional cost/performance that clusters can deliver, HPC applications have to be structured to take advantage of the cluster's distributed memory architecture and the characteristics of the underlying interconnect.
Some applications are inherently parallel in the way they function. Others can be made to work in parallel very simply with minimal intrusion or algorithmic development. In almost all cases, if not already written using a distributed memory model, getting an application to run on a cluster will require some sort of modification and/or re-compiling.
The good news is that many commercial and free parallel cluster applications can be run 'out of the box' without modification. For custom or in-house designs, professional services provided by some cluster vendors, as well as application providers, are available to help modify source code to get the maximum efficiency out of the cluster for your application.
What's the mistake made most often during cluster evaluations?
Quinn: One of the most common mistakes made by first-time cluster buyers is to not take the physical demands of the cluster into account prior to procurement. The following factors need to be considered before bringing a cluster into your environment:
- Power -- Each cluster node can consume between 100 to 600 watts of power, sometimes more. If you take that and multiply it by the number of nodes you are planning on including in the cluster, plus additional power for switching, storage, UPS systems, you could end up with a system requiring tens of kilowatts on up. In most cases, standard infrastructure wiring needs to be augmented to meet the needs of the cluster.
- Cooling -- Consumption of power equates to generation of heat. This heat needs to be siphoned away or else the cluster will heat up, continue to generate more heat and eventually start to fail based on components exceeding their thermal limits. You should work carefully with your system provider to ensure your facilities provide adequate cooling capacity and air flow prior to making your decision to buy a system.
- Floor space/volume -- Clusters can be big. A cluster rack takes up almost five square feet and can be over six feet tall. Make sure you have room in your lab or data center.
- Weight -- A full rack of cluster nodes is heavy, up to 2,000 pounds. Many floors, particularly in older labs and buildings, were not designed to take that type of load. Check with your landlord or facilities engineer to make sure your floor can support the weight of a cluster.