| Register | FAQ | Calendar | Search | Today's Posts | Mark Forums Read |
|
#1
| |||
| |||
| 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 |
|
#2
| |||
| |||
| 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 |
|
#3
| |||
| |||
| 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 |
|
#4
| |||
| |||
| 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. |
|
#5
| |||
| |||
| 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 > |
|
#6
| |||
| |||
| 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 willbe 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. |
|
#7
| |||
| |||
| 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 |
|
#8
| |||
| |||
| 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 |
|
#9
| |||
| |||
| 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. > |
|
#10
| |||
| |||
| 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. > |
![]() |
| Thread Tools | |
| Display Modes | |
In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.