Parallel Lisp

This is a discussion on Parallel Lisp within the lisp forums in Programming Languages category; I've spent a little free time over the last two months building a multi-processor / multi-core network computer in my basement. In no time at all, I've been able to hack up some primitives for doing parallel processing across this network in SBCL. My question is: can someone provide some names of parallel lisp environments? I know of *Lisp. Anything else? I've been trying to scare up a copy of the *Lisp Dictionary. Ultimately, I'm looking for parallel Lisp idioms to implement on top of my primitives. Right now, I have a macro plet which has the form: (plet ((var1 ...

Go Back   Application Development Forum > Programming Languages > lisp

Object Mix

Register FAQ Calendar Search Today's Posts Mark Forums Read
  #1  
Old 09-05-2007, 10:23 AM
Mike G.
Guest
 
Default Parallel Lisp

I've spent a little free time over the last two months building a
multi-processor / multi-core network computer in my basement. In no
time at all, I've been able to hack up some primitives for doing
parallel processing across this network in SBCL.

My question is: can someone provide some names of parallel lisp
environments? I know of *Lisp. Anything else? I've been trying to
scare up a copy of the *Lisp Dictionary.

Ultimately, I'm looking for parallel Lisp idioms to implement on top
of my primitives.

Right now, I have a macro plet which has the form:

(plet ((var1 (foo1))
(var2 (foo2))
...)
(exit-form)
(form1)
(form2)
...)

The idea is that the variables get initialized (as per an ordinary
let), each form in the body gets executed in parallel, and exit-form
is a chunk of code that executes after all parallel threads have ended
which ties everything together. This macro expands into my primitives
to initialize / access variables via my centralized tracker and a loop
which patiently waits for the threads to complete. Works well enough.

I also have a parallel MAP which splits a map up across multiple
cpu's / cores.

Implementing this is what made me come looking for guidance because I
can think of several ways to split up a MAP that might make sense
under different circumstances.

Any ideas or pointers area welcome.
-M

Reply With Quote
  #2  
Old 09-05-2007, 10:37 AM
Rainer Joswig
Guest
 
Default Re: Parallel Lisp

In article <1189002231.167450.110710@k79g2000hse.googlegroups .com>,
"Mike G." <michael.graffam@gmail.com> wrote:

> I've spent a little free time over the last two months building a
> multi-processor / multi-core network computer in my basement. In no
> time at all, I've been able to hack up some primitives for doing
> parallel processing across this network in SBCL.
>
> My question is: can someone provide some names of parallel lisp
> environments? I know of *Lisp. Anything else? I've been trying to
> scare up a copy of the *Lisp Dictionary.


QLisp (http://www.dreamsongs.com/Qlisp.html)
Multilisp
Paralation Lisp (there is a book about that, The Paralation Model)
Connection Machine Lisp


>
> Ultimately, I'm looking for parallel Lisp idioms to implement on top
> of my primitives.
>
> Right now, I have a macro plet which has the form:
>
> (plet ((var1 (foo1))
> (var2 (foo2))
> ...)
> (exit-form)
> (form1)
> (form2)
> ...)
>
> The idea is that the variables get initialized (as per an ordinary
> let), each form in the body gets executed in parallel, and exit-form
> is a chunk of code that executes after all parallel threads have ended
> which ties everything together. This macro expands into my primitives
> to initialize / access variables via my centralized tracker and a loop
> which patiently waits for the threads to complete. Works well enough.
>
> I also have a parallel MAP which splits a map up across multiple
> cpu's / cores.
>
> Implementing this is what made me come looking for guidance because I
> can think of several ways to split up a MAP that might make sense
> under different circumstances.
>
> Any ideas or pointers area welcome.
> -M


--
http://lispm.dyndns.org
Reply With Quote
  #3  
Old 09-05-2007, 10:38 AM
Vebjorn Ljosa
Guest
 
Default Re: Parallel Lisp

On Sep 5, 10:23 am, "Mike G." <michael.graf...@gmail.com> wrote:
> My question is: can someone provide some names of parallel lisp
> environments? I know of *Lisp. Anything else? I've been trying to
> scare up a copy of the *Lisp Dictionary.


If you can dig up a copy of the _Proceedings of the US/Japan workshop
on Parallel Lisp on Parallel Lisp: languages and systems_ (June 1990,
Sendai, Japan), you might find something of interest in there. For
instance, "A parallel Lisp language PaiLisp and its kernel
specification" by T. Ito and M. Matsui. (I haven't read it.)

Vebjorn

Reply With Quote
  #4  
Old 09-05-2007, 11:04 AM
Mike G.
Guest
 
Default Re: Parallel Lisp

On Sep 5, 10:37 am, Rainer Joswig <jos...@lisp.de> wrote:
>
> QLisp (http://www.dreamsongs.com/Qlisp.html)
> Multilisp
> Paralation Lisp (there is a book about that, The Paralation Model)
> Connection Machine Lisp
>


Thank you! That first link is making for some very interesting
reading. Parallel Lisp constructs right from John McCarthy.
Awesome.

Reply With Quote
  #5  
Old 09-05-2007, 12:12 PM
anon
Guest
 
Default Re: Parallel Lisp

Sometime between 1995 and 2005 (last time I checked) all parallel and
concurrent languages seam to have disappeared. Now, that the average
person can buy or build a multi-processor system, we needs these
languages but for some reason they are no where to be found.

I know of only one parallel language that is non-lisp called "Sisal". It
is still on the net but is no longer supported by LLNL. It automatic
creates parallels code for the user.

Just found an older parallel version of *lisp or StarLisp simulator which
may be downloaded at bottom of the following archive URL page but it
was created back in 1989.
File Name = Starsim-f20.zip File size = 580 KB

http://examples.franz.com/index.html

"*Lisp (pronounced "star Lisp") is a data parallel extension of the
Common Lisp programming language, designed for the Connection
Machine system."



In <1189002231.167450.110710@k79g2000hse.googlegroups .com>, "Mike G." <michael.graffam@gmail.com> writes:
>I've spent a little free time over the last two months building a
>multi-processor / multi-core network computer in my basement. In no
>time at all, I've been able to hack up some primitives for doing
>parallel processing across this network in SBCL.
>
>My question is: can someone provide some names of parallel lisp
>environments? I know of *Lisp. Anything else? I've been trying to
>scare up a copy of the *Lisp Dictionary.
>
>Ultimately, I'm looking for parallel Lisp idioms to implement on top
>of my primitives.
>
>Right now, I have a macro plet which has the form:
>
>(plet ((var1 (foo1))
> (var2 (foo2))
> ...)
> (exit-form)
> (form1)
> (form2)
> ...)
>
>The idea is that the variables get initialized (as per an ordinary
>let), each form in the body gets executed in parallel, and exit-form
>is a chunk of code that executes after all parallel threads have ended
>which ties everything together. This macro expands into my primitives
>to initialize / access variables via my centralized tracker and a loop
>which patiently waits for the threads to complete. Works well enough.
>
>I also have a parallel MAP which splits a map up across multiple
>cpu's / cores.
>
>Implementing this is what made me come looking for guidance because I
>can think of several ways to split up a MAP that might make sense
>under different circumstances.
>
>Any ideas or pointers area welcome.
>-M
>


Reply With Quote
  #6  
Old 09-05-2007, 12:54 PM
Mike G.
Guest
 
Default Re: Parallel Lisp

On Sep 5, 12:12 pm, a...@anon.org (anon) wrote:
> Sometime between 1995 and 2005 (last time I checked) all parallel and
> concurrent languages seam to have disappeared. Now, that the average
> person can buy or build a multi-processor system, we needs these
> languages but for some reason they are no where to be found.


Well, parallel programming languages have always been in something of
a funk.
MAYBE we'll see this situation change in the next 5 years or so. I
wouldn't hold my
breath, though.

Don't expect it to be a GOOD language, though (unless you roll your
own w/ Lisp, like
me .. chances are good that the solution everyone raves about will
be some foul
abomination build on top of .NET RPC. <shudder>

The other thing to think about here is that a distributed network
computing requires
very different tools than your typical shared memory multicomputer.

> I know of only one parallel language that is non-lisp called "Sisal". It
> is still on the net but is no longer supported by LLNL. It automatic
> creates parallels code for the user.


Yuck. Whats the fun in that? I built my system so that I could write
parallel algorithms,
not have a compiler make a hash of it for me

>
> Just found an older parallel version of *lisp or StarLisp simulator which
> may be downloaded at bottom of the following archive URL page but it
> was created back in 1989.
> File Name = Starsim-f20.zip File size = 580 KB
>
> http://examples.franz.com/index.html
>
> "*Lisp (pronounced "star Lisp") is a data parallel extension of the
> Common Lisp programming language, designed for the Connection
> Machine system."
>


Thats not a parallel Lisp. It is a simulator (running on serial lisp)
for
*Lisp, the CM lisp. I am investigating the worth in making a *Lisp
simulator
on top of my parallel primitives.

But how much CM *lisp code is out there to worry about? Probably not
much.
Maybe I could find an example or two in an academic paper that would
make for a
nice test case, but thats about it.

Reply With Quote
  #7  
Old 09-05-2007, 12:59 PM
Kjetil
Guest
 
Default Re: Parallel Lisp

anon wrote:
> Sometime between 1995 and 2005 (last time I checked) all parallel and
> concurrent languages seam to have disappeared. Now, that the average
> person can buy or build a multi-processor system, we needs these
> languages but for some reason they are no where to be found.
>
> I know of only one parallel language that is non-lisp called "Sisal". It
> is still on the net but is no longer supported by LLNL. It automatic
> creates parallels code for the user.
>


Does Erlang qualify?


-Kjetil
Reply With Quote
  #8  
Old 09-05-2007, 08:02 PM
Scott Burson
Guest
 
Default Re: Parallel Lisp

On Sep 5, 9:59 am, Kjetil <n...@no.no> wrote:
> Does Erlang qualify?


And does anyone here have any experience with Erlisp?

http://common-lisp.net/project/erlisp/

(Just asking -- I haven't tried it.)

-- Scott

Reply With Quote
  #9  
Old 09-05-2007, 08:35 PM
anon
Guest
 
Default Re: Parallel Lisp

Wel, back between the 1970 to mid 1990 parallel research was done in
coleges and universities and you could find penty of parallel compilers
or language system
In <1189011291.246339.221510@o80g2000hse.googlegroups .com>, "Mike G." <michael.graffam@gmail.com> writes:
>On Sep 5, 12:12 pm, a...@anon.org (anon) wrote:
>> Sometime between 1995 and 2005 (last time I checked) all parallel and
>> concurrent languages seam to have disappeared. Now, that the average
>> person can buy or build a multi-processor system, we needs these
>> languages but for some reason they are no where to be found.

>
>Well, parallel programming languages have always been in something of
>a funk.
>MAYBE we'll see this situation change in the next 5 years or so. I
>wouldn't hold my
>breath, though.
>
>Don't expect it to be a GOOD language, though (unless you roll your
>own w/ Lisp, like
>me .. chances are good that the solution everyone raves about will
>be some foul
>abomination build on top of .NET RPC. <shudder>
>
>The other thing to think about here is that a distributed network
>computing requires
>very different tools than your typical shared memory multicomputer.
>
>> I know of only one parallel language that is non-lisp called "Sisal". It
>> is still on the net but is no longer supported by LLNL. It automatic
>> creates parallels code for the user.

>
>Yuck. Whats the fun in that? I built my system so that I could write
>parallel algorithms,
>not have a compiler make a hash of it for me
>
>>
>> Just found an older parallel version of *lisp or StarLisp simulator which
>> may be downloaded at bottom of the following archive URL page but it
>> was created back in 1989.
>> File Name = Starsim-f20.zip File size = 580 KB
>>
>> http://examples.franz.com/index.html
>>
>> "*Lisp (pronounced "star Lisp") is a data parallel extension of the
>> Common Lisp programming language, designed for the Connection
>> Machine system."
>>

>
>Thats not a parallel Lisp. It is a simulator (running on serial lisp)
>for
>*Lisp, the CM lisp. I am investigating the worth in making a *Lisp
>simulator
>on top of my parallel primitives.
>
>But how much CM *lisp code is out there to worry about? Probably not
>much.
>Maybe I could find an example or two in an academic paper that would
>make for a
>nice test case, but thats about it.
>


Reply With Quote
  #10  
Old 09-05-2007, 09:11 PM
anon
Guest
 
Default Re: Parallel Lisp

Sorry, about that! hit the wrong buttom in my last post.

Well, back between the 1970 to mid 1990 parallel research was done in
coleges and universities and you could find penty of parallel compilers
or language system. But when the money dried up, so do the research and
compilers. Papers, can still be found but you might need to be a paid ACM
or some other group member just to read them.

Now, since, parallel system aka servers have been around over 10 years
you would think that we could find a couple of compilers but again that's
a no. So, I would not look for Microsoft's or its .NET to help.

Even with SGI/SUN/IBM parallel (128+ processors) blade servers/systems
that they sale to NASA or other companies, the compiler are too high priced
for the average user.

Just an Idea! You could get StarLisp (*Lisp) and Sisal and play with
them, may be modify *Lisp to become a true parallel system. Then you
could make the big bucks.

But what I think is going to happen is someone has a downloaded copy
of some of those languages and when they have the time they will adapt
them for the micro multi-processor system and make a killing when they
release them.

As for Erlisp. Well I download a shapshot copy. But the package is too
small only 9K. So, I think it is another simulator at the movement.


In <1189011291.246339.221510@o80g2000hse.googlegroups .com>, "Mike G." <michael.graffam@gmail.com> writes:
>On Sep 5, 12:12 pm, a...@anon.org (anon) wrote:
>> Sometime between 1995 and 2005 (last time I checked) all parallel and
>> concurrent languages seam to have disappeared. Now, that the average
>> person can buy or build a multi-processor system, we needs these
>> languages but for some reason they are no where to be found.

>
>Well, parallel programming languages have always been in something of
>a funk.
>MAYBE we'll see this situation change in the next 5 years or so. I
>wouldn't hold my
>breath, though.
>
>Don't expect it to be a GOOD language, though (unless you roll your
>own w/ Lisp, like
>me .. chances are good that the solution everyone raves about will
>be some foul
>abomination build on top of .NET RPC. <shudder>
>
>The other thing to think about here is that a distributed network
>computing requires
>very different tools than your typical shared memory multicomputer.
>
>> I know of only one parallel language that is non-lisp called "Sisal". It
>> is still on the net but is no longer supported by LLNL. It automatic
>> creates parallels code for the user.

>
>Yuck. Whats the fun in that? I built my system so that I could write
>parallel algorithms,
>not have a compiler make a hash of it for me
>
>>
>> Just found an older parallel version of *lisp or StarLisp simulator which
>> may be downloaded at bottom of the following archive URL page but it
>> was created back in 1989.
>> File Name = Starsim-f20.zip File size = 580 KB
>>
>> http://examples.franz.com/index.html
>>
>> "*Lisp (pronounced "star Lisp") is a data parallel extension of the
>> Common Lisp programming language, designed for the Connection
>> Machine system."
>>

>
>Thats not a parallel Lisp. It is a simulator (running on serial lisp)
>for
>*Lisp, the CM lisp. I am investigating the worth in making a *Lisp
>simulator
>on top of my parallel primitives.
>
>But how much CM *lisp code is out there to worry about? Probably not
>much.
>Maybe I could find an example or two in an academic paper that would
>make for a
>nice test case, but thats about it.
>


Reply With Quote
Reply


Thread Tools
Display Modes


All times are GMT -5. The time now is 10:29 PM.


Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
vB Ad Management by =RedTyger=

In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.