[cap-talk] Plash: the Principle of Least Authority Shell
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 -
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