Incremental scalability is very important in today’s growing yet competitive business environment. It is at the very minimum desirable if not critical to “pay as you go”. While no one could afford to spend unlimited budget to build systems that are many times bigger than the present needs in anticipated “future expansion”, it would also be a mistake to build a system that goes nowhere.
Multiprocessor computers have been available for many years as an incremental scalable solution. But is it the only solution? For certain applications, perhaps it is. For others such as web server applications certainly not. Not only is increasing system capacity by extensive upgrades not the only solution, it may not be the best solution either.
WebMux™ and Web Farms
The alternative is to use WebMux and a group of web servers together as a web server farm. From the outside looking in, this whole group of servers acts as one. The WebMux acts as a traffic cop that distributes the incoming web page requests to the servers. Should the web traffic increase, all you need to do is add servers to the farm. But is the WebMux and web farm approach necessarily better than the multi processor solution? In most cases, it is. We will try to look from several different views.
On the surface adding a processor should be cheaper than adding a whole server. But is it the true cost? In most cases, a multi processor server is more expensive to begin with. A lot of additional design and components are required to support multi processor function. It is also likely that the design is a proprietary one. To upgrade, you cannot simply add a processor but rather require buying an expensive processor board. Using the web farm on the other hand, you are not locked in to any vendor. You are free to do competitive shopping whenever you need to add additional servers.
Regardless the design, there is a limit on how many processors you can add to a certain box. Many low-end servers are limited to two processors. Even many high-end expensive enterprise servers are limited to no more than 16 processors. In comparison, you can easily build a 255 server web farm with WebMux.
The performance of a server depends on several factors: the speed of the CPU, memory, system bus and OS etc. While each server in the web farm has its own processor, memory, OS etc, most of the system resources are shared in the multi processor system. Any one of the factors can become a bottleneck and reduce the performances as you adding the processor. The performance gain on the web farm is very linear by comparison.
We all know that computer technology is advancing at a blinding speed. Today’s advanced processor will be viewed as slow and outdated in a very short period of time. In a multi processor design, you are locked in to the technology when it is designed. An old processor may not be available in a few years. Even if you can find one, do you want to pay top dollars for a CPU of yesteryear?
In a multiprocessor design, the whole box is running one OS, one type of CPU, one type of memory etc. Not much flexibility to speak of. With a WebMux farm on the other hand, you can mix and match OS among servers using different CPU and memory configurations. If you want, you can even add multiprocessor or servers to farm. You can even assign weights to different servers so that the faster ones will take more loads while the slower ones take less. The flexibility and control is yours.
While multiprocessor servers are indispensable for many applications, they are not necessarily the best and certainly not the only solution for others like web servers. By using a scalable WebMux farm, a high performance, high availability and high flexibility web site can be implemented with more economical use of resources.