From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <43E2D18C.2050904@lanl.gov> Date: Thu, 2 Feb 2006 20:44:12 -0700 From: Ronald G Minnich User-Agent: Mozilla Thunderbird 1.0.7-1.1.fc4 (X11/20050929) MIME-Version: 1.0 To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu> Subject: Re: [9fans] Van Jacobsen's network stack restructure References: <5fe0afe15e6022332c471d92c932f4ce@vitanuova.com> <200602021816.k12IGrSH080631@gate.bitblocks.com> <3e1162e60602021121p2bda91cu5bbaa3ff8467cf78@mail.gmail.com> In-Reply-To: <3e1162e60602021121p2bda91cu5bbaa3ff8467cf78@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Topicbox-Message-UUID: f17f5e16-ead0-11e9-9d60-3106f5b1d025 David Leimbach wrote: > Why can't I mmap a remote process's memory? Some embedded systems [used > to?] let me do this and pass messages with memcpy :). http://mbgokhale.org/rminnich, look at the zounds stuff, user-mode library that let you do the moral equivalent. You could, as a server, attach a chunk of your memory to a socket endpoint, and you could, as a client, do same. Voila, your memory is my memory. Then I added multicast sockets. For the server side, you could optionally fork off a child that served the memory segment out. OK, ok, I am sure it is ugly to even mention such a thing on this list, but I claim the excuse of utility. Once I added multicast, this library let me move a 16 MByte voxel cube to every node in a 128-node cluster in about the time it took to move it to 1. It greatly shortened the startup time for a || rendering app. There's actually a few people out there still using this library, I hear from them from time to time. I have not worked on it in 10 years. FreeBSD and Linux were supported. ron