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/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
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.
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.
One famous person working on the CM architecture was Richard Feynman; the story of his optimization approach to reduce the number of buffers in the router chip of the CM1 is worth reading: https://longnow.org/essays/richard-feynman-connection-machin... (this article also links to a TEDx talk by Danny Hillis).
If you are interested in more CM1 hardware details, Danny Hillis' PhD thesis can be downloaded from http://dspace.mit.edu/handle/1721.1/14719
Right. SIMD was something people tried doing before they could get enough transistors to give every node an instruction decoder. It's useful for a narrow class of problems where special purpose hardware or an FPGA isn't justified, but the problem is so regular that SIMD will work. This niche is not large enough to keep a company in business.
(There were a long series of strange architectures tried in that period. Transputers. Hypercubes. Dataflow machines. The Cell. All too hard to program and not general purpose enough.)
Despite surface similarities, the two projects are very differnt (speed vs energy efficiency, simd vs mimd, lisp(*) vs forth)
But to program them you must keep the same mindset, I think, and both are best seen as macro-FPGAs.
(The OP says 12-dimensional; the Wikipedia page says 12-dimensional in one place and 20-dimensional in another; the latter seems like it must also be wrong. I wonder whether it's 16+4 where the correct figure is 16-4, the idea being that there are 2^4=16 processors per node or something like that.)
http://public.callutheran.edu/~reinhart/CSC521MSCS/Week7/Con...
"For a fully configured CM-1, the network is a 12-cube connecting 4,096 processor chips (that is, each l6-processor chip lies at the vertex of a 12-cube)."
It was using a Connection Machine to render images in realtime:
http://www.karlsims.com/genetic-images.html
The photo at the top of the page is of the installation at Pompidou Center (in the space that is now the staff entrance.)
Genetic Images has only been installed 3 times. Its installation at the Pompidou center as part of the Revue Virtuelle was especially significant at the time, as exhibiting a working super-computer in a museum had never been done, as far as I know.
This is one of the most beautiful computing machines ever built.
the cm-5 though was all custom machined, including a lovely card insert-and-lock cam for the modules.
the cm5 was stunning, but the cm2 was a fantastic result with a lot less effort and cost.
Its found in the 1986 issue of "Communications of the ACM". I highly recommend the read. The prefix-sum methodology introduced in that beginner-level article remains the basis of a large number of GPU-algorithms today.
That's amazing.
edit: oh, there is a section on the website specifically about this - https://tamikothiel.com/cm/cm-design.html Cool!
https://www.computerhistory.org/timeline/computers/
It also has some of the first ARPAnet (Internet) routers.
Has there been much research in non-SIMD n-cube programming models where each processor can go off on it's own path but farming work out to neighbours?
I'd like to have a play around with a n-dimensional multiprocessing system (maybe with some micro-controllers and n in the 4-7 range)
I have this crazy idea of a dual plane optical interconnect n-cube with all of the vertices with even parity on one plane and odd parity on the other. This way all of the neighboring vertices are on the opposite plane with a direct line of sight.
An Assessment of the Connection Machine (1990) [pdf] - https://news.ycombinator.com/item?id=20144863 - June 2019 (6 comments)
The Design of the Connection Machine - https://news.ycombinator.com/item?id=16536243 - March 2018 (1 comment)
CM-200 Connection Machine 1991-1996 (2015) - https://news.ycombinator.com/item?id=15995004 - Dec 2017 (1 comment)
Connection Machine - https://news.ycombinator.com/item?id=14942997 - Aug 2017 (1 comment)
The Connection Machine (1985) [pdf] - https://news.ycombinator.com/item?id=12281637 - Aug 2016 (59 comments)
The Design of the Connection Machine (1994) - https://news.ycombinator.com/item?id=8582686 - Nov 2014 (6 comments)
The connection machine. - https://news.ycombinator.com/item?id=3009255 - Sept 2011 (4 comments)
Ask HN: Has anybody here worked with the Connection Machine or the Lisp Machine? - https://news.ycombinator.com/item?id=743053 - Aug 2009 (15 comments)
(I've listed the Feynman ones at https://news.ycombinator.com/item?id=27682314 but let's keep that Connection Machine connection off topic here, since it's by far the most-discussed.)
They didn't know what instructions would be useful, so each 8 bit alu supports all 256 instructions.
zero nand ones
0 1 ... 256
---------------------
0 1 1
0 0 1
...
0 0 1
and then a bunch of software support around around 'zectors' like a vector, with a zillion elements.so I think you could do float, but you have 3 zectors, the low bits, the high bits and the mantissa, you might need another one for sign.
I think it was tough to give an apples to apples comparison, because it wasn't optimized for floats, but could do floats. it could also do bizarre things with bitmaps, if you could think of the right instruction to get your result. So for some problems, it was much faster than any alternative. But floats are readily accessible and well understood, so it's natural to reach for that tool first.
Anywho, my memory is foggy. I might be mischaracterizing the design. But I think that's about right.
https://en.wikipedia.org/wiki/FROSTBURG
Whatever your feelings about the NSA, it's an extremely cool museum, and free admission (at least when I went). The staff are incredibly knowledgeable, while obviously they can't discuss classified material, you're bound to get some great unpublished tidbits from them.
It'd probably be cleaner to use compute modules such as the RPi 4 CM or the Pine64 SOPINE because they pass ethernet and GPIO via the board connectors and wouldn't require more than one ethernet port per board (provided the board has its own switch) but I have no idea of how to design a switch, much less misusing the bits and pieces of one where the network cables are traces on a PCB.
Either that, or have 32 Octavo SoMs, which would allow two separate networks per board, but I'd still need to design the switches (and I have no clue as to how to do that beyond "try to make the traces of equal length").
At least the "neck" of the CM-2a has space for a very large and, presumably, quiet fan.
Richard Feynman and the Connection Machine (1989) - https://news.ycombinator.com/item?id=18987188 - Jan 2019 (33 comments)
Richard Feynman and the Connection Machine (1989) - https://news.ycombinator.com/item?id=13762614 - March 2017 (61 comments)
Richard Feynman and the Connection Machine - https://news.ycombinator.com/item?id=12283614 - Aug 2016 (32 comments)
Richard Feynman and the Connection Machine (1989) - https://news.ycombinator.com/item?id=8681061 - Dec 2014 (23 comments)
Richard Feynman and The Connection Machine (1989) - https://news.ycombinator.com/item?id=5660763 - May 2013 (11 comments)
Richard Feynman and The Connection Machine - https://news.ycombinator.com/item?id=2079473 - Jan 2011 (46 comments)
Richard Feynman and The Connection Machine - https://news.ycombinator.com/item?id=1205500 - March 2010 (23 comments)
Richard Feynman and The Connection Machine - https://news.ycombinator.com/item?id=723361 - July 2009 (10 comments)
Richard Feynman and The Connection Machine - https://news.ycombinator.com/item?id=191212 - May 2008 (15 comments)
Richard Feynman and The Connection Machine - https://news.ycombinator.com/item?id=31834 - July 2007 (5 comments)