Subject: Re: Emacs and CL (was Re: More LispOS talk (was Re: Lisp subverts the world (was Re: ints vs fixnums (was Re: Java ... (was Re: ... (was Re: ...))))))
From: (Rob Warnock)
Date: 1999/03/04
Newsgroups: comp.lang.lisp
Message-ID: <7blmrv$>
Sunil Mishra  <> wrote:
| [things] not needed on a unix box meant for a single user. There are many 
| annoying side-effects that protection has, such as the need to copy data
| from a user buffer to a network or print buffer before it can go out to the 
| appropriate device. I believe there are quite a few efforts underway that
| get around some of these problems.

Indeed. On Unix-based platforms, we at SGI have been shipping TCP/IP stacks
and networking hardware that do "zero-copy" DMA since at least 1992 or so.
This allowed, for example, achieving (circa 1994) "wire-speed" TCP/IP over
HIPPI (well, ~94 MB/s) user-mode to user-mode, instead of the ~30 MB/s that
the machines of the day could do if they had to bcopy user buffers to/from
kernel mbufs.

Likewise, for several years we've been shipping the "XFS" filesystem
which (among other things) adds an "O_DIRECT" mode that allows disk
reads & writes to DMA directly into/out of user-mode buffers, allowing
a filesystem read/write speed of ~300 MB/s, sustained. [And not just in
toy test programs, but in production applications such as media-serving,
database, etc. See for a report
of backing up an online Oracle database with Legato "Networker" backup
software at a speed of 1 TB/hr, or >275 MB/s sustained.]

I say these things not to brag on SGI (*blush*), but to assert that
the "annoying side-effects [of] protection [in Unix]" have *not* proved,
in fact, to be a great deterrent to achieving superb I/O or networking
performance. Quite to the contrary, the things you have to do in a Unix
system to get high performance are very much the same as you'd have to
do under *any* other operating system on the same hardware (well, an O/S
that offers at least *some* form of virtual memory -- for it is VM, not
user/kernel protection per se, that causes much of the grief).

So if you added some sort of "multi-user" and/or "protection" to a LispM,
it wouldn't *necessarily* hurt your I/O performance (unless you botched
the job).


Rob Warnock, 8L-855
Applied Networking
Silicon Graphics, Inc.		Phone: 650-933-1673
2011 N. Shoreline Blvd.		FAX: 650-964-0811
Mountain View, CA  94043	PP-ASEL-IA