From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <4353D222.1020703@lanl.gov> Date: Mon, 17 Oct 2005 10:32:34 -0600 From: Ronald G Minnich User-Agent: Mozilla Thunderbird 1.0.2 (X11/20050317) MIME-Version: 1.0 To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [9fans] xcpu "kludge release" Topicbox-Message-UUID: 9b5728e8-ead0-11e9-9d60-3106f5b1d025 folks, in /n/sources/9grid/xcpu.tar you will see a release of xcpu, which is part of the assortment of 9grid tools that we are releasing from LANL. While we are developing this sytem on clusters at LANL, it ought to work just fine on the 9grid, at least on Plan 9 systems. xcpu is intended to be a 9p-based replacement for the bproc system. See http://bproc.sourceforge.net/ for info on bproc, or clustermatic.org for papers. We wish to build lightweight nodes with 9p2000-based servers that are every bit as simple as our bproc nodes. xcpu is intended to replace and obsolete bproc. Performance is going to matter: we can start 1024 16MB mpi images on Pink in 3 seconds. Bproc sets a very high bar, which we hope to meet, but we'll see. Once you untar, in xcpu/XCPU/xcpu.pdf, is a small document describing the whys and wherefores of the design. There really is a reason for the way this is done. This is not the same implementation as Vic Zandy's original cut. That system, while very nice, was just too hard to get working on Linux. This version of xcpusrv is derived from sshnet, with my own changes, and I'm sure, bugs, thrown in. You will doubtless have comments on my ignorance of the Right Way to do Plan 9 threading, and I welcome them; I'm really a n00bie at this game. I'm not real picky about how this is implemented, only that xcpusrv roughly work as described in xcpu.pdf, and work on both Plan 9 and Plan 9 ports. If you want to chuck my code, and send me a better server, I'm fine with that idea :-) Also note that humans are not intended to interact with the services provided by xcpusrv, only programs. See xsh.c for an example of a possible user program to use xcpusrv services. xsh is modeled on the bproc bpsh command. Note that bproc manages process startup, i/o (stdin/out/err), status, and control. xcpu only does startup and I/O. Status and control are intended to be done via u9fs, with specific enhancements to make linux /proc appear to have Plan 9-style ctl and status files for each process. to make on Plan 9, mk -f mkfile-plan9, to make on linux (or other p9ports machine), mk -f mkfile-p9p. To use on Plan 9, see the setitup script; for linux, see the .pdf or the openclone tool (a hacked up plan 9 cat). comments, fixes, etc. welcome. Flames ignored :-) thanks ron