Both of a friend's parents worked on the Manhattan Project. Feynman was a character. I was fortunate to be able to write code for version 1 of the Connection Machine (that was the SIMD device) and I would prototype code on my Mac in Star Lisp. Good times that I am grateful for.
Please, go on. I've been fascinated with Connection Machines ever since I saw one at a university auction. Which also had plenty of SGI gear and Next slabs as well.
Richard Feynman and the Connection Machine (1989)
61–64 of 64 posts
Re: Richard Feynman and the Connection Machine (1989)
#62I came across this before and found the section "An Algorithm For Logarithms" interesting. As pointed out (in second para. of that section) Feynman's observation about representing a number as product of terms of the form $1 + 2^{-k}$ reduces the problem of estimating log to computing those values k which appear in the product. (Btw the article incorrectly claims the representation is unique.) There's an obvious line…
Newton-Raphson doesn't buy you much for logarithms, because the iteration itself involves either exp(x) or log(x)[1]. If you don't have a real multiplier[2], then the algorithm described is somewhat attractive because multiplying by 1/(1+2^-k) has a nice series expansion. You can do it using only shifts and adds (and the number of terms you need is O(1/k), so it falls off reasonably quickly), and you get the part you…
IIUC you're speculating that the relevant constraint they faced was that multiplication was very burdensome. I agree; it seems plausible this was the reason they found this an attractive approach.
Also agreed about Newton-Raphson; that was a thinko on my part. It would be an unusual situation if NR were the right tool for estimating log.
Re: Richard Feynman and the Connection Machine (1989)
#63I came across this before and found the section "An Algorithm For Logarithms" interesting. As pointed out (in second para. of that section) Feynman's observation about representing a number as product of terms of the form $1 + 2^{-k}$ reduces the problem of estimating log to computing those values k which appear in the product. (Btw the article incorrectly claims the representation is unique.) There's an obvious line…
It might be relevant that the CM-1's processors were tiny : they had a 1-bit word size. Maybe this was meant to be a fast rough approximation? 1 + 1/2^-m + 1/2^-n ~= (1+1/2^-m)(1+1/2^-n). So check each bit in a fixed-point int and add a factor from a table for each 1 bit found? Then run a few rounds of Newton iteration at the end if you want it a little less rough? This goes well with the SIMD nature of the machine -…
Re: Richard Feynman and the Connection Machine (1989)
#64A nice essay. This paragraph stood out for me: "By the end of that summer of 1983, Richard had completed his analysis of the behavior of the router, and much to our surprise and amusement, he presented his answer in the form of a set of partial differential equations. To a physicist this may seem natural, but to a computer designer, treating a set of boolean circuits as a continuous, differentiable system is a bit st…
Feynman really liked continuous solutions. It's too bad he wasn't around for the deep learning era. Or for bufferbloat. The "average number of 1 bits in a message address" makes me think of routing in the NCube. Like the Connection Machine, the NCube was a big array of small CPUs. Bigger CPUs than the CM, though, and running independent programs. The NCube had 2^N CPUs, up to 1024, and each was connected to N neighbo…