FOSS.IN - Day 2
FOSS.IN moved on to its second day today. Contrary to our expectations, we had a lesser crowd today than yesterday. But that didn't dampen our spirits especially as it was the "Sun" Day. We had one full day of Sun Talks - OpenSolaris & Java. Java arguably hogged more limelight today at the talks. But that only meant we tried harder to make the "OpenSolaris Impact" that we never fail to make at such events !
Although I could not attend it, the DTrace Performance Tuning talk by Peter Karlsson was supposedly well recevied - especially the demos. Later in the Day I teamed up with Kishore to deliver the BrandZ presentation. Kishore did the difficult job of explaining the concepts and left me with the fun part of doing the demo. As I was manning the BrandZ/Zones stall too, we noticed that despite its brilliance, BrandZ didn't find much buyers amongst the FOSS crowd who already have Linux running on their machines and didn't appreciate *why* BrandZ on OpenSolaris would benefit them. After some brain bashing, I came up with the following demo which could (hopefully) sell BrandZ to the GNU/Linux crowd.
The saviour (as always) was DTrace. We took the “One Universal Application” - emacs, and did some basic Dtracing. We found that Emacs tries to open the ~/.emacs configuration file once. *Even* if this call fails, it proceeds to do *twenty* stat64() on *each of* .emacs, .emacs.el, emacs.el.gz, .emacs.elc, .emacs.elc.gz – That is 100 useless stat64() calls on a non existent file. Just imagine this when your home directory is mounted over NFS! We then found the call stacks calling the redundant stat functions. Alas, they don't ship Linux with the useful CTF/Symbol Table Data that Solaris does. But then we temproarily worked around the "problem" by touching ~/.emacs. DTrace then showed that the one hundred stat64() calls were reduced to 3.
Wow ! 3 Minutes and 4 D-Scripts later, we had found that the most popular Free/Open Source Software in the world wasn't written that smartly. Just imagine the layers and layers of linux code written by less able programmers and those seen by lesser eyes. There is a lot of scope for profiling and understanding your application behaviour and using it to drive performance gains - And DTrace is unarguably the best tool in the world to do that. That seemed to convince people as to why they should consider BrandZ !
We met a few community people who had actually used DTrace or were in the process of learning it. And the one common impression that we keep getting from such people is that they believe DTrace is a Magic Wand. You just run it on your binaries and it tells you what are the bottlenecks and how you solve them. We had to dispel that myth without making them lose faith that DTrace can actually be used by "Non-God" people. Brendan's DTraceToolkit was something we found useful in such an argument.
All in all a very satisfying (and tiring) day. The only disappointing part was that we didn't receive any submissions for the OpenSolaris Quiz we came up with. Hopefully we can get a few answers tomorrow !
Stay Tuned for Day 3 ...
FOSS.IN/2006 BLOGGERS
http://blogs.sun.com/josephgeorge
Posted at 01:33AM Nov 25, 2006 by Ananth Shrinivas in Sun | Comments[1]
Posted by Pramod on December 03, 2006 at 01:31 PM GMT+00:00 #