[comp.emacs] parallel gemacs?

rich@oxtrap.UUCP (K. Richard Magill) (11/13/87)

Can anyone verify the feasability of lack thereof of a parallel
version of gnu-emacs?  What I want to know is, is there a good reason
that eval, map*, etc. cannot be done in parallel?  Like, does the
existing lisp code presume sequential execution?

I could just write it and try it, but if someone can tell me simply
that gnu-emacs-lisp does indeed make such assumptions then I won't
bother.  On the other hand, if there is a guarentee that I am not
aware of...

If eval, map*, etc, cannot, then maybe I will just background garbage
collection.  After all, most of the time N-1 of the processors on my
sequent are idle.  Its also pretty silly that my sun 3/50 runs gnu
faster than my sequent. :-).

rich.

jr@LF-SERVER-2.BBN.COM (John Robinson) (11/14/87)

>> Can anyone verify the feasability of lack thereof of a parallel
>> version of gnu-emacs?  What I want to know is, is there a good reason
>> that eval, map*, etc. cannot be done in parallel?  Like, does the
>> existing lisp code presume sequential execution?

Well, this depends on the e-lisp "language definition" (which of
course doesn;t really exist).  And, for the C code, there is most
probably a necessity that things generally happen sequentially.

Lisps of various flavors do provide some functions that make no
guarantees about their evaluation order.  (let ...) versus (let* ...)
for example.  Whether programmers have necessarily followed the rules
in their use of these constructs is another matter.

Parallel garbage collection is an even nastier matter.  Master's
thesis material at least (but don't let this daunt you, please!).

BBN Advanced Computers is working on a parallel Lisp which is based on
MIT scheme; scheme's tighter semantics make it better for parallel
implementation for many of the same reasons it is more tractable for
compilation.  Maybe you could start with the scheme that FSF
distributes.

There are a lot of different ways you can think about for
parallelizing Lisp.  I believe ACI is using the lazy evaluation model
- the result of an expr need not be known until it is needed by
someone else.  This lets you parallelize in, for example, picking up
function arguments.  The trouble, of course, is in side effects.
Again, this is why scheme's semantics are so much of a help, in this
case because they force you to write code that will execute properly
in a parallel environment.

/jr
jr@bbn.com or jr@bbn.uucp

rbj@ICST-CMR.ARPA (Root Boy Jim) (11/16/87)

   Can anyone verify the feasability of lack thereof of a parallel
   version of gnu-emacs?  What I want to know is, is there a good reason
   that eval, map*, etc. cannot be done in parallel?  Like, does the
   existing lisp code presume sequential execution?

Maybe yes, maybe no. It probably doesn't matter. The relevant question is
what percent of your program can be done in parallel. If only ten percent
of your program can be done in parallel, and the rest must be done serially,
then even an infinite number of processors will only give you a 10% speedup.

Sequent's parallel processing stuff works by creating or using multiple
processes. In this case, the synchronization would probably overwhelm
the speedup. Don't bother.

   rich.

	(Root Boy) Jim Cottrell	<rbj@icst-cmr.arpa>
	National Bureau of Standards
	Flamer's Hotline: (301) 975-5688
	Why are these athletic shoe salesmen following me??

rich@oxtrap.UUCP ("K. Richard Magill") (11/17/87)

   Date: Mon, 16 Nov 87 14:52:37 EST
   From: Root Boy Jim <rbj@icst-cmr.arpa>

      Can anyone verify the feasability of lack thereof of a parallel
      version of gnu-emacs?  What I want to know is, is there a good reason
      that eval, map*, etc. cannot be done in parallel?  Like, does the
      existing lisp code presume sequential execution?

   Maybe yes, maybe no. It probably doesn't matter. The relevant question is
   what percent of your program can be done in parallel. If only ten percent
   of your program can be done in parallel, and the rest must be done serially,
   then even an infinite number of processors will only give you a 10% speedup.

   Sequent's parallel processing stuff works by creating or using multiple
   processes. In this case, the synchronization would probably overwhelm
   the speedup. Don't bother.

You might be surprised at how tightly atomic lock memory and shared
physical memory syncronize.  We aren't talking signals and sleeps
here.  It's that 10% of the time when I run a moderate chuck of lisp
that I'd like to see sped up by an infinite factor.  90% of the time
emacs is faster than I am, but 10%...

      rich.

	   (Root Boy) Jim Cottrell	<rbj@icst-cmr.arpa>
	   National Bureau of Standards
	   Flamer's Hotline: (301) 975-5688
	   Why are these athletic shoe salesmen following me??

rich@oxtrap.UUCP (11/23/87)

WHATS GOING ON HERE!!!  I SENT THIS AS MAIL!!!


In article <8711171803.AA27592@oxtrap.UUCP> rich@oxtrap.UUCP ("K. Richard Magill") writes:
>
>   Date: Mon, 16 Nov 87 14:52:37 EST
>   From: Root Boy Jim <rbj@icst-cmr.arpa>
>
>      Can anyone verify the feasability of lack thereof of a parallel
>      version of gnu-emacs?  What I want to know is, is there a good reason
>      that eval, map*, etc. cannot be done in parallel?  Like, does the
>      existing lisp code presume sequential execution?
>
>   Maybe yes, maybe no. It probably doesn't matter. The relevant question is
>   what percent of your program can be done in parallel. If only ten percent
>   of your program can be done in parallel, and the rest must be done serially,
>   then even an infinite number of processors will only give you a 10% speedup.
>
>   Sequent's parallel processing stuff works by creating or using multiple
>   processes. In this case, the synchronization would probably overwhelm
>   the speedup. Don't bother.
>
>You might be surprised at how tightly atomic lock memory and shared
>physical memory syncronize.  We aren't talking signals and sleeps
>here.  It's that 10% of the time when I run a moderate chuck of lisp
>that I'd like to see sped up by an infinite factor.  90% of the time
>emacs is faster than I am, but 10%...
>
>      rich.
>
>	   (Root Boy) Jim Cottrell	<rbj@icst-cmr.arpa>
>	   National Bureau of Standards
>	   Flamer's Hotline: (301) 975-5688
>	   Why are these athletic shoe salesmen following me??


filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler
filler