Color me skeptical. The project will fail, of course, because it is too ambitious. There are too many required new developments for it all to come together: new chip, new OS, new forms of scheduling, a lot more bookkeeping, not to mention new programming paradigms and compiler technology. I would not be surprised that bookkeeping and bandwidth would eat up 90% of the processing cycles. (Obviously, I'm pulling this out of my nether end.)
It feels to me that is the next iteration of refinements of technology that is 40 - 50 years old. Caches are what, from 1970? Interconnect issues date from the same time. I think machine cycles are in abundance, the scarce resource is interconnections for data flow. So one of the first things you want to do is organize your data flow so that processing is local. Think simulations like vision processing, weather prediction, rendering, where a processor can work locally and pass on a reduced amount information to its neighbors. The interesting problems arise when the results have to be delivered non-locally. If you store them in main memory for the recipient to pick them up, you run into bandwidth problems.
So what I see as needed is gazillions of low level worker bees with modest bandwidth requirements that have semi-permanent connections to the consumers of their output. Think the human brain, Google search, image rendering.
Apologies for the rambling, lack of citations, etc. etc, but I am interested in HNer's views on these issues.
I think you're seeing this project too much from the perspective of whether it will succeed/fail in the marketplace. That is not the point of research. This should be viewed as an exploratory search for new paradigms in multicore computing. Some components might work out to something usable, most won't.
I agree with you completely. It is worth doing for what we learn, but what I was trying to say is that the real breakthroughs are going to come from other directions. The people who will get rich are probably the generation after that.
Not the original poster, but I think it'll fail in the sense of "won't actually invent and tie together all the new components that this press release claims will be invented and tied together", even without including marketplace considerations.
However I agree that it'll likely produce interesting research advances and usable components, and some up-front overselling is probably unavoidable... saying something like, "we're initiating a collection of research projects to produce technologies that will be needed for a future generation of operating systems" isn't as good PR as saying, "we're building the next-gen operating system".
As I understand it, the projects and efforts you mention didn't "fail fail" - the computers didn't explode incinerating the buildings and the programmers involved.
The ideas failed in a relative fashion. They failed to yield that many result relative relative to the effort and resources that were put into them. And they especially failed to yield as many results as you could get by just increasing raw clock speed. And their cost was not just their raw complexity but the training required for programmer to understand parallelism (the low cost of today's "entry level" programmer is a huge bogus to the IT industry. If companies had to spend a year on system-specific training, the cost would be vast).
But given that such projects were only failures relative to the alternative of just coming up with a simple architecture with a higher clock speed, if the alternative is going away, there's no reason they can't become relative successes. Watson was a relative success - if you could have Watson-level processing-power on a single chip programmable with Ruby, the effort IBM put into the project would look silly. But since it looks you can't, Watson seems like a productive use of resources.
In a lot of ways, the last thirty years have involved substituting low-cost, high-power chips for high-price, high-skill programmers yielding a huge, de-skilled programming workforce. The end of Moore's-law-for-speed would seem to mean things will move differently in the future.
I won't address the particular architecture points you make, which all sound good but are unrelated to the general of previous parallelism efforts "failing".
Comments
Color me skeptical. The project will fail, of course, because it is too ambitious. There are too many required new developments for it all to come together: new chip, new OS, new forms of scheduling, a lot more bookkeeping, not to mention new programming paradigms and compiler technology. I would not be surprised that bookkeeping and bandwidth would eat up 90% of the processing cycles. (Obviously, I'm pulling this out of my nether end.)
It feels to me that is the next iteration of refinements of technology that is 40 - 50 years old. Caches are what, from 1970? Interconnect issues date from the same time. I think machine cycles are in abundance, the scarce resource is interconnections for data flow. So one of the first things you want to do is organize your data flow so that processing is local. Think simulations like vision processing, weather prediction, rendering, where a processor can work locally and pass on a reduced amount information to its neighbors. The interesting problems arise when the results have to be delivered non-locally. If you store them in main memory for the recipient to pick them up, you run into bandwidth problems.
So what I see as needed is gazillions of low level worker bees with modest bandwidth requirements that have semi-permanent connections to the consumers of their output. Think the human brain, Google search, image rendering.
Apologies for the rambling, lack of citations, etc. etc, but I am interested in HNer's views on these issues.
I think you're seeing this project too much from the perspective of whether it will succeed/fail in the marketplace. That is not the point of research. This should be viewed as an exploratory search for new paradigms in multicore computing. Some components might work out to something usable, most won't.
I agree with you completely. It is worth doing for what we learn, but what I was trying to say is that the real breakthroughs are going to come from other directions. The people who will get rich are probably the generation after that.
Not the original poster, but I think it'll fail in the sense of "won't actually invent and tie together all the new components that this press release claims will be invented and tied together", even without including marketplace considerations.
However I agree that it'll likely produce interesting research advances and usable components, and some up-front overselling is probably unavoidable... saying something like, "we're initiating a collection of research projects to produce technologies that will be needed for a future generation of operating systems" isn't as good PR as saying, "we're building the next-gen operating system".
As I understand it, the projects and efforts you mention didn't "fail fail" - the computers didn't explode incinerating the buildings and the programmers involved.
The ideas failed in a relative fashion. They failed to yield that many result relative relative to the effort and resources that were put into them. And they especially failed to yield as many results as you could get by just increasing raw clock speed. And their cost was not just their raw complexity but the training required for programmer to understand parallelism (the low cost of today's "entry level" programmer is a huge bogus to the IT industry. If companies had to spend a year on system-specific training, the cost would be vast).
But given that such projects were only failures relative to the alternative of just coming up with a simple architecture with a higher clock speed, if the alternative is going away, there's no reason they can't become relative successes. Watson was a relative success - if you could have Watson-level processing-power on a single chip programmable with Ruby, the effort IBM put into the project would look silly. But since it looks you can't, Watson seems like a productive use of resources.
In a lot of ways, the last thirty years have involved substituting low-cost, high-power chips for high-price, high-skill programmers yielding a huge, de-skilled programming workforce. The end of Moore's-law-for-speed would seem to mean things will move differently in the future.
I won't address the particular architecture points you make, which all sound good but are unrelated to the general of previous parallelism efforts "failing".