My Comments, Impressions, Summaries of conferences, talks, and papers

 


 

Protocol design, closures in OS systems programming, and other summaries from USENIX 2001

The following document is a collection of summaries and subjective impressions of USENIX 2001 Annual Technical Conference, June 28-30, 2001, Boston, MA. The talk by Radia Perlman on Myths, missteps, and folklore in protocol design was the best, the most informative let alone the most entertaining talk of the conference. For the first time I realized that the existing TCP/IP framework is not technically the best solution, and is fraught with problems (e.g., related to multicast). Far better approaches existed, such as CLNP. Unfortunately, they were rejected for purely political reasons.

Another notable talk was by David Mazieres on a toolkit for user-level file systems. The toolkit, SFS, lets us write asynchronous RPC servers, e.g., user-level NFS daemons. Asynchronous RPC programming largely follows the continuation-passing style. The toolkit therefore relies on numerous C++ template hacks to create a closure (of a partially evaluated function), to capture continuations, and to do reference-counting-based automatic memory management. During the discussion, a person asked why such a helpful and needed toolkit as SFS hasn't been implemented before. David Mazieres replied that he first tried to write SFS in plain C. The complexity of memory management for closures and continuations was staggering. He gave up. It's only now, David Mazieres said, that C++ provides features such as partial template instantiation that make it possible to write memory management and continuation-handling hacks. This reply certainly begs a question of using a better language, with garbage collection, closures and continuations built in.

The following talks are summarized:

Version

The current version is 1.0, Jul 6, 2001

References

USENIX01-impressions.txt [36K]
The collection of summaries (in the outline format)

 

Limitations of threads, and other summaries from USENIX 2002

The document referenced below is a collection of summaries and subjective impressions of USENIX 2002 Annual Technical Conference, June 14-16, 2002, Monterey, CA. The topic of threads was discussed in several talks. The talks, perhaps unwittingly, confirmed that John Ousterhout was right after all: threads are really a bad idea, for most of the purposes. Several presentations have demonstrated why system developers and kernel hackers should know about continuations. Another notable point, expressed by a C programmer and a serious X windows developer, was that good ideas do come up just from mere writing down a formal specification. Software engineers and OpenSource developers should use Math and Logic.

The following talks are summarized:

Version

The current version is 1.0, Aug 23, 2002

References

USENIX02-impressions.txt [58K]
The collection of summaries (in the outline format)

 

Neal Stephenson's keynote, a Logic File System, and other summaries from USENIX 2003

The following is a collection of summaries and subjective impressions of USENIX 2003 Annual Technical Conference, June 12-14, 2003, San Antonio, TX. Two presentations stood out. The first one was the keynote address by Neal Stephenson, the author of Cryptonomicon, Snow Crash, The Diamond Age, and the upcoming Quicksilver. He started his insightful presentation with an observation that programmers and professional writers have a lot in common. In particular, both groups build complex mental structures, which they must then serialize through a keyboard by pressing one key at a time. Neal Stephenson convincingly argued against a so-called distillation theory, which, in the realm of writing software, corresponds to a software development methodology, or the process. Good books are not written by systematically refining bad drafts. Likewise, it is futile to hope that good software can eventually be produced by inept programmers following a systematic process. Neal Stephenson also stressed the importance of giving ideas time to mature, in the subconsciousness, so only good ideas percolate to the conscious level.

The most innovative talk was ``A Logic File System'' by Yoann Padioleau and Olivier Ridoux. The talk attempted to bring filesystems from the age of hierarchical and network databases into the age of relational -- and, moreover, deductive databases -- and yet maintain the familiar cd, ls, mkdir, mv interface, file paths and shell globs. The central idea is an automatic grouping of query results into navigatible `subdirectories' according to the most general and meaningful attributes. Embedding a Prolog interpreter into a file system and viewing file paths as logical formulas are very insightful and inspiring. The file system is implemented, has been used in practice and shows good performance.

The following talks are summarized:

Version

The current version is 1.0, Jul 14, 2003

References

USENIX03-impressions.txt [57K]
The collection of summaries (in the outline format)

 

Software development at Pixar, relevance of academia to industry, and other summaries from USENIX 2006

These are subjective notes on the USENIX 2006 Annual Technical Conference, June 1-3, 2006, Boston, MA. The notes summarize invited talks and panels -- in particular, the talk by Greg Brandeau, Vice President of Technology at Pixar Animation Studios, about the whole process of making animated movies, the supporting software and hardware, and the help Pixar needs from software developers. Also of note were panels about Open Source business models and the relevance of university (systems) teaching and research to industry.

Version

The current version is 1.0, June 17, 2006

References

USENIX06-impressions.txt [27K]
The collection of summaries (in the outline format)