|
|
High Throughput ClusteringIntroductionHigh Throughput Clustering/Computing is a term used to describe a form of clustering that enables large scale parametric execution of applications. It also defines a method of spreading application serving load across multiple systems - a concept also known as load-balancing. Enter the gridProtein modeling, drug design, particle physics, monte carlo simulations - the list of areas in which high throughput clustering, specifically grid computing, can be effectively utilized is growing. A computer grid is basically a federated supercomputer. What this means in non-marketing speak is that you have disparate clusters of computers under different authentication and authoritative domains, combining their resources to solve a specific application problem. Grids are by and large not really considered compute clusters in the true sense because the components that make up the grid can be, and usually are, very different in their make-up; processor architecture, processor speed, RAM and storage capacity and even the OS can vary in the individual systems that make up the grid. A compute grid can span different buildings, cities and even countries. The genius in the management and utilization of compute grids lies in the middleware that ties it all together and presents a single interface which applications and developers can talk to in order to take advantage of the resources available. As far as the application developer is concerned, all she knows is that there's X amount of processing power available and Y amount of memory to use. No matter that X is 250 Xeons in Houston and 400 UltraSPARCs in Beijing. The grid middleware takes care of resource access control, application loading, data distributions, application execution and load balancing, process checkpointing and data gathering and reporting. Grid Middleware
Load balancingLoad-balancing spreads incoming data requests across a number of server nodes that are able to service the data requests from a common data pool. It is a popular method of increasing the performance of web and network based applications such as multimedia streaming or HTTP serving. There are two generally accepted fundamental ways of improving application performance in server environments; scale-up and scale-out. Scale up implies that the server in question has the capacity to increase performance with the addition of more processor chips and memory modules. This method is also known as vertical scaling. Scale-out computing on the other hand relies on the ability to spread application load across multiple disparate computing nodes. So rather than having a single server bearing all the load, multiple servers share the load to produce performance gains. This latter method, also known as horizontal scaling, is preferable to vertical scaling as it does not require a large up-front investment to implement nor does it define any constraints on future expansion. With horizontal scaling, you invest in only the resources required to adequately cater to application load today, and then scale resources as and when there is demand for more performance in the future by purchasing and deploying additional servers. On the other hand, while vertical scaling allows for some level of future-proofing, it also requires large initial investments in computing resources that are able to scale in the future to potential performance requirements. As an example, a 64-way system could cost upward of £250,000 just to gain access to the capacity of up to 64 processors in a single system. Large CPU-count systems are by nature proprietary and very expensive to upgrade. And once the 64-processor limit has been reached, there is no further upgrade capacity available. Conversely, using industry-standard x86 and x64 systems costing between £900 - £1500 each to build a 64-way high-throughput cluster, the same or greater level of performance can be achieved and the limitation to 64 processors is non-existent; the cluster can scale in performance simply by adding more server nodes to the pool. So what is load-balancing good for?
More InformationFor further details regarding high throughput 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. |