5 ms·
The book "The Connection Machine" by Danny Hillis is a fantastic account of the philosophy of the CM design. When I was in high school, I didn't have a compute
by michelpp 5y ago
The book "The Connection Machine" by Danny Hillis is a fantastic account of the philosophy of the CM design. When I was in high school, I didn't have a computer, I only had computer books from the library, and TCM was a huge influence on me at that age.
This paper by Guy Steele and Danny Hillis is also a good introduction to the Lisp language they were developing (but from what I can tell never got off the ground) for the CM.
http://diyhpl.us/~bryan/papers2/paperbot/25aa007a093cd69bbf070e6db9603c3a.pdf http://diyhpl.us/~bryan/papers2/paperbot/25aa007a093cd69bbf0...
In particular the language has two new operators, alpha and beta, that today we might consider flexible analogs to map (compute) and reduce (communicate). It's really fascinating how they made an algebraically closed language around this concept.
This lecture by Hillis is also fascinating:
https://www.youtube.com/watch?v=Ua-swPZTeX4 https://www.youtube.com/watch?v=Ua-swPZTeX4
Near the end he talks about how this room-sized machine had a syncronous clock, and how there were bits stored in the wires in transit because all the wire lengths were carefully cut multiples of the clock period.
- jrd259 5y agoThe lisp dialect (*Lisp) did get off the ground. I programmed in it.
- convolvatron 5y agoActually there was this really novel language CM-lisp <https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.108.5413&rep=rep1&type=pdf https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.10...> that one never got off the ground - I always assumed because of the difficulty of compiling that for a SIMD machine. *Lisp was fine, but it was really just a projection of the Paris model.
- agambrahma 5y agoInteresting how the paper uses notation similar to Mathematica today i.e. `foo -> bar` to denote replacement, and curly braces to group together a set of these.
- sedachv 5y agoThere was also Gary Sabot's work on Paralation Lisp (really interesting approach to declaratively specifying data locality), and later Guy Blelloch's NESL (the first programming language to really deal with nested parallelism) for the CM-2.
- michelpp 5y agoI should have been more specific, I was referring to CM-Lisp as shown in the paper not *Lisp with the !! syntax.
- rst 5y agoThe *Lisp language wasn't CM-lisp -- it was a different thing, somewhat lower level, originally written by Cliff Lasser and Steve Omohundro. https://en.wikipedia.org/wiki/*Lisp https://en.wikipedia.org/wiki/*Lisp