|
Whither systems research?
Ted Leung
noted
the discussion that
Werner and I
have been having, and
observed that we should consider Rob Pike's (in)famous polemic,
"Systems
Software Research is Irrelevant." I should say that I broadly agree with
most of Pike's conclusions -- and academic systems software research has seemed
increasingly irrelevant in the last five years. That said, I think
that what Pike characterizes as "systems research" is far
too skewed to the interface to the system -- which (tautologically)
is but the periphery of the larger system.
In my opinion, "systems research" should focus not on the interface
of the system, but rather its guts:
those hidden
Rube Goldberg-esque innards that are rife with old assumptions and
unintended consequences.
Pike would perhaps dismiss the study of these innards as "phenomenology",
but I would counter that understanding phenomena is a prerequisite
to understanding larger systemic truths.
Of course, the problem to date
has been that much systems research has not been able to completely
understand phenomena -- the research has often consisted merely of
characterizing it.
As evidence that systems research has become irrelevant,
Pike points to the fact that
SOSP has had
markedly fewer papers that have presenting new operating systems,
observing that "a new language or OS can make the machine
feel different, give excitement, novelty." While
I agree with the sentiment that
innovation is the source of excitement (and that such exciting innovation
has been woefully lacking from academic systems research), I disagree
with the implication
that systems innovation is restricted
to a new language or OS; a
new file system, a
new debugger, or
a new way of
virtualization can be
just
as exciting. So the good news is that
work need not be a new system to be important systems work, but the
bad news is that while none of these is as
large as a new OS, they're still huge projects --
far more than a graduate
student (or even a lab of graduate students) can be expected to complete in a
reasonable amount of time.
So if even these problems are too big for academia, what's to become of
academic systems research? For starters, if it's to be done by graduate
students, it will have to be content with smaller innovation. This doesn't
mean that it need be any less innovative -- just that the scope of innovation
will be naturally narrower. As an extreme example, take the new
nohup
-p in Solaris 9. While this
is a very small body of work, it is
exciting and
innovative.
And yet, most academics would probably dismiss this work as
completely uninteresting -- even though most could probably
not describe the mechanism by which it works.
Is this a dissertation?
Certainly not -- and it's not even clear how such a small body of work
could be integrated into a larger thesis. But it's original, novel work,
and it solves an important
and hard (if small) problem. Note, too, that this work is interesting
because of the phenomenon that prohibited a naive implementation: any
solution that doesn't address the deadlock inherent in the problem isn't
actually an acceptable solution. This is an extreme example, but it
should make the point that smaller work can be interesting -- as long
as it's innovative, robust and thorough.
But if the problems that academic systems researchers work on are going
to become smaller, the researchers must have the right foundation upon
which to build their work: small work is necessarily more specific, and
work is markedly less relevant if it's based on an obsolete system. And
(believe it or not) this actually brings us
to one of our primary motivations for
open sourcing Solaris: we wish
to provide complete access to a best-of-breed system that allows
researchers to solve new problems instead of revisiting old ones. Will
an open source Solaris single-handedly make systems research relevant?
Certainly not -- but it should make for one less excuse...
(2004-07-13 00:24:30.0/2004-07-13 00:13:04.0)
Permalink
|