Friday, December 16, 2005

DTrace for Linux! Sort of!

My homey/colleague at Sun Adam Leventhal has posted a barn-stormer of an article about the multiplicative power of DTrace and Solaris' new Linux binary compatibility layer (somewhat unfortunately termed "BrandZ"). Adam's post follows the usual script for DTrace demos:
  1. Take some innocent user-level application that mostly performs ok.

  2. Demonstrate a head-scratching anomoly in this mostly-ok performance.

  3. Make the developers look like total idiots.
This last item is a natural consequence of being able to see more deeply into the dynamic behavior of a software system than its creators. Similarly, working on a virtual machine monitor one sees a good deal of unintentional behavior with serious performance consequences. This is not because the people working on top, or glibc, or the Linux kernel for that matter, are idiots. Far from it. (Mostly.) They're just working with inferior tools, like biologists before the invention of the microscope. Creating quality software is one of the most serious untackled technical challenges out there; to the extent that DTrace makes this more possible, it's a real reason to use Solaris.

I've got to hand it to Sun; circa 2000, I thought OS'es were a solved problem. Yeah, we beat our chests over Solaris or Linux or Windows or AIX or whatever, but they're all basically the same junk: processes, users, threads, networking, multiprocessors, filesystems, virtual memory, linkers, etc. While all that stuff is blindingly hard to get right, impelementing it is, at some level, a simple matter of programming. So, props to the boffins at Sun for actively fighting commodification: ZFS and DTrace are real reasons to favor Solaris over other OS'es! For the first time since Mac OS X shipped, there are legitimate, technical reasons for an OS to claim fundamental superiority. Now BrandZ helps overcome excuses for not using Solaris. Of course, Solaris is free, so how they turn this into cash flow is another question.

(And no, smart-alecks, I don't own any SUNW stock or derivatives. Err, I guess I probably do through some index fund somewhere. But you get the point; I'm not randomly text-messaging strangers that "SUNW is gng to $25+++++!!!!!111".)

Lest I get too overheated here, my favorite Linux application won't run under BrandZ, presently. The kernel-level portion of VMware hasn't been ported to Solaris. However, there's at least conceptual hope. We ship the source to vmmon along with the Linux hosted products-- we have to, because there's no such thing as a Linux kernel ABI. Back in the workstation 2.0 days, some intrepid FreeBSD folks took it upon themselves to port vmmon to FreeBSD, and were able to use FreeBSD's linux compatibility layer to run the VMware binary. Perhaps some similarly motivated OpenSolaris folks will get around to doing something similar?


Blogger Troy Phillips said...

And what about a port to OS X for x86 - anything to talk about yet?

6:24 AM  
Blogger Keith Adams said...

Sorry, dude. My boss reads this blog; if I want to break any exciting news, I'd better have my desk packed before I do...

9:07 AM  

Post a Comment

<< Home