Mourning Doug Niehaus
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> |
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
Posted Aug 29, 2012 23:31 UTC (Wed)
by xxiao (guest, #9631)
[Link] (1 responses)
The last link for donation is broken.
Posted Aug 29, 2012 23:38 UTC (Wed)
by corbet (editor, #1)
[Link]
Posted Aug 30, 2012 0:54 UTC (Thu)
by nwatkins (guest, #61119)
[Link]
Posted Aug 30, 2012 2:44 UTC (Thu)
by rworkman (guest, #47472)
[Link]
I'd be remiss if I didn't also point out that we don't do too well at recognizing people while they're still around to appreciate it... :/
Posted Aug 30, 2012 15:29 UTC (Thu)
by PaulMcKenney (✭ supporter ✭, #9624)
[Link]
Posted Aug 30, 2012 21:49 UTC (Thu)
by seanvk (guest, #80501)
[Link]
I am saddened to learn of his passing away. I took an OS course with him nearly 20 years ago at KU. His enthusiasm was a great motivator for me in RTOS development in general and Linux in particular. It's unfortunate that we learn of someone's passing before we celebrate his contributions - especially in areas of education and research.
Sean Kelley
Posted Aug 31, 2012 3:17 UTC (Fri)
by filteredperception (guest, #5692)
[Link]
Posted Sep 2, 2012 4:20 UTC (Sun)
by regehr (guest, #86526)
[Link]
I think my favorite memory of Doug was spending an afternoon walking around DC, poking into museums and such, after an NSF panel ended early.
RIP.
Posted Sep 3, 2012 18:26 UTC (Mon)
by tejasvi (guest, #86538)
[Link]
Posted Sep 4, 2012 18:27 UTC (Tue)
by amit.kucheria (subscriber, #59246)
[Link]
I used, patched and enhanced several cool Linux tools at ITTC that Doug had an influence on. e.g. DSKI (tracing) and NetSpec[2] (network protocol testing and reporting) still have features I haven't seen in other tools.
More than anything else, working with Doug reinforced in me the possibility of working on Linux as a full-time, paid job. For that, I'm ever grateful.
[1] 2000-2002
Mourning Doug Niehaus
My fault, sorry for the confusion.
Link fixed
Mourning Doug Niehaus
Mourning Doug Niehaus
Mourning Doug Niehaus
Mourning Doug Niehaus
Mourning Doug Niehaus
Mourning Doug Niehaus
Mourning Doug Niehaus
Mourning Doug Niehaus
[2] Netspec: http://www.ittc.ku.edu/~evans/talks/dren_users/dren-enhan...