Subject: Re: Lisp io performance.
From: Erik Naggum <erik@naggum.no>
Date: 1999/01/21
Newsgroups: comp.lang.lisp
Message-ID: <3125872306166807@naggum.no>

* Robert Monfera <monfera@fisec.com>
| One reason for using OS level threads is to allow multiprocessing. 

  obviously, Allegro CL has multiprocessing within the same Unix process.

| Probably there is an alternative way of doing that without having to
| create processes?  

  a call to MAKE-PROCESS does indeed create a process, but not in the Unix
  sense with a separate process idea and memory and all that.

| Also, could you tell what major problems you see with OS level threads so
| I can avoid them (I am using LWW) and how you would design applications
| that scale well on multiprocessor machines.

  the problem with scaling on multiprocessor machines is not the OS-thread
  or not OS-thread issue, but how Lisp wants a single address space and you
  are changing the semantics of the language as a whole when you make each
  thread a separate address space or almost a separate address space.

  BTW, I have struggled with cooperating processes on two machines and I
  really thought I could cut corners relative to the full theory, but it
  turns out I can't, so I had to settle for one master and multiple slaves.
  whether the slaves are Lisp processes in the same Unix process, Lisp
  processes in separate Unix processes on the same machine, or Lisp
  processes in Unix process elsewhere is not an issue: the interaction
  between them is based on a low-bandwidth exchange of s-expressions.
  where I have used run-reasons in the Allegro CL multiprocessing model, I
  send forms for evaluations to the slaves.

| I am interested in others' experiences with multithreading or
| multiprocessing with LWW or ACL for B.G.R.

  well, it would be nice if we had a journal in which to publish such
  things, instead of _just_ the newsgroup and the Web.  perhaps at the next
  Lisp Users and Vendors or Lisp Users Group Meeting.

#:Erik
-- 
  SIGTHTBABW: a signal sent from Unix to its programmers at random
  intervals to make them remember that There Has To Be A Better Way.