>>>>> "mh" == Michael Hannemann <[EMAIL PROTECTED]> writes:

  mh> If someone wanted to run code of mine on a sparc machine with
  mh> Solaris 2.8 (I think), should I point them to SBCL? The code in
  mh> question works under ACL and CMUCL on x86, and uses locks and
  mh> processes and all those good things.

CMUCL's multiprocessing support isn't going to be ported to Solaris
soon, and Dan Barlow's current experimental native threading work
on SBCL is x86-only. Proposing funding would probably help development
in these areas.

If communication between threads via shared variables is limited to a
few well defined variables, it may be quite easy to port it to using
multiple processes communicating using SYSV shared memory. You'd need
to define accessor functions for your shared variables that acquire a
semaphore, read from a shared memory segment, then release the
semaphore (this could perhaps be done using SYMBOL-MACROLET). I think
you could obtain very good performance from such an approach (much
better than the current x86 multiprocessing implementation, on an SMP
machine), without huge amounts of work. I can send you FFI bindings
for the SHM primitives if you are interested.

A final possibility is to use the SCL implementation, which is a
commercial derivative of CMUCL that uses native threads.

   <URL:http://www.scieneer.com/scl/>
  
-- 
Eric Marsden                          <URL:http://www.laas.fr/~emarsden/>

Reply via email to