The Design of the Connection Machine (1994)
tamikothiel.com
tamikothiel.com
[1] https://dspace.mit.edu/bitstream/handle/1721.1/14719/1852428...
We also received a Butterfly Machine but I never used it.
I think that ornamentation and aesthetics are often overlooked or minimized in the pursuit of optimization, typically cost reduction. But this article and this line in particular elucidates why we stand to benefit from keeping aesthetics in mind.
"The engineers had originally calculated that seven buffers per chip would be needed, but this made the chip slightly too large to build. Nobel Prize-winning physicist Richard Feynman had previously calculated that five buffers would be enough, using a differential equation involving the average number of 1 bits in an address."
He determined the buffer size using a differential equation? Modern engineers would run trillions of simulation cycles of an RTL model and sweep the buffer size for thousands of workloads to find the inflection point, and present an Excel chart in a meeting. Then the design engineers would determine if there was enough die area to implement the buffer size, and even if there wasn't area but the performance was significant, they would have to implement it.
Engineering now vs engineering then.
Your post was great up until this. I don't like the 'Things were great in the past but look at us now' tone in general (doesn't mean it's not true in some cases), but also that's not what the historical incident shows : the "engineers then" were just as flabbergasted at Feynman's approach as anybody, and didn't trust the results.
Feynman was a physicist, not an engineer. Differentials and integrals were his breakfast and dinner for ~50 years at the time. You and his colleagues at the CM team saw Outsider's Effect in action: where a talented individual, with a mind fresh of dogmas and established approaches, manage to repurpose the tools they practiced and honed in a different domain to engage and destroy a target in another domain from a highly unusual angle. Like startups, it doesn't always work. But when it works, it's fantastic.
I never said A was better than B, you just assumed and then got on your soap box to lecture me.
Also, I don't care what you like or if you think my post is great.
This is the difference between engineering and academia--abandoning an incorrect claim or assumption may carry a cost. If you are engineering something, someone might might actually hold you to your claims and start allocating money and resources. So, your claims had better be accurate.
This is part of where the famous intransigence of engineers comes from. "Yes" and "No" are difficult answers. The world is full of "Maybe". Having the intuition from experience to pull the trigger even when the answer is "Maybe" is what makes you a high-level engineer.
Any specific example?
However, I think Carver Mead also mentions this about "Collective Electrodynamics". Feynman got a lot of it right, but there were gaps and he simply bulldozed over people who poked at the gaps--sometimes because he believed it obviously true and sometimes because he wanted to dissuade people from working on something he was already working on himself.
It's kind of a bad habit of lots of academics. Nobody has the time to understand the whole stack of things you stand on, so someone (generally junior) poking at something way down the stack is generally going to get brushed off with "That's obviously true". And, generally, that's fine. But, sometimes it's not and in engineering sometimes it has a cost.
A vital part of engineering is communication. For example, I have calculated the resonant frequency of a microprocessor power grid using a Poynting vector formulation. It was very clever and very accurate, but completely indecipherable to most engineers. It was my job to correlate that with something that fellow engineers understood and trusted.
Supercomputers now are just big racks with maybe a cool graphic printed on the side, which makes me kind of sad.
I wonder if the compiler/whatever for the host machine is available anywhere?
This seems to be a GitHub mirror: https://github.com/LdBeth/star-lisp
The innards do not run CM software though. But I'd did try to stay true to the overall spirit of the design. I have a bunch of Intel Edison boards slotted into the cubes that can slide in and out to add processing capacity for my model setup. I copied the overall gist of the original cooling solution too.
I agree that there should be kits for this sort of thing. The machine looks so cool.
one FPGA cell looks a lot like a CM processor, but since it gets reprogrammed every cycle, idk that that direct mapping works. but something would.
an interesting question though is the point. CM software wasn't anything like 'normal' software...so it took some subs tantial work to port codes.
would anyone really use such a thing or it is just a curiosity?
a _really_ cool project would be implementing CM-LISP
edit: everything except the router that is. that would be a bit of trouble
CM-LISP to me is kind of the holy grail of implicit parallelism. its kind of a relational paradigm but organized around recursive distributed mappings.
the only way that I can think to compile it is to build something like a relational query optimizer. except (I'm pretty sure(?)) mappings are first-class objects and the distributions of the underlying sets are fully dynamic.
so that's already a lot to try to come to grips with, but in this case the target is SIMD. which would in theory permit fulfillment of the CM thesis - arbitrarily scalable general computers without the overhead of reactive consistency (cache coherency).
CM programming was actually not that bad - but you needed to lay everything out in 2^n cartesian meshes. CM-LISP is just a free-for-all in terms of domain organization. actually I do really want to find the pdf again because its a much nicer model than graph-ql
I kind of suspect that it can't be compiled effectively, but last time I checked I'm only like 0.05 Steeles. I don't _know_ that it would turn out to be as compelling a programming model as I think, but would love to find out.
edit: I did find some cm-lisp related material in Hillis's thesis at https://dspace.mit.edu/bitstream/handle/1721.1/14719/1852428...
[there is a strong implication in the thesis that layout was intended to be dynamically optimized - so maybe the compiler issue isn't as terrible as I think]
CM-2s showed up at most supercomputer centers in the US, and even some universities. I think Yale(?) had an 8k. there were several at black sites - at least another 8 machines I guess.
so at least tens, but I don't think 100s
It occured to me how cool it would be to pick one up on eBay. Obviously, I didn't find one. (Not that would have actually bought one.) I guess this is why :)
So assuming some of the CM-5s are replacements for CM-1 and 2s I would expect they sold maybe 100 machines total, 150 absolute max across all three models.
The competition from rapidly evolving commodity CPUs ended this era. It took 3-5 years to make a new generation special purpose CPU and financially justify manufacture. By that time the commodity CPU price-performance increased an order of magnitude and caught up. Few of these designs ever produced a second generation. And I think only Convex made it to gen-3 before folding.