ossp-pkg/sio/BRAINSTORM/IO-Lite.txt
From jg@pa.dec.com Wed Mar 3 08:37:08 1999
Path: engelschall.com!mail2news!apache.org!new-httpd-owner-rse+apache=en.muc.de
From: jg@pa.dec.com (Jim Gettys)
Newsgroups: en.lists.apache-new-httpd
Subject: OSDI paper - IO-Lite: A Unified I/O Buffering and Caching System
Date: 3 Mar 1999 07:14:53 +0100
Organization: Mail2News at engelschall.com
Lines: 56
Approved: postmaster@m2ndom
Message-ID: <9903021931.AA13619@pachyderm.pa.dec.com>
Reply-To: new-httpd@apache.org
NNTP-Posting-Host: en1.engelschall.com
X-Trace: en1.engelschall.com 920441693 44447 141.1.129.1 (3 Mar 1999 06:14:53 GMT)
X-Complaints-To: postmaster@engelschall.com
NNTP-Posting-Date: 3 Mar 1999 06:14:53 GMT
X-Mail2News-Gateway: mail2news.engelschall.com
Xref: engelschall.com en.lists.apache-new-httpd:29016
I am doing something that I seldom do: cross posting between two high volume
mailing lists. (linux-kernel and the Apache developer's lists). Sometimes
it is useful for us folks who build applications to attend base operating
system conferences, which I had not for a while.
I encourage everyone to read the paper:
IO-Lite: A Unified I/O Buffering and Caching System, by Vivek Pai, Peter
Druschel, and Willy Zwaenepoel, published in the 3rd Symposium on Operating
Systems Design and Implementation (OSDI '99) Proceedings, New Orleans,
Louisiana, February 22-25, 1999, pp15-28.
http://www.cs.rice.edu/~vivek/iol98/ (OSDI paper)
http://www.cs.rice.edu/~vivek/vivekmsee/ (MS thesis)
At the latest (3rd) Symposium on Operating System Design and Implementation,
the "best of conference" award went to this paper, which reports on both
the design and implementation of a unified IO scheme. I think the award was
well placed.
It shows a new I/O approach that is very general and flexible, and avoids
data copies with minimal overhead, even between processes. The authors
use as an example Web service, and show very good performance gains.
While I believe the paper overstates the benefits for "vanilla" web service,
for CGI it should clearly be a major win. IO-Lite avoids the redundant
data copies that normally occur in the standard UNIX read/write semantics,
and copies in the network layer.
My intution tells me that the interfaces proposed here should be very
useful for a very wide range of applications (including a certain window
system I'm a bit fond of, which already took advantage of writev; the
IO-Lite interfaces look better to me).
For full benefits to be reaped, an application can use new system call
interfaces that IO-Lite introduces. The immediate application that comes
to my mind is Apache (ergo the cross posting), particularly as Apache
thinks through its V2 design. I hope that we can have a productive
discussion and this thread may be able to provide clarification (I cc'ed
the authors of the paper), and encourage IO-Lite's adoption.
This has been implemented in FreeBSD... And, of course, it would be nice
to have it in Linux as well, and for Apache to be able to take full
advantage of IO-Lite.
- Jim Gettys
--
Jim Gettys
Industry Standards and Consortia
Compaq Computer Corporation
Visting Scientist, World Wide Web Consortium, M.I.T.
http://www.w3.org/People/Gettys/
jg@w3.org, jg@pa.dec.com