Thursday, August 31, 2006

The Case For Virtualization, Part II

About 1999 I started to experiment with WMWare because in those days I was really using Linux hardcore, but just like everybody else, I needed some stuff in Windows once in a while and the hazzle of rebooting was unacceptable for my legendary Linux uptimes. Those were the times in which the ultimate demise of Transmeta were still a non-decided issue.

In any case, it was yet another "fringe" experience I had, or so I thought, until early last year when I noticed that the subject of Virtualization became a hot topic again because AMD and Intel initiated roadmap wars around the subject. Thanks to Howling, the other blog contributor, who brought my attention to the subject, I approached the subject from another perspective.

It is clear that current processing capabilities have covered the needs of most usage patterns and then some. Thus, both AMD and Intel began to hurt due to the lack of compelling reasons for ever more powerful processors, stimulating them to find new markets for high performance. Besides, the trend towards multicore processors was already very clear, they had to also find markets for multiple cores in a world of predominantly single threading software. One answer which fitted both issues was Virtualization: Let us help mechanisms to put multiple computers inside a single hardware, that will require raw performance and also suits very well multicore/multiprocessor computing.

Then, it was clear how important the advent in full swing of this technology was going to be. There are many reasons for going the route of virtualization, I have wrote to fairly large extent about that in the previous articles; but I want here to remind of one which is crucial: Today the expenses in Software licenses and maintenance is much larger than the expenses related to hardware, therefore, it makes sense to configure every important, expensive, software package such as Oracle to the exact specification that the SW provider recommends. Often enough, the only way to do that is to dedicate a specific computer of the organization to run that software. Following that route, you fairly quickly stumble with the problem of server sprawl, that in your IT department the count of servers proliferated wildly. Obviously, it is very innefficient to have tens of uni-application servers each very underutilized, then it makes sense to "consolidate", that is, to reunite, all of those weak, inefficient servers, into a single powerful server, but partitioned into many virtual computers just like the fellow blogger of "Tall Sails" chronicles here and here.

I have been very attentive all of this year to technology commentary, but odly enough, I didn't see the subject of Virtualization to gain much traction, despite how crucial I think it is. For instance, I wrote "Pacífica Vs. Vanderpool" as early as Febraury, many months before the actual launching of AM2 and Rev. F; but that article didn't receive much attention either. Then, all along the year, I watched with delight how the subject became mainstream. Our friend from "Tall Sails" wrote about his Virtualization project in April, I kept blogging about the subject with "AMD64 practical" in July, and by that time the subject had become truly mainstream, as attested by the many invitations Diane Greene, President/Co Founder of VMWare received to attend just about every major tech. event such as AMD's Technology Analysts Day and Sun Microsystems, despite the truly uninspired participation of Mrs. Greene. In our local blogosphere neighborhood, I am pleased to have been blogging about Virtualization for over half a year before Sharikou, who emits opinion about everything and anything but haven't touched this subject yet, as far as I know, before "CM1" in which he just makes a passing mention of it*. Even "Jayelliii" is posting messages in "Ireland" about isolating from the newest DRM restrictions in Microsoft O.S. firing up a Virtual computer with an older O.S. that doesn't have the new restrictions.

Even our frenemy Bill Snyder posted an article about the subject, "EMC Becomes 'Virtual' Target"; that I want to prologue:

It can be safely said that this year is the year of the discovery of virtualization as an important computing tool. Nevertheless, there aren't many providers of V. technologies beyond VMWare and Xen. Microsoft is dong something, but incomplete; what matters is that there is no important "pure play" in the virtualization arena, VMWare, which is by far the most important provider, is merely a subsidiary of EMC.

The Eagle-Vision investor should be very attentive to these technologies, because they have assured exponential growth such as VMWare's 70+% revenue jumps year over year for the foreseeable future, and many different phenomenons are creating "a perfect storm" for it to succeed, such as the exploding power consumption bills, the combinatorial explosion of multiciplity of servers in datacenters, the jump in computing power due to AMD's and Intel's war to annihilation, the introduction of linear scalability x86 multi core computing by AMD Opterons, increased market awareness, the help Intel-VT and AMD-V (Vanderpool and Pacífica/Presidio) provide to Xen for paravirtualized approaches to run Windows on Linux, and many others.

By the time being, we can appreciate that the market doesn't know much about the subject because errors such as Snyder's happen without correction.

At the most basic level, virtualization allows a group of servers to be treated like one large computer. If one server is overworked, its load can easily be shifted to another running below capacity
This is not something only for servers, my previous posts demonstrate that it is as useful at the technical user level. And that rebalancing just happens "under the hood", automatically, without human intervention: All the single partitioned computer power can be dynamically distributed among the virtual computers that require it the most.

"Intel began adding virtualization to some of its chips as far back as 2005 and is adding more as it rolls out new processors. AMD is behind, but it's an open secret in the industry that the company's "Project Pacifica" will add similar capabilities to its chips in the near future."
This article was published "after the fact" that AMD trounced majesticly VT with AMD-V thanks to the help the integrated memory controller provides for virtualization. AMD is currently way ahead of Intel for I/O virtualization, only waiting for chipset manufacturers to come up with partitioning mechanisms for the I/O.
"However, virtualization capabilities in the hardware do lower barriers that have either kept out competitors or confined their efforts to low-end or niche markets, Bittman argues. "This will put VMware's business model on its head," he says."
I rather think that either VMWare or others will take advantages of hardware support to take the whole Virtualization idea to much higher planes of usefulness, to great market enlargement. Microsoft's entrance to the fray with a free product, "Virtual Server 2005 R2" (which Yours, Truly hasn't tested yet), only pushes forward existing VMWare businesses, Microsoft is using its marketing muscle to promote virtualization, a market in which undoubtedly VMWare is leader and therefore is a free rider of Microsoft's attempts at popularization. Besides, VMWare has the outstanding credibility of having supported Linux hosts from day one (even before Windows hosts!), Microsoft has yet to convince critics such as Yours, Truly that one can really run seamlessly a Linux O.S. in Virtual Server. But it is unpromising that Virtual Server is only able to run for "non-production use only" in XP Professional x64; I totally refuse to even consider installing a windows braindamaged server operating system.

(*)It caught my attention that Sharikou in his blog mentioned that he runs Parallels, a comparatively lame 15 days trial to the free of charge and feature rich VMWare Server, in a Windows 2000 host!, that is, at 32 bits rather than AMD64!, his blog is supposed to be about 64 bit computing...

On the other hand, here you have seen discussion of running XP x64 as host (or any other AMD64 O.S., the proper thing to do!) and whatever as guest. (I also did the opposite test, an XP 32 host with XP x64 guest, and the x64 ran on all "16 registers").