Nicely written article by Shah.
Read it here.
With servers doing fewer things and servers getting more powerful, the market for virtualization was created. We want to keep the compartmentalization of the application but gain the benefit of running multiple applications on a single CPU. As a result, the non-SMP to SMP ratio is likely to remain high and possibly get higher.
So amongst the SMP crowd, is there opportunity to eat into that market? Possibly... There are two approaches to further removing the need of large SMP systems: (1) SOA-ification of applications, and (2) Creating virtual SMP clusters with commodity x86 hardware.
Let's start with item 2 first. Historically, creating virtual SMP machines has been a tough sell. The technology has been around since the early 80s in the form of MOSIX. Efforts around distributed shared memory in the early 90s furthered the process. Unfortunately, these efforts largely stayed with the academics. That is until Qlusters came around in the early 2000s. Part of the team that started OpenMOSIX created a company around their effort so that they could sell a commercially supported implementation of MOSIX. Early adopters were in the HPC crowd that needed the massive scalability x86 clusters but didn't want to have to adopt their applications to use clustering software like MPI or PVM. With MOSIX, they just wrote their program as if they had infinite processor and memory space - a much easier proposition, especially for people that weren't programmers by nature. (e.g., scientists, mathematicians, etc.) However, none of these projects ever really took off in the enterprise. This is most likely due to the fact that large ISVs never supported the configurations.
Read it here.