text: Q:
  
  What applications can be used in a Red Hat/CentOS cluster?
  
  When I look at the Red Hat cluster manuals 1 2, they only explain how to install it but not what applications can use it. I am new to clusters, so I don't know these things =)
  Let's say I want to 3 node high performance cluster; What applications would work with it?
  Also, how does an application talk to the cluster? Does the application need to have been written to support clusters?
  Sandra
  
  A:
  
  So there is more than one flavor of cluster out there, RH Cluster provides just one... HPC the other.  A quick from-memory run down:
  
  High Availability/Active-Passive. Sometimes referred to as N+1 (or N+M) clusters. In general, a process or an application runs on a single server. Then, via shared storage, moved IP addresses, and some other cluster magic, the applications are "relocated" to different servers in the cluster if the primary hardware fails.  This is where RHC falls. Generally, you're making sure a server process is always running.
  Compute clusters.  These provide an environment where you can spread your applications and calculations across different nodes. Beowulf comes to mind, as does certain map-reduce style applications. Red Hat's performance product falls here.
  Load Balanced clusters.  Used to provide horizontal scalability when one server just can't provide enough power.  Also provides redundancy as long as systems are stateless and there's enough extra capacity to handle a failure.
  
  Assuming you're using the Lucci/Ricci style clustering, you're getting #1.  It's meant to provide classic high availability. Applications do not necessarily have to have been written to take advantage of clustering, as to your apps, resources are all local.  There are some things that help, though (such as being able to bind a server to a single address).  
  As your interest seems to be more HPC, the applications will have to be written to take advantage of the cluster grid.  This is a lot like the older Beowulf systems, which used to have a series of system calls which let users move processes between nodes (bproc_move, et al). You then had to have a way to correlate the result sets.  
  HPC seems to be built on Platform Computing's packages, so there should already be a subset of applications that run on it.  Stuff like chemical analysis and advanced modeling and whatnot. All of which would be written to take advantage of the multi-node environment.
  Unfortunately for all of us, you can't just install one of these clusters and watch your WoW framerates multiple by a factor of 15!
  
  