Mourning Doug Niehaus
[Posted August 29, 2012 by corbet]
| From: |
| Thomas Gleixner <tglx-AT-linutronix.de> |
| To: |
| Jonathan Corbet <corbet-AT-lwn.net> |
| Subject: |
| Obit for Doug Niehaus |
| Date: |
| Thu, 30 Aug 2012 01:12:12 +0200 (CEST) |
| Message-ID: |
| <alpine.LFD.2.02.1208300052480.2865@ionos> |
| Archive-link: |
| Article, Thread
|
Real-Time community mourns death of Doug Niehaus
The academic and the Linux real-time community mourns the unexpected
death [ http://www.news.ku.edu/2012/august/24/niehaus.shtml ] of Doug
Niehaus. Doug has to be considered one of the pioneers of real-time Linux.
His efforts of making Linux a venerable choice for real-time systems
reach back into the mid 1990s. While his KURT (Kansas University
Real-Time) project did not get the attention that Victor Yodaikens
RT-Linux development received for various reasons, his influence on
the Linux kernel and on today's most popular Linux Real-Time project
reaches much farther than most people are aware of.
Back in the mid 1990s Doug started the UTIME project aiming to bring
micro second timer resolution to the Linux kernel. UTIME was the base
of George Anzingers HRT project which was the high resolution timer
implementation of choice for some years. In 2005 Ingo Molnar and I
tried to integrate the best of HRT and UTIME into the Real-Time
preemption patch, but both approaches had their share of shortcomings
which led to a new implementation: hrtimers, which found their way
into the mainline kernel in 2006. I still remember the lively
discussions with Doug on the design details and the unique experience
of co-authoring a paper [
http://kernel.org/doc/ols/2006/ols2006v1-pages-333-346.pdf ] about
hrtimers with him. His obsession of preventing the abuse of the
English language has not only caused me a great deal of grey hairs; I
know that he was not letting his students or anyone else slip through
with a sloppy statement either, native speakers or not.
Another area of his interest was instrumentation. His kernel patches
to provide a tracing and instrumentation framework along with a set of
user space tools to analyze the data probably precede any other Linux
instrumentation tools, but the history on that is blurry. For me
personally DSKI (Data Stream Kernel Interface) was the first tracing
tool I stumbled over which allowed me to look at the kernel internals
without disturbing the run-time properties of it too much. The early
implementations of the kernel tracer in the real-time preemption
patch, which evolved into ftrace later, definitely borrowed a few
ideas and tricks from DSKI.
While many of Doug's academic colleagues made it clear that morphing a
general purpose OS into a real-time OS would never be possible, Doug
always had a clear vision of making the Linux kernel itself have
real-time capabilities, instead of the much simpler approach of using
a separate Nano- or Micro-Kernel underneath. Having looked into RTAI
and participated in its development for some time, I heartily welcomed
Doug's determination to make this happen. I still shudder at the
thought of RTAIs and similar approaches requirements to deal with two
sets of APIs, limited debugability and an horrendous way of
communicating between the two worlds.
I really can't count the hours I
spent with Doug in pursuing the in kernel real-time approach and
refining KURT into an industrial usable RTOS solution. Right when we
had a stable system based on Linux 2.4 and where in the middle of
porting it over to the 2.6 kernel, the famous Real-Time debate with
code popping up from various hideouts took place on LKML. It took me a
split second to comprehend that Ingo Molnar's real-time preemption
patch was going to change the game. My knowledge accumulated in the
years working with Doug allowed me to bring in some of the concepts
Doug had envisioned years before this started to take off. Doug
followed this development closely and soon enough he rebased his own
research framework on the real-time preemption patch and started to
study problems which are still hunting us today. He predicted the
complexity of locking issues for a deadline based scheduling algorithm
on SMP machines and provided possible solutions way before the kernel
community and other researchers started to actually look at them. The
early deadline first scheduler patches for Linux, which are currently
developed at the Scuola Superiore Sant'Anna, Pisa, are influenced by
Doug's ideas and concepts.
Doug's direct and indirect influence on the Linux (Real-time)
development is definitely worth to be mentioned and preserved in the
Linux history book.
Personally I'm very grateful for Doug's private lectures on the fine
arts of Real-Time systems and I have often enough used some of his
pointy statements in talks and discussions. His most cited one comes
to my mind on a regular basis:
"Real-Time is not as fast as possible, it's as fast as specified".
He coined this in a private discussion at my house, when one of the
participants insisted on asking - "How fast will it be?" - over and
over.
Doug's dry sense of humour, his language skills and his broad interest
outside of computer science ranging from philosophy, fine arts, music
and literature to more prosaic topics like cooking, dogs and hiking
were always a guarantee for lively and interesting conversations,
which could get opinionated and heated as well.
From time to time his anecdotes from his youth and his university and
work experience allowed me to have a deep glimpse into his personal
life and thoughts, while he was very protective about those
otherwise. His occasional visits to my house will stay forever in my
and my familys memory. I lost a friend and I'm going to miss his
open-minded, deeply humanistic, but also vulnerable character, which
made it a pleasure and from time to time laborious to work and
communicate with him.
Doug's friends have set up a memorial fund
[https://www.linutronix.de/niehaus.html] at the University of Kansas
dedicated to awards or scholarships in his name.
May he rest in peace
Thomas Gleixner
(
Log in to post comments)