How long have you been at Red Hat, and what is your role?
I have been at Red Hat for four years now. Red Hat
and open collabortive development has revamped
the entire thinking of how software development should be done.
My role is VP for the Linux Tools and Applications.
This group is actively involved in the development and maintenance
of projects associated with many of the consortiums in the open
source world such as Free Standard Group (FSF), fedora.org,
ObjectWeb, Apache, Linux Standard Group (LSB), Xen,
Eclipse, sourceware.org, and sourceforge.net.
What tools are maintained by your team of engineers?
The tools maintained by this group enable development
and deployment in the Linux and Linux middleware areas.
The tools and technologies comprise all the different runtime
(C, C++, Fortran) environments, managed runtime environments
(Java and C#), compilers, debuggers, execution analysis tools,
performance analysis and monitoring, virtualization, apache
server, web server, enterprise Java application server, database
server, developer platform, etc. This team also collaborates
with many universities in these topic areas as a way to broaden
community involvement and innovative thinking.
Sun has been in the news recently with their dynamic tracing
framework DTrace. DTrace seems similar to SystemTap for Linux. How do
they compare?
The SystemTap project is an open collaboration project
initially started by IBM, Intel, and Red Hat to address the need
for a Linux performance monitoring toolset. Others like
Hitachi have joined in the development, and the goal is to encourage
other participants.
The first phase of this project is targeted to have similar
functionality to Solaris's DTrace tool by enabling probes in
the kernel and user space. These probes monitor performance
by way of a tapset, which is the developer's method of enabling
the monitoring. The infrastructure is being architected to enable
future phases in the areas of recovery-oriented computing and to
provide a collaborative environment to enable existing commercial
tools to be integrated.
What other performance monitoring tools is Red Hat working on?
There are several other performance monitoring tools (Oprofile,
valgrind, perfmon, strace, etc.) that are being worked on by
Red Hat. Oprofile is one tool that required considerable work
to function properly on all of the different architectures. This tool helps identify performance problems
such as TLB misses, stalls, memory references, etc. One of
the goals of the SystemTap project is to provide an integrated performance platform where all of these projects and future
ones can be integrated.
The Red Hat tools team has done extensive work on GCC. How do you
ensure that the upstream community team is involved and changes are
incorporated upstream?
In the evolution and advancement of any software project, there
is a point in the development of software where it needs to be
go into a cocoon type development and to emerge as a
"butterfly" to enable the next growth of innovation
and development. This is the second evolution project of this
type for this group. The first being the rearchitecting
of the Linux threading model and library. We learned
from that experience and decided two years ago to see if we
could repeat the success of moving a technology forward in the
area of the Linux compiler. The goals of the project were twofold,
rearchitect GCC to enable a compiler platform that could be used for
integrating more advanced compiler algorithms and to expand
the circle of developers and contributors. We decided to use a similar
development approach to the one we used when revising
the Linux threading library. The development model can be
referred to as open cocooning model. The difference from current
approaches is that the restructuring and development is in full
view of the community. There are some in the software industry
who see this method of forking as a negative for Linux. I think
this team has demonstrated and
will continue to demonstrate that cocooning/forking by using the
knowledge from a prior implementation is a healthy
and necessary method for OSS software development. All enterprise
software companies use this technique today, the difference here is that
Red Hat enables you to watch us grow in full view.
For Red Hat Enterprise Linux, how long does Red Hat guarantee binary
compatibility?
Red Hat has grown to understand the need for binary compatibility
through the evolution of Red Hat Enterprise Linux. We currently
guarantee the model for Red Hat Enterprise Linux N+2.
If you could live anywhere in the world, where would it be and why?
Anywhere that there is snow. I'm a skier and the mornings that there is
fresh powder on the ground are the days that I wish that work
could be conducted from the ski hill.