Sunday, March 18, 2007

Virtualization

Virtualization in computer parlance is the abstraction of real resources into virtual ones. One of the first steps in virtualization was taken when the Operating System was invented. The OS allows multiple applications to share the resources of the computer - microprocessor as well as peripherals.

Virtualization in the current scenario is targeted towards the data center that houses a company's information. It makes much more sense today because the advent of multi-core chips makes available as much computing power on one chip as was available on a mid-range server a decade ago. The optimal sharing of physical resources allows possibility of greater power savings in the data center translating into lower cost. If done correctly , it can also make the job of IT administrators easier by presenting a single unified operating environment.

Virtualization comes in two flavors - software virtualization and hardware-software virtualization. The first type allows multiple Operating Systems to run on a virtualization software which fools the OSes to think that each OS is in full control of the machine. In reality , the virtualization software runs on a native OS (Windows , for example) and isolates the higher level OSes from one another. Thus you could run multiple copies of Windows on one machine. VMWare is the biggest player in this market. (www.vmware.com) . Java virtual machine(JVM) is another example of virtualization software which allows java code to run on any platform.

The second type is more comprehensive and more ambitious. SW virtualization is not very efficient due to overhead of multiple software layers. SW-HW virtualization provides a hardware operating environment which allows multiple OSes to run simulataneously with each OS isolated from another. This requires support in hardware , both in the processor as well as the peripheral controllers. IBM,Sun,Intel and AMD , all microprocessor makers, now provide support for virtualization. I called this SW-HW virtualization since depending on the implementation , the OS also needs to change to support it. This is clearly possible for Sun and IBM since they make OS for their own computers but next to impossible for x86 makers -Intel and AMD- who have to contend with an independent and humunguous Microsoft. This also explains the somewhat different approaches taken by Sun and IBM on one hand and x86 on the other. Intel also has Itanium but as of now , it is nowhere as important as x86.


A less mentioned aspect of virtualization is the ability to virtualize peripheral resources - commonly called IO virtualization. An important subset of IOV ( not to be confused with an intel technology of same name) is storage virtualization. I think SV is the hottest market opportunity in computer world today given the exponential growth of information to be stored and the flux in the SV technologies with no clear leader and no established standards. HP,EMC(which acquired VMware) and the traditional storage players like LSI logic and Adaptec are curently slugging it out here.

Looking into the crystal ball, I see virtualization picking up pace in the cellphone space as well with power savings ( and increased ON time) as the major driver. Virtualization could also maket things easier between incompatible software and cellphone vendors. A lot of mobile games and apps are Java based so a single interface , similar to a JVM for mobiles, may be the next killer idea.

No comments: