Richard Feynman and the Connection Machine


Danny Hillis is best known for his Connection Machine, a massively parallel supercomputer that led to breakthroughs in computational science and parallel computing. (It also was the subject of Hillis's book The Connection Machine, which was a highly technical but fascinating version of his thesis paper on parallel computing. If you want the only halfway mind-blowing version, check out The Pattern on the Stone.) Hillis later led R&D at Walt Disney Imagineering, but in my book the Connection Machine was his awesomest project.

The Connection Machine was actually a series of supercomputers, labeled CM-1, CM-2, and so on. A CM-5 (codenamed FROSTBURG) is pictured above left -- originally installed at the National Security Agency, it was used to break codes and is now on display at the National Cryptologic Museum. Looking surprisingly like a classic "movie computer" (one did appear in Jurassic Park), the CM-5 was covered in blinky lights that communicated the status of various processing nodes, and could be used in diagnostics. (So they're useful for something after all....)

Anyway, the point of this blog is that Hillis wrote an essay for Physics Today about physicist Richard Feynman's involvement in the Connection Machine's development -- and now the article is available online via The Long Now Foundation. Hillis's article reveals how Feynman was instrumental in designing the Connection Machine's router, which was key in distributing communications within the massive machine. From the article:

Richard's interest in computing went back to his days at Los Alamos, where he supervised the "computers," that is, the people who operated the mechanical calculators. There he was instrumental in setting up some of the first plug-programmable tabulating machines for physical simulation....

The router of the Connection Machine was the part of the hardware that allowed the processors to communicate. It was a complicated device; by comparison, the processors themselves were simple. Connecting a separate communication wire between each pair of processors was impractical since a million processors would require $10^{12]$ wires. Instead, we planned to connect the processors in a 20-dimensional hypercube so that each processor would only need to talk to 20 others directly. Because many processors had to communicate simultaneously, many messages would contend for the same wires. The router's job was to find a free path through this 20-dimensional traffic jam or, if it couldn't, to hold onto the message in a buffer until a path became free. Our question to Richard Feynman was whether we had allowed enough buffers for the router to operate efficiently.

Read the rest if you're interested in Feynman, math, blinky lights, or just crazy engineering projects. See also: more on the Connection Machine, more on Danny Hillis.