Tracing Workshop in Montreal
By Elena on Jan 31, 2008
January 29 2008
I am currently at a two day tracing workshop in Montreal Canada. It is
mainly an industry workshop hosted by Ericsson. There are a few Open
Source folks, like Mathieu, Andrew, Nathan and me. Too bad Frank
couldn't make it. I decided to drive from Boston, it seemed like a
good idea at the time, but now I am not so sure anymore, it was a
fairly long drive. Fortunately the rental car has a 6 CDs changer.
There was an opening reception Monday evening, with nice French and
Canadian food. I tried the caribou steak, not bad at all.
The presentations so far have been of good quality, even though some
were a bit too detail oriented. There are representatives from IBM,
Red Hat, University of Montreal and Ecole Polytechnique, Canadian
DoD, Freescale, Oracle, MontaVista, WindRiver and others. There is
a wiki for the workshop which includes the slides. The wiki will be
publicly accessible in a week or so. I'll post the link then.
The first day talks provided an overview of the current tracing
platforms including the challenges that they face. Systemtap, Frysk,
Eclipse/TPTP, QNX. There was a presentation about old IBM projects,
and the experience gathered about tracing as part of them. I gave a
short presentation about the use of Systemtap within Oracle, and the
problems that deploying the tool in a commercial/enterprise
environment entails. I don't think these problems are specific to
Oracle, on the contrary they are a good representative set of what
Systemtap needs to address as a project in order to step up to the
next level, and move beyond the hacker community. Let's hope we can
figure out what to do about them, as they are general challenges that
would impact gdb and frysk too. I also talked a bit about some other
usage of systemtap that we tried in my team, specifically to generate
kernel modules to force the kernel into a resource starvation
state. These scripts were based on some previous work that Bryce did,
and the source code for those fragments is available here. Here are
my slides. Mathieu presented about LTTng and tracing at
Google. Interesting talk, especially now that the markers
infrastructure has been released in the 2.6.24 kernel. Speaking of
which, there is still a lot to do there, because now there will need
to be negotiations about where to insert the actual markers in the
various kernel subsystems. Once those are in, we need to write the
systemtap scripts that use them.
The evening had a couple of BOFs, one about Eclipse and modeling, and
the other about tracing events. I attended the latter. Discussion was
a bit all over the place, but there was some interesting brainstorming
about tracing and time counters in virtualized environments. The notes
should be up in the wiki soon.
In the evening I met again with a bunch of folks from the workshop,
and a colleague, Martin, kernel person from Oracle who lives in Montreal.
January 30 2008
On the second day, somebody from Enea presented a tracing framework
that is based on evenpoints and actions which is very similar in
spirit to Systemtap.
The next talk was from ZealCore. They talked about replay debugging,
and tracing. They do flight recorder type tracing, with very small
Next was Eclipse PTP. Nice CDT extensions for parallel programming,
supporting all sort of interactive static analysis for OpenMP and MPI.
This effort was mentioned, called "Scalable Tools Communication
Infrastructure" at http://www.scalabletools.org. Interesting, worth
keeping an eye on them. The PTP project uses SDM: Scalable Debug
Manager that is based on gdb. There are multiple instances of gdb one
for each process and a manager program that controls the various gdbs.
Also these projects were mentioned. TAU (from University of Oregon)
Windriver presented about OS agnostic visualization tools, they used
LTTng, and plugged their graphical interface and visualizer on top of
Unfortunately at this point I had to leave, and I skipped the last
presentation, also from WindRiver, where a tool was presented that had
similar functionality to Systemtap.