5 ms·
Getting Started in *Lisp (1991) [pdf]
- hvs 12y agoFor context, *Lisp (pronounced "star Lisp") was a parallel programming extension to lisp on the Connection Machine System, which was a series of supercomputers. The front-end machine for talking to the CM was either a Unix box or a Symbolics Lisp machine. http://en.wikipedia.org/wiki/Connection_Machine http://en.wikipedia.org/wiki/Connection_Machine
- kourt 12y agoThanks. How do current Lisps (CL, Racket) compare to *Lisp on parallelism?
- _delirium 12y agoThey aren't targeting similar hardware, so aren't very similar. The constructs introduced by *Lisp are designed mainly for issuing SIMD-style instructions to a grid of 256+ processors (in some versions, 10k+).
- nialo 12y agoDo you know how similar the Connection Machine was to a modern GPU? The descriptions I've seen sound similar, but I don't really know enough to say how similar.
- eugenejen 12y agoThe owner of the manual is also an interesting person. He has been involving in Cilk, Akamai and Tokutek.
- tekknolagi 12y agoYes, and was my high school teacher and robotics coach :) Wonderful fellow! EDIT: I take that back. Perhaps this is his brother.
- rbanffy 12y agoSadly, MESS (mess.org) does not emulate a CM-1 yet ;-)
- dfox 12y agoEmulating the CM hardware does not make much sense. CM-1 and CM-2 are not real computers but essentially hardware accelerators as all the brains are inside the front-end system. CM-1 and CM-2 architecture can be described as very wide configurable ALU or as FPGA turned inside-out (the CM-1/2 "processor" is mostly same thing as one macrocell in FPGA, with the important difference that CM processor has different configuration for each clock cycle). So emulating the hardware itself is not especially interesting as there is no real software for it (because it does not run standalone programs).
- rbanffy 12y agoWell... The front-end was usually a VAX, right? (as remembered from articles on the CM-1)
- twoodfin 12y agoAnother Lisp variant developed for the Connection Machine was the cleverly named "Connection Machine Lisp": http://diyhpl.us/~bryan/papers2/paperbot/25aa007a093cd69bbf070e6db9603c3a.pdf http://diyhpl.us/~bryan/papers2/paperbot/25aa007a093cd69bbf0... The paper on it by Steele and Hillis is well-worth reading, as the language's fundamental mechanism of parallelism bears more than a passing resemblance to the MapReduce of 20 years later.
- lukego 12y agoHillis & Steele also wrote up many of the same ideas in a non-Lispy way. "Data Parallel Algorithms" http://cva.stanford.edu/classes/cs99s/papers/hillis-steele-data-parallel-algorithms.pdf http://cva.stanford.edu/classes/cs99s/papers/hillis-steele-d...
- judk 12y agoFor comparison, what are the other possibilities for parallelism? MapReduce seems the obvious obvious one.
- JadeNB 12y agoMy impression was that MapReduce isn't so much parallelism itself, but rather a way of organising the execution of a programme to take advantage of parallel processors. (Maybe this is a meaningless distinction; I have never written (intentionally) parallel code, and am not familiar with the terminology.) In that sense, Apple's GCD (https://en.wikipedia.org/wiki/Grand_Central_Dispatch https://en.wikipedia.org/wiki/Grand_Central_Dispatch) is another well known possibility—one of, presumably, many.
- mark_l_watson 12y agoWow, a trip down memory lane! I used Star Lisp to program a Connection Machine 1 (the SIMD one) in the 1980s. I could run the simulator under Coral Common Lisp on my original Macintosh, so, development was very nice since I didn't have easy access to the DARPA provided CM-1 (I had to fly to another city to access it).
- mark_l_watson 12y agoI noticed that the PDF manual was dated 1991. I must have been using an early version of the system since I think I programmed for the CM-1 in 1989.
- lispm 12y agoHere are older versions: http://www.softwarepreservation.org/projects/LISP/parallel#Connection_Machine_*Lisp_(StarLisp)_ http://www.softwarepreservation.org/projects/LISP/parallel#C...
- mark_l_watson 12y agoHere is the code for the simulator: https://github.com/g000001/Starlisp-simulator https://github.com/g000001/Starlisp-simulator