3 ms·
Guy Steele talked briefly about this in an interview with Dr. Dobb's magazine [1]. Here's the relevant excerpt: As my leave of absence was ending, I was still
by EdwardCoffin 13y ago
Guy Steele talked briefly about this in an interview with Dr. Dobb's magazine [1]. Here's the relevant excerpt:
As my leave of absence was ending, I was still involved at Carnegie Mellon and showed up for a seminar given by Danny Hillis [http://www.edge.org/digerati/hillis/ http://www.edge.org/digerati/hillis/] about the CM-1 Connection Machine [http://mission.base.com/tamiko/cm/ http://mission.base.com/tamiko/cm/]. He went on quite enthusiastically about artificial intelligence and neural networks but thought the CM-1 was less suited for numerical programming. Whenever you tell me that you can't make a computer do something, it's a red flag. I believe the Turing hypothesis. The only question is the efficiency of the calculation. I believe in crunching the numbers, doing the calculations, and finding out whether an assertion is true or not.
So while Danny finished the lecture, I scribbled calculations on the back of an envelope. Okay, suppose you did the arithmetic bit serially, like the PDP-8S? A 32-bit floating-point multiply you have to multiply two 24-bit significands, that's going to take 600 time steps. For the additions, a logarithmic number of shifts, each will take 24 time steps...It turned out that a floating-point add would take about 1/2 a millisecond and a multiply a millisecond. Sounds terrible, but you've got 64,000 processors.
DDJ: So you could do 64,000 of these calculations in a millisecond.
GS: That's up in the range of 100 million operations a second, equivalent to a Cray 1, which was the supercomputer of the day. So after the lecture, I went up to Danny and said, "You said this is a terrible numeric machine, but I can tell it's approximately the equivalent of a Cray 1." And he replied, "Can we have dinner tonight?"
[1] http://www.drdobbs.com/jvm/a-conversation-with-guy-steele-jr/184406029 http://www.drdobbs.com/jvm/a-conversation-with-guy-steele-jr...
- greenyoda 13y agoBeing able to theoretically do 100 million operations per second doesn't make a machine competitive with a Cray 1. You also have to consider stuff like the memory and I/O bandwidth. If you can only get 1000 floating point numbers into memory in a second, being able to run at 100 megaflops doesn't help much. Also, you can't really use all those processors unless you have an algorithm that's massively parallel. Any time your algorithm hits a piece of code that's sequential rather than parallel, you've gone from a Cray 1 back to a PDP-8.
- EdwardCoffin 13y agoThe fundamental assumption they were making, though, was that they would be using parallel algorithms. They intended to do things like finite-element analysis where each element would be pinned to a particular processor, and would only need to communicate with neighbours, which was exactly the kind of thing this architecture was designed to do.