[cap-talk] Plash: the Principle of Least Authority Shell

Mark Seaborn seaborn at cs.jhu.edu
Sat Dec 18 12:13:20 EST 2004

Jed at Webstart <donnelley1 at webstart.com> wrote:

> Hmmm.  I would expect Oracle to be pretty heavy on system calls,
> e.g. with things like raw I/O, etc.  Also now that I think of it how
> is the performance of Plash for I/O bound programs?  Since it does
> direct I/O to real files I guess it would only run into problems
> with a program that was constantly opening and closing files -
> right?

That's right.  read(), write(), etc. will not be slowed down.

I just did a quick microbenchmark to see how much the filename-related
calls are slowed down.

The following measures the time taken to do chdir(".") 10,000 times.
The server can handle chdir(".") without doing any extra system calls,
just select/recvmsg/sendmsg.  The first is run under Plash, with the
chdir() calls going to the file server.  The second is run
conventionally (this is what the "!!" syntax is for):

plash$ ./open-speed -c '10000'
real time: 1.217574
plash$ !!./open-speed -c '10000'
real time: 0.033034

(about 37 times slower)

This opens /etc/fstab instead of doing chdir("."):

plash$ ./open-speed -c '10000' -f /etc/fstab
real time: 1.994217
plash$ !!./open-speed -c '10000' -f /etc/fstab
real time: 0.080718

(about 25 times slower)

This is running on a 300 MHz Pentium II machine with Linux 2.4.18.

> I'll let you know about any experience I get with it.  Wow, an RPM.
> That makes it easy.  I'll look for version 1.2 then (?).

I've uploaded the new version.  I've also set up a mailing list for
the project.  Details at http://www.cs.jhu.edu/~seaborn/plash/plash.html.


More information about the cap-talk mailing list