OSDI paper - IO-Lite: A Unified I/O Buffering and Caching System

Jim Gettys (jg@pa.dec.com)
Tue, 2 Mar 1999 11:31:01 -0800


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

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/