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:
- Keynote. Linux: A strategic disruptive force
- Myths, missteps, and folklore in protocol design
- A toolkit for user-level file systems
- LOMAC -- Mandatory Access Control (MAC) you can live with
- TrustedBSD: adding trusted operating system features to FreeBSD
- Security enhanced Linux
- Plan9/Inferno
- Scripting for PalmOS
- Nickle: Language principles and pragmatics
- The design and implementation of the NetBSD rc.d system
- User-level checkpointing for LinuxThreads programs
- Are mallocs free of fragmentation?
- Super-BSD BOF
- Handwriting recognition on WinCE vs. Palm and Newton
- Sandboxing applications
- Building a secure web browser
- Citrus project: true multilingual support for
BSD operating systems
- Reverse-engineering instruction encodings
- An embedded error recovery and debugging mechanism for scripting
language extensions
- Interactive simultaneous editing of multiple text regions
- High-performance memory-based web servers:
kernel and user-space performance
- Web server acceleration via the inverse cache
- Storage management for web proxies
- Active Content: really neat technology or impending disaster?
- The future of virtual machines: A VMware Perspective
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:
- Keynote: The Internet's coming silent spring
- Interactive 3D Graphics applications for Tcl
- The AGFL Grammar Work Lab
- Plan9 and Inferno
- Introduction to Air Traffic Management Systems
- The Future Is Coming: Where the X Window System Should Go
- XCL: An Xlib Compatibility Layer for XCB
- Biglook: A Widget Library for the Scheme Programming Language
- BSD BoF
- An Implementation of Scheduler Activations on the
NetBSD Operating System
- Authorization and Charging in Public WLANs using
FreeBSD and 802.1x
- Design and Performance of the OpenBSD Stateful Packet Filter (pf)
- Enhancing NFS. Cross-Administrative Domain Access
- Ningaui: A Linux Cluster for Business
- CPCMS: A Configuration Management System Based on
Cryptographic Names
- X Meets Z: Verifying Correctness in the Presence of POSIX Threads
- Cyclone: A Safe Dialect of C
- Cooperative Tasking Without Manual Stack Management
- Improving Wait-Free Algorithms for Interprocess
Communication in Embedded Real-Time Systems
- Special Closing Session: How Flies Fly?
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:
- Keynote. Neal Stephenson: Programmer as a writer.
Do it right the first time
- A Logic File System
- Undo for Operators: Building an Undoable E-mail Store
- Role Classification of Hosts within Enterprise Networks Based on
Connection Patterns
- A Cooperative Internet backup scheme
- The Convergence of Ubiquity:
The Future of Wireless Network Security
- Network Programming for the Rest of Us
- In-Place Rsync: File Synchronization for Mobile and
Wireless Devices
- Application-specific Delta-encoding via Resemblance Detection
- Opportunistic Use of Content Addressable Storage for
Distributed FileSystems
- StarFish: Highly-Available Block Storage
- Secure and Flexible Global File Sharing
- The CryptoGraphic Disk Driver
- The Design of the OpenBSD Cryptographic Framework
- A Binary Rewriting Defense against Stack-based Buffer
Overflow Attacks
- Kernel Support for Faster Web Proxies
- Multiprocessor Support for Event-Driven Programs
- POSIX Access Control Lists on Linux
- Privman: A Library for Partitioning Applications
- The TrustedBSD MAC Framework: Extensible Kernel Access
Control for FreeBSD50
- Using Read-Copy-Update Techniques for System V IPC in the
Linux 2.5 Kernel
- An Implementation of User-level Restartable Atomic Sequences
on the NetBSD Operating System
- Providing a Linux API on the Scalable K42 Kernel
- BSD SuperBOF
- Plan9
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)