Ned’s BigFaT Blog!

September 25, 2007

Virtualization and Stuff

Filed under: Uncategorized — makfu @ 10:46 pm

I posted this a while back to osnews.com, but I thought it might be useful for those who want to understand the different types of virtualization software.

So to start, let’s layout the three common methods to building a virtual machine monitor in use today and their commonly acknowledged strengths and weaknesses (and yes I am dropping the Type 1 vs. Type 2 designators because I don’t think they help properly illustrate the discussion):

The first is kernel based VMM. This model uses a kernel mode driver or extension to provide the VM environment within a host OS wherein the host is responsible for memory management (natively or via extension), virtual machine scheduling via its own scheduler and interrupt handling. In this model the host OS itself becomes the VMM. This is the VMWare Server, VMWare Workstation, Microsoft VPC, Virtual Server and KVM model. The downside to this model is it depends on the general purpose OS’s notion of memory management, processor scheduling and interrupt handling which is not necessarily optimal for VM resource management.

The second option is a monolithic virtual machine monitor (or fat-hypervisor), such as VMWare ESX. The advantage to this scenario is that the VMM, and its driver model, is specifically engineered to handle memory allocation and processor scheduling, interrupt handling and resource management in a Virtual Machine centric fashion. The primary negative of this model is that there is the overhead of what amounts to a complete secondary driver set in the VMM, adding complexity to the VMM codebase and creating yet another driver model that 3rd parties and OEMs must support.

The third option, employed by Xen and Microsoft’s hypervisor’s, is a thin-layer VMM that only provides basic VM instantiation, tear-down, memory management, processor scheduling and interrupt handling (and redirection) for Virtual Machines. Everything else, including hardware device access, is implemented via the root (parent, dom 0) VM’s OS driver model. The advantage to this model versus the monolithic VMM is that in theory, no proprietary virtualization specific driver model exists. The downside to this model is that the VMM is dependent on the root VM’s driver implementation, which might not be optimal or may require modification of the root OS’s kernel and driver model to perform well.

We will continue to see all three models for the foreseeable future. All three models have their weaknesses and strengths. While architecture fundamentals are important, what ultimately matters is the implementation. Architecture only matters in so much that it facilitates a good implementation.

September 20, 2007

My God, it’s full of cores!

Filed under: Uncategorized — makfu @ 9:10 pm

So two years ago, I wrote that people would soon have more processor cores than they we would know what to do with. I am now one of those people. With the recent arrival of my Dell XPS 700 to 720 upgrade kit (a nice freebie from Dell), I decided I “needed” a quad core Q6600. Why did I need one? I haven’t the foggiest notion. My Vista winsat processor score is now a 5.9 and I can revel in the knowledge that I am ready “for the future”.

The truth is that a quad core is pretty much overkill, but it sure looks cool to see those 4 processor graphs in your task manager. That said, the Q6600 is an awesome deal for the money (about 280 bucks at the time of this post) and is a very, very fast CPU. Given that 4 years ago, this type of performance would have cost you five figures, it is pretty cool to see Moore’s amended law continuing. Hopefully Crysis will justify all this multicore madness. If not, at least I have a really cool looking multicore sidebar gadget. 

Farewell Old Friends…

Speaking of CPU’s, at the other end of the spectrum, the last examples of the venerable 80386 and 80486 CPU’s are rolling off the line at Intel. At the end of this month, both CPU’s will end their production runs. Both CPU’s have long been obsolete for general purpose computers, but had continued on as popular choices for embedded systems applications.

I remember getting my first 80386, a Tatung 386 tower running a 386DX 33 with 4MB RAM, a 100MB first gen IDE hard drive and an Orchid 16bit Super VGA adapter. I remember the first time I booted OS/2 1.2 on it and being appalled that my massive 4MB of ram was barely adequate. I remember running Windows 2.11 /386 and thinking how utterly crap it was. Then came Windows 3.0 with Word for Windows. With proper drivers for my Video card and at least palatable font, it was at that point I started using my PC more than my Amiga. Yes, it still couldn’t play games like my Amiga, and Windows couldn’t multitask worth a damn, but when writing school papers, programming or doing stats homework, the software for Windows 3.0 (and later 3.1) just overwhelmed. It was the 386 that made those real GUI applications possible on the venerable PC.

The 486 would prove just as big a leap and the final death knell for the Amiga in my computing realm. It was on my Zeos Pantara 486DX2-66 (with 2MB Diamond Viper VLB, 16MB RAM and a whopping 500MB IDE disk) that I would start using OS/2 2.x, and then Windows NT 3.1. Once I used NT, even the Amiga’s remarkable multitasking paled in comparison, mainly because NT offered, what was then, nearly unheard of stability. With the advent of VLB and the Sound Blaster 16 (along with my favorite card, the Gravis Ultrasound) the PC could match and exceed the graphics and sound capabilities of even the best AGA equipped Amiga. I never looked back.

The 386 and 486 didn’t just change computing on the PC, they changed the face of computing itself. Microsoft owes much of its current success to these two chips and Linus Torvolds would likely not have created Linux had he not wanted to build an OS kernel to take advantage of his newly acquired 386, of which Minix’s 16bit architecture didn’t. The 386 and 486 took us from simple character mode, single tasking environments of the 80’s, to the multitasking, multimedia world we take for granted today.

So the next time you find an old 386 or 486 clunker in someone’s closet, give it a salute before using it for target practice with your .44 (then fill it full of lead for killing my beloved Amiga).

Blog at WordPress.com.