Application Scalability is the key

Posted 16 February 2009 @ 3:39 pm by Jim Liddle

In a recent article on SysCon Shai Fultheim states the following:

There’s a downside to cluster computing. The disadvantage is the complexity of installation and ongoing management of the infrastructure, as well as the restrictions put on end users because of the programming model.

Programming Model
Besides complexity, cluster deployment poses two challenges at the application level:

* Programming model: A specific programming model is needed to accommodate the distributed nature of the computing resource. This is usually achieved via MPI programming. In-house or legacy code has to be modified to run on such systems.
* Lack of large memory footprint: Each processor can access only the “cluster” node’s local memory, which is usually limited to keep the physical size (leveraging 1U systems) and the cost of the cluster to a minimum.

In a series of 5 articles entitled “Multi-Multicore Single System Image / Cloud Computing. A Good Idea?“ on the blog Perils of Parallel, Greg Pfister asks the question “Why hasn’t  SSI taken over the world ?”. In other worlds why haven’t massively distributed cluster’s with single OS’s become more commoditised ?” . Greg offers a series of thoughts as to why he thinks this is the case and I’ve cherry picked one of them below:

Scaling up an application is a massive logical AND. The hardware must scale AND the software must scale. For the hardware to scale, the processing must scale AND the memory bandwidth must scale AND the IO must scale. For the software to scale, the operating system, middleware, AND application must all scale. If anything at all in the whole stack does not scale, you are toast: You have a serial bottleneck.

A very good paper has been released by UC Berkeley Reliable Adaptive Distributed Systems Laboratory (Berkeley RAD Lab). The paper is a very good drill down into all the different aspects of Cloud Computing (although it has caused it’s fair share of controversy as well !) as well as their view on the top ten  issues that they believe are prevalent within Cloud Computing. These include:

- Availability of Service

- Performance unpredictability

- Scaling quickly

One of the things that each of these articles highlights that scaling up and out on demand in distributed architectures is difficult. Doing it on demand is even harder. Tying this lightening performance and it becomes even more difficult. Making all of this available s part of a user-defined SLA management agreement at an application level even more difficult.

Why do we need to do all of this ? To enable the applications we built to scale up and out, with low latency, and which can react to SLA’s that are set.

How can you achieve this ? Well it just so happens that GigaSpaces XAP is built to enable exactly this  whether that in-house, in a data-centre, in a private cloud or a public cloud.  It is not something that will be ready next week or next year. It is here now and GigaSpaces have many customers who are smiling smugly to themselves knowing their applications are able to take advantage of GigaSpaces technology to ensure their applications are built for application scalability.

Read more...

Leave a Reply