Sunday Feb 17, 2008

And Trixie says .....

Get rid of Roxy.....

And make me the peanut butter and banana sandwich!

Click image to enlarge 

Roxy says "You Should Run Solaris"

Look into my eyes.
You want to run Solaris.
You want to run Solaris.
You want to run Solaris.

Repeat after me
You want to run Solaris.

And make me a peanut butter and banana sandwich!

Click image to enlarge 

Monday Jun 11, 2007

True Virtualization ?

While this is inspired by a recent conversation with a customer, I have seen the term "true virtualization" used quite a bit lately - mostly by people who have just attended a VMware seminar, and to a lesser extend folks from IBM trying to compare LPARS with Solaris zones. While one must give due credit to the fine folks at VMware for raising Information Technology (IT) awareness and putting virtualization in the common vocabulary, they hardly have cornered the market on virtualization and using the term "true virtualization" may reveal how narrow an understanding they have of the concept or an unfortunate arrogance that their approach is the only one that matters.

Wikipedia defines virtualization as a technique for hiding the physical characteristics of computing resources from the way in which other systems, applications, or end users interact with those resources. While Wikipedia isn't the final authority, this definition is quite good and we will use it to start our exploration.

So what is true virtualization ? Anything that (potentially) hides architectural details from running objects (programs, services, operating systems, data). No more, no less - end of discussion.

Clearly VMware's virtualization products (ESX, Workstation) do that. They provide virtual machines that emulate the Intel x86 Instruction Set Architecture (ISA) so that operating systems think they are running on real hardware when in fact they are not. This type of virtualization would be classified as an abstraction type of virtual machines. But so is Xen, albeit with an interesting twist. In the case of Xen, a synthetic ISA based on the x86 is emulated removing some of the instructions that are difficult to virtualize. This makes porting a rather simple task - none of the user space code needs to be modified and the privileged code is generally limited to parts of the kernel that actually touch the hardware (virtual memory management, device drivers). In some respects, Xen is less of an abstraction as it does allow the virtual machines to see the architectural details thus permitting specific optimizations to occur that would be prohibited in the VMware case. And our good friends at Intel and AMD are adding new features to their processors to make virtualization less complicated and higher performance so the differences in approach between the VMware and Xen hypervisors may well blur over time.

But is this true virtualization ? No, it is just one of many types of virtualization.

How about the Java Virtual Machine (JVM) ? It is a run time executive that provides a virtualized environment for a completely synthetic ISA (although real pcode implementations have been done, they are largely for embedded systems). This is the magic behind write once and run anywhere and in general the approach works very well. So this is another example of virtualization - and also an abstraction type. And given the number of JVMs running around out there - if anyone is going to claim true virtualization, it would be the Java folks. Fortunately their understanding of the computer industry is broad and they are not arrogant - thus they would never suggest such folly.

Sun4v Logical Domains (LDOMs) are a thin hypervisor based partitioning of a radically multithreaded SPARC processor. The guest domains (virtual machines) run on real hardware but generally have no I/O devices. These guest domains get their I/O over a private channel from a service domain (a special type of domain that owns devices and contains the real device drivers). So I/O is virtualized but all other operations are executed on real hardware. The hypervisor provides resource (CPU and memory) allocation and management and the private channels for I/O (including networking). This too is virtualization, but not like Xen or VMware. This is an example of partitioning. Another example is IBM (Power) LPARS albeit with a slightly different approach.

Are there other types of virtualization ? Of course there are.

Solaris zones are an interesting type of virtualization called OS Virtualization. In this case we interpose the virtualization layer between the privileged kernel layer the non-privileged user space. The benefit here is that all user space objects (name space, processes, address spaces) are completely abstracted and isolated. Unlike the methods previously discussed, the kernel and underlying hardware resources are not artificially limited, so the full heavy lifting capability of the kernel is available to all zones (subject to other resource management policies). The trade-off for this capability is that all zones share a common kernel. This has some availability and flexibility limitations that should be considered in a system design using zones. Non-native (Branded) zones offers some interesting flexibilities that we are just now beginning to exploit, so the future of this approach is very bright indeed. And if I read my competitors announcements correctly, even our good friends at IBM are embracing this approach with future releases of AIX. So clearly there is something to this thing called OS Virtualization.

And there are other approaches as well - hybrids of the types we have been discussing. Special purpose libraries that either replace or interpose between common system libraries can provide some very nice virtualization capabilities - some of these transparent to applications, some not. The open source project Wine is a good example of this. User mode Linux and it's descendants offer some abilities to run an operating system as user mode program, albeit not particularly efficiently.

QEMU is an interesting general purpose ISA simulator/translator that can be used to host non-native operating systems (such as Windows while running Solaris or Linux). The interesting thing about QEMU is that you can strip out the translation features with a special kernel module (kqemu) and the result is very efficient and nicely performing OS hosting (essentially simulating x86 running on x86). Kernel-based Virtual Machines (KVM) extends the QEMU capability to add yet another style of virtualization to Linux. It is not entirely clear at present whether KVM is really a better idea or just another not invented here (NIH) Linux project. Time will tell, but it would have been nice for the Linux kernel maintainers to take a page from OpenSolaris and embrace an already existing project that had some non-Linux vendor participation (\*BSD, Solaris, Plan 9, plus some mainstream Linux distributions). At the very least it is confusing as most experienced IT professionals will associate KVM with Keyboard Video and Mouse switching products. There are other commercial products such as QuickTransit that use a similar approach (ISA translation).

And there are many many more.

So clearly the phrase "true virtualization" has no common or useful meaning. Questioning the application or definition of the phrase will likely uncover a predisposition or bias that might be a good starting point to carry on an interesting dialog. And that's always a good idea.

I leave you with one last thought. It is probably human nature to seek out the one uniform solution to all of our problems, the Grand Unification Theory being a great example. But in general, be skeptical of one size fits all approaches - while they may in fact fit all situations, they are generally neither efficient nor flattering. What does this have to do with virtualization ? Combining various techniques quite often will yield spectacular results. In other words, don't think VMware vs Zones - think VMware and Zones. In fact if you think Solaris, don't even think about zones, just do zones. If you need the additional abstraction to provide flexibility (heterogeneous or multiple version OS support) then use VMware or LDOMs. And zones.

Next time we'll take a look at abstraction style virtualization techniques and see if we can develop a method of predicting the overhead that each technique might impose on a system. Since a good apples to apples benchmark is not likely to ever see the light of day, perhaps some good old fashioned reasoning can help us make sense of what information we can find.

Technocrati Tags:

Thursday Jan 04, 2007

Happy New Year

It's a couple of days late, but I would like to take an opportunity to wish everyone a very happy 2007. Since it is customary to make a set of resolutions for the new year, I thought I would share a few of mine.
  1. Quality over quantity. In a field sales support organization, most of what you handle is outside your control, but that doesn't mean that you have to be completely interrupt driven and out of control yourself. Perhaps a few well placed "no" responses will help restore some balance and who knows, I might even get reacquainted with my family. I might even finish building the R/C buggy kit that I got last Christmas.....
  2. Community building. As far back as March 2006, Wences Michel and I talked about kicking off a Dallas area OpenSolaris User's Group. We sketched out some ideas, mostly trying to figure out how to work with the Dallas Sun User's Group. Taking a bite out of the procrastination resolution that I'm not going to talk about, a stake has been put in the ground and the Dallas/Ft. Worth OpenSolaris User's Group has been formed. We will hold our first meeting at the Sun office on January 16. The topic will be "What's new in Solaris 10 11/06".
  3. More blogging. Perhaps this is procrastination, part 2. A member of the Solaris Adoption practice noted that there was nothing worse than old information posted on a web site. Perhaps the blogging equivalent of this is the infrequent poster. I've been prodding other team members to share their notes and discoveries but I just noticed that I have more entries in my draft queue than in my last 6 months of postings. While I have been rather deliquent of late, Jeff Victor (aka the Zones FAQ man) has been blogging recently, so that's a good start.
  4. Having Fun. 2006 was a great year from a quality of work perspective. After all, evangelizing Solaris 10 is a lot of fun. And there's a lot more to do, so the outlook for 2007 is quite positive. But does that translate to fun without the qualifier "work". Not really. I have a garage of R/C projects that are still in boxes. And the last time I checked, R/C boxes aren't nearly as interesting as R/C cars and trucks. So more time on R/C and getting a few of those projects race ready.
That's enough for now. What are some of your resolutions for the new year ?

Technocrati Tags: .

Tuesday Mar 28, 2006

Meet Roxy

Thanks to all who suggested names for our new addition. These were carefully considered and your comments were appreciated. The selection committee (well, really just my daughter) chose the name Roxy, and after a few days it somehow seems appropriate. Here are a few pictures of Roxy at 7 weeks - notice how that face just says "mischief". Click on one of the pictures for a slightly larger version.

Technocrati Tags:

Tuesday Feb 21, 2006

Help me name my dog

Those of you that have attended one of my Solaris Boot Camps may have been introduced to our 6 week old English Springer Spaniel, Trixie. She has been decorating my Solaris desktop since her arrival last March.

At just over a year old, Trixie has grown up to be a wonderful family member. She's very sociable, easy to train, eager to please and quite affectionate – boy is she affectionate. As much as we'd like to take credit for all of this, a check into the dog encyclopedia on English Springer Spaniels shows that these are all traits of the breed, so Mother Nature wins this round.

So my darling bride suggested that we get her a companion, preferably another black and white female. Armed with the information from the dog encyclopedia (and previous experience with two other Springers), we contacted the breeder asking if there are any plans to breed these bloodlines again. We just missed a litter, so we'd have to wait about a year – which was fine. Or so we thought....

Mother Nature wins round two. Trixie's maternal grandparents figured out how to unlock the kennel and we received a phone call telling us that Trixie has new born aunt and three uncles, but it was a small litter - only the one female, but she's black and white!!!!

Like I have to finish this part of the story ????? We went over to see these new puppies and never stood a chance. At best I hope to come home with only one (the runt of the litter, one of the males, is also adorable).

But that leaves a dilemna – what to name the new member of the family ?

Had we planned for two dogs, Themla and Louise would be the obvious choices (with Kate and Ally, Laverne and Shirley probably in consideration). But my daughter named Trixie and it suits her, so what goes with Trixie ? The obvious choice would be Dixie, but consider that this is Dallas which isn't nearly as Dixie as say Georgia or Alabama. Also out of consideration for the dogs, there's not much vocal distinction between Trixie and Dixie – so Dixie is out.

Now, most of the names that we've paired with Trixie thus far seem more suited to a bowling alley than the high tech field dog that we expect. So what do we name her ?

We've got a short list of
  1. Roxy
  2. Domino
  3. Haley
  4. Casey
  5. Hemi
  6. Mini-T
  7. Sadie
  8. Sammy
  9. Biscuit

We have 4 weeks to come up with a name. So I'm asking for some help! Please let me know if you like any of the above, or if there's some name that suits this little girl.

Technocrati Tags:

Monday Jan 30, 2006

Thought for the day - Jan 30, 2006

A recent discussion about problem resolution yielded this little nugget of wisdom:
    The difference between an obstacle and an opporunity is your attitude.
I wish I knew the original source so that I could give proper attribution, but it has likely been paraphrased over the years so that it's origins will remain a mystery (and a google search as well as a cursory look through the Penguin Book of Quotations yeilded no additional information).

A positive outlook will allow you to bring to bear all of your problem solving techniques, and judging by the vast number of things that I must get done today, I may need all of them.

So, here's for a positive attitude as I flip over to Monday's Day Timer page.

Tuesday Jan 03, 2006

What did Santa bring you for Christmas ?

I hope that everyone had a happy and safe holiday season.

2005 certainly closed with a mad rush of exciting new technology. The UltraSPARC T1 (aka Niagara) processor along with a rational Oracle pricing model. Branded Zones and the Solaris Containers for Linux Applications - one of the most interesting Solaris 10 features, ZFS - the most anticipated of the new Solaris 10 technologies, the release of Xen 3.0, and of course Solaris 10 Update 1 (aka Solaris 10 1/06).

And 2006 is off to a fast start. Solaris Boot Camps, Deep Dives, and Workshops as far as the eye can see. More on that later.

So what did Santa bring you ?

One of the highlights of my bounty was a Losi Mini-LST, the latest in 1/18 scale electric mini-trucks. Losi rocked the R/C world a couple of years ago with the introduction of the Mini-T, and they have done it again with the Mini-LST. While Associated, Duratrax, X-Ray and others have added things like shaft drive and buggy configurations (the Associated RC18B is very cool), Losi opted for a complete redesign. Dual decks, 2 powerful 370 can motors, it really is a Mini LST. A more proper review will be forthcoming, but this is one cool truck!

And on the technology gadget front, I have finally joined the iPod generation. Of course this brings an extreme system administration challenge - where to carve out 60GB of disk space on the Windows side to be able to host the iPod library ? This is going to keep me busy for quite a while. Fortunately I can do all of my content creation on the Solaris side of things, but until there is a Solaris or Linux iTunes, looks like I'll be staring at Windows a bit more than I had expected. This is exactly why I want a Solaris 10 dom0 and a Pacifica based desktop.

Technocrati Tags:

Bob Netherton is a Principal Sales Consultant for the North American Commercial Hardware group, specializing in Solaris, Virtualization and Engineered Systems. Bob is also a contributing author of Solaris 10 Virtualization Essentials.

This blog will contain information about all three, but primarily focused on topics for Solaris system administrators.

Please follow me on Twitter Facebook or send me email


« July 2016