High Scalability Clustering

High Scalability Clustering blurs the line between vertical scaling supercomputers and somewhat loosely-coupled horizontal scaling clusters. A combination of middleware applications, kernel interfaces and high-speed interconnects can bring the advantages of large-scale shared-memory systems to the world of industry-standards-based compute clusters. A high scalability cluster merges three common clustering themes into a single entity:

  • High Availability
  • Load Balancing
  • High Performance

A traditional vertical-scaling supercomputer would have between 10s and 100s of processor cores that are tightly coupled in a proprietary shared or switched bus architecture. These supercomputers have a global memory namespace i.e all system memory is globally accessible to all processor cores. Applications written toSun Fire E25K SMP take advantage of multiple cores are able to scale with the number of cores in the system, whether it is 2 processors or 20. The unique technical constraints placed upon the design of such vertically-scaling systems mean that they are traditionally, very expensive to develop and maintain.

Conversely, loosely coupled clusters/supercomputers can be built for a fraction of the cost of a shared-memory supercomputer. Clusters have processor and memory units fragmented across as many nodes as are in the cluster. And even where the cluster nodes themselves are made up of SMPs, at some point application code needs to cross the thresholds of individual nodes. The downside to horizontal-scaling supercomputers is that off-the-shelf applications cannot work on such systems without some, usually extensive to the point of being unfeasible, modification. While there are middleware libraries and tools that make the job of porting applications to loosely-coupled clusters easier, many application vendors simply do not have the development resources to dedicate to porting and maintaining applications to work on loosely-coupled clusters.

These constraints have relegated computational clusters to mostly technical computing functions that require the raw CPU power and the ability to share the computational load in order to reduce execution time. So clusters are very popular in physics, engineering, biotechnology, geological, and environmental computing fields - research applications that require large amounts of processing power. In order to move horizontal-scaling clusters to more traditional computing applications such as database, transaction processing and other enterprise related computing, several projects have developed the tools and interfaces that disguise clusters as standard SMP systems. These tools turn standard clusters into high scalability clusters.

OS, Middleware & Interconnects

A high scalability cluster takes advantage of very high speed interconnects, process management middleware and OS kernel hooks to mimic the functionality of an SMP system. In a high scalability cluster, applications are started on a single node and the processes are migrated to other nodes in the cluster - using the high speed interconnect as the transport mechanism -  either automatically or following some administrator specified scheme. This process migration, a function of the process management middleware, is transparent to the application itself - which sees a single system image. Some features of a high scalability cluster include:

  • Single management and administrative domain.
  • Single root filesystem enforced across the cluster.
  • Single copy of binaries, admin files (like password), etc.
  • Single pid per process and a clusterwide process management space.
  • Transparent, clusterwide namespace for all IPC objects.
  • Consistent "single site" file naming across all nodes.
  • Transparent and fully coherent file access across all nodes.
  • A single name and address for the cluster and that name/address is highly available, with persistent connections.
  • Full process migration including its system calls.

More Information

For further details regarding high scalability clustering, or for assistance with design and configuration of a cluster for your project, please email sales@xinit.com or use the on-line contact form to register your details.