An Overview of Virtualization Technologies
PCM2 writes "Virtualization is all the rage these days. All the major Linux players are getting into the game with support for Xen, while Sun has Solaris Containers, Microsoft has Virtual PC, and VMware arguably leads the whole market with its high end tools. Even AMD and Intel are jumping onto the bandwagon. InfoWorld is running a special report on virtualization that gives an overview of all these options and more. Is it just a trend, or will server virtualization be the way to go in the near future?"
Is it just a trend, or will server virtualization be the way to go in the near future?
What happened to the CowboyNeal option?
Virtualization is one of the best things since sliced bread and I believe it's here to stay. First of all, it spells an end to multi-booting. I have erased my secondary OSs and I run them in VMs under my main system. A performance hit does definitely occur by I am willing to pay such price for the greater ease of use. Secondly, just think of the possibility to move server images from a physical server to another one, literally freezing it here and awakening it over there - InstaScaleOut(tm) must be a server admin's wet dream.
Of course, as with all abstraction layers, it introduces complexity and takes a toll in the form of performance - but we all know absraction layers have been increasing all the time since the beginning of time.
Global warming is a cube.
With the growing evidence of the human brain's ability to rewire itself and route around failures on the fly, and the effective virtualisation of perception (why do I appear to see a three dimensional picture of the world when I have only 2 curved arrays of photosensors?) we are probably just following a well trodden evolutionary path.
Pining for the fjords
Virtual technology is great you know. I'm using a virtual PC running on a virtual PC which is simulated on the first virtual PC. This is realy a nice solution:
1)Upgrade: simply change a few values in the config and presto! 50Thz processor!
2)No power consuption what-so-ever! I even get a net gain as I run a virtual powerplant.
3)No clumsy hardware on my desk. Just type at the virtual keyboard in mid-air! The virtual monitor can project from anywhere. Heck, they even follow you to the bathroom.
4)No virus, malware or spyware thread! All thanks to the virtual virus scanner.
5)Store up to infinite TB data on the UberDVD drive.
6)Comes with free pron, MP3, warez and Movie server. Complete with anti-MPAA and anti-RIAA card.
Soon to be released: The virtual Car(tm). Just hold up your hands like your holding a steering wheel and make motor sound to get anywhere in the world in just minutes!
Virtual technology. It's everything you ever dreamed of, and more!
They completely forget to mention User Mode Linux, which is a well established and stable linux only offering, and many of the VPS (virtual private server) hosts you see advertised are running on UML.
It seems that as Xen makes progress, UML is getting ignored.
What kind of article is that?
They talk about VMWare, Intel/AMD, the future Solaris on E10000, other things... but where is IBM?
They can do Virtualization for at least 3 years with their Regatta technology (P670, P690 (Power 4 technology), P530, P550, P560, P570, P575, P590, P595 (Power 5 technology)) and their OS AIX 5L.
they are able to give a few percentage of a cpu to virtual server, with their Virtual IO server, they also are able to virtualize network and disks. They can do workload management between virtual servers. Add/remove disks/cpu/memory in real time.
etc...
So for a complete discussion an overview of the virtualization in the industry, IBM is now a big player, and they are now surpassing SOLARIS & HP in the "closed" unix world.
So for me this overview is not complete and should not have passed the "draft" version until someone was looking at the actual and running alternatives.
L.G.
Virtualisation is a disruptive technology... in that it requires a lot of intellectual investment on the part of the sysadmin. The reason Unix and Windows Servers have gotten by without adding much features, yet retaining market share is simple... admin lethargy and apathy.
/client.
Microsoft does not seem to like virtualisation.. hell, they didn't like Terminal Services.. so they crippled it in NT4, made extra licensing restrictions with Win2K, and made the WinXP / Metaframe XP combn. a non-starter. In microsoft's world, users must only license MS's servers and everything needs a separate server
Now that the virtualisation market has grown IN SPITE OF the apathy of these s/w vendors... and the tremendous mindshare with Open Source technologies, these old chaps are trying to make money without doing anything themselves.. witness the recent MS licenmsing options in virtual segments, acquisition of IP, Intel's hypervisor efforts, AMDs efforts etc.
If virtualisation succeeds, it could spell the end for DRM and Treacherous Computing initiatives... since these need collective collusion by all parties involved. Looks like the firms mentioned will try their damnedest to sidetrack virtualisation.. just like terminal servics and thin clients never reached their full potential. Open Source firms and nerdy sysadmins might well have the last laugh...
If you keep throwing chairs, one day you'll break windows....
Don't forget Linux-vserver - it's very good, and very fast - as root in a vserver is root on the actual host - processes just can't "see" or kill any outside their own context. Props to Bertl.
Get your own free personal location tracker
Now guess who said that, and when. :-)
Robert P. Goldberg said that, in 1974.
The fun thing about this is, it's still a very accurate statement. Other than in 1974, though, it doesn't solely apply to mainframes, but, as someone wrote in an earlier post, to everyday computers: desktop systems. I think that's great, and the above quote is more true than ever. Working on Mac OS X and having a Parallels session up and running where some Java application (for example) is tested in a Windows or what environment... lovely.
Yes, I'm a virtualisation enthusiast, if you haven't guessed so already. ;-)
If you stat average CPU consumption over the servers of any big size datacenter chances are you will be very surprised by the results.
...
I did this for a company with over 2000 unix servers and averages were : only 20% of the hosts would use more than 30% of the CPU
It's a known fact that for most of the projects the hardware is super sized over what's really needed, and this is one of the main advantage of virtualization : it is seen as a cost reduction process.
With that aggravating beauty, Lulu Walls.
Well, first of all, I'd like to point out that I've run on virtualized systems for the entire extent of my career. Not specifically in the sense which we run now, but in the sense that back in the old days, we ran IBM mainfraim operating systems on IBM systems that actually were virtual machines. They included features such as segmentation and all the good stuff which is just coming around now.
Thanks to other technologies I've run similar systems for ages. It is entirely common for me to develop a file system driver while keeping Mac OS X, Windows, Linux, and DOS running on the same system. I've done this for a long time as well. The difference is that the operating systems would be virtualized by running system emulators instead of using CPU technologies for system segmentation. I did this in the old days under DOS using Quartdeck Desqview and a CPU emulator.
First thing that people really need to understand at this point that virtualization as we're using it today is little more than finding a method to lauch operating systems as "processes" under another operating system. This is not magic, for the most part it's something that any operating system developer should be capable of. The issue is more of grinding. It takes the right kind of people to sit and grind through each of the problems that come up with running like this. It's the same idea as writing a Windows compatible API stack. You start off with simple programs you have the source for and work your way up through more complex applications that require direct hardware access. It's a matter of intercepting the calls and handling them as if you were the real thing.
So here's the deal. As a system level developer, I am more interested in what these guys are actually doing in order to make it happen. Let's face it, although Intel and AMD are adding virtualization technologies to their processors, the actual task of switching between CPU contexts is hardly an issue. The real issue is how are they handling hardware emulation.
See, to me, I focus on high performance workstation related tasks. Servers are cool and great, but in reality, it's how it performs on the desktop that is truly important to me. What I want to see is that a vendor grinds a little more on this issue.
VMWare has classically written device drivers to handle hardware interfacing with better performance than others. So instead of simply emulating the VESA BIOS extensions and providing access to an SDL style frame buffer, instead they have written drivers to allow graphics acceleration. So what I really want to see is that they take it a step further....
I want more than just accelerated BitBlt functions. Of course in the 2D desktop world, high performance frame buffer moves are not optional but required since the bus bandwidth required to copy large frame buffers all around is outrageous. But in the days where OS X uses OpenGL and Windows Vista uses DirectX, I want drivers that interpret 3D contexts as well.
So here's what I'm thinking... write a 3D driver for Windows, Mac OS X, X. The driver should of course offer frame buffer handling, but this shouldn't be the focus since it isn't used for much more than boot and text mode processing. When an OpenGL context is created, instead of creating the context native to the virtual machine, the context should occur on the host operating system and should be managed there. The only interprettation should occur when the graphics driver informs the guest operating system of the top level context.
For direct X, well, I've seen at least one virtual driver in the past which implemented Direct X on Open GL. For professional graphics, Direct X is typically seen as a toy although in reality in many ways it's more powerful than OpenGL (don't argue, it has to do with what's more important to hardware vendors so their drivers are optimized for game based testing). So, since most professional graphics packages are OpenGL based, then the virtualization software vendor should simply implement a translation layer ov
IBM is so far advanced it's not even funny.
Intel and Xen even based their virtualization stuff on old papers from IBM documentation and whitepapers.
You want to know how hardcore IBM is?
THEY INVENTED VIRTUAL MEMORY. And no I am not talking about a swap file on your harddrive, you windows wennie. I am talking about the ability every PC has to abstract memory.. It's IBM's gift to the PC that made modern computing possible.
You aren't convinced of IBM's monsterious power?
They have it setup so that when you buy a OpenPOWER machine for running Linux you can get a optional firmware hypervisor to manage multiple operating systems. And it's pretty cheap also.. For the same price as a low end Sun Opteron box you can get a low end IBM POWER5 box.
But it's not just that... Get this:
IF you buy a Xeon cpu on a add-on card you can set up the machine to RUN WINDOWS.
That's right. Run windows with a fucking x86 cpu on a PCI CARD.. Sharing the same memory and harddrives as Linux running on POWER5. On the same machine. At the same time. With NO slowdown.
Still not convinced?
How about this, for a show of IBM's utter superiority in this feild:
We are running a 2000 era IBM Mainframe with a late 1970's operating system on a 1990's operating system with 1980's era tape drives for legacy reasons.
IT'S A THIRTY-ONE BIT (no NOT 32 bits. 31bits.) OPERATING SYSTEM ON A #$%#$% 64 BIT MACHINE. It's not even like going from x86 to x86-64. They are entirely different computer archatectures. AND it runs at near bare hardware speeds. It's incredable. AND we can run Linux next to it. At the same time. And not just one Linux install, but very literally hundreds of them if we felt like it.
It's completely nuts. They got shit that makes Vmware look like Dosbox. Microsoft's 'Virtual Server' isn't even on the radar; it's completely laughable in comparision.
That and it has the worst possible user interface imaginable. Think about the worst thing you've ever seen. Some DOS 2.x nightmare. Now add a OS/2 GUI and make it WORSE. Now imagine it worse then that. Now your getting close. That and we pay out the ass for the pleasure of using it. Ok, now make it slightly worse. That's about right.
Virtualization looks like necessary evil, because we are incompetent to write better OSes and Application. Virtualization is the easier route.
It's not a question of "competence", there simply is no such thing as a uniformly "better" operating system or application. DOS, for example, is an excellent operating system for some narrow set of applications, and you can hack Mach or Singularity until the cows come home and you're not going to create something better.
I would have preferred a better, from the ground-up OS any day. Hurd, or ever better Singularity!
People like you are part of the reason why software sucks so badly: you simply don't understand real-world tradeoffs. People like you design systems like Mach or Windows, systems that try to be everything to everybody; people like you throw in MLOCs of useless features and generalizations and extensibility, and all you are doing is create bigger and bigger headaches.
Virtualization is doing the right thing: it lets people focus on creating operating systems and server configurations that focus on solving specific problems. Maybe with virtualization, we can finally kill the general purpose operating system.