Manycore chips have multiple processors. The idea is that they break up the data and run it simultaneously. Some of these things will have more than eight processors. That’s likely to upend the industry, literally.
The old story is the hardware can’t can’t handle the software, now it's the other way round.
The software required for the new chips is “
daunting” according to the
New York Times article, which reads like it’s trying to penetrate an idea in progress.
The process is called “parallel computing”, and people have been trying to make it work since the 80s. The previous idea of computer development was that chips and software worked in a reciprocal relationship.
This is the so-called “software spiral”, the interplay between processor power and software. The software spiral has been breaking down. Intel chips were actually melting, and the reaction has been to try to put smaller multiple processors on the same chip.
There are some less academic considerations for the industry.
“
“Microsoft is doing the right thing in trying to develop parallel software,” said Andrew Singer, a veteran software designer who is the co-founder of Rapport Inc., a parallel computing company based in Redwood City, Calif. “They could be roadkill if somebody else figures out how to do this first.””
So the software issue is getting very important. It’s not getting any simpler, though. One problem is that some tasks can’t be broken up. The carrot is that parallel computing can bring huge increases in speed.
There’s another looming situation. The current hardware, although its speeds are increasing, is hitting a limit imposed by its own nature:
“
The chip industry will continue to be able to add more transistors to a silicon chip for the foreseeable future, but the problem lies in the amount of power they consume and thus the amount of heat generated. That will limit the rate at which processing speeds increase.
The need to get around what the industry is calling the “power wall” has touched off a frantic hunt for new computing languages, as well as new ways to automatically break up problems so they can be solved more quickly in parallel.”
Contrast this with my recent piece on
IBM's light based processors, which can use multiple processors, hundreds of thousands of them. Are these guys keeping track of each other, or what? If not, why not?
Feel free to groan, those who’ve seen this bit about hardware capacities before. Why solve a problem, when you can carry it around like a source of employment for years?
There’s another very familiar refrain in play, courtesy Microsoft:
“
Microsoft sees this as the company’s principal opportunity, and industry executives have said that the arrival of manycore microprocessors is likely to be timed to the arrival of “Windows 7.” That is the name the company has given to the follow-on operating system to Windows Vista.”
This is all very sweet, and nice, and cute, and adorable. You can just see kittens with mittens running around Microsoft, Intel and AMD making manycore processors, and Beatrix Potter knitting the code.
Just a few questions:
1. We currently run huge amounts of code which could hardly be considered vital to anything but keeping the cyberdrivel industry fully occupied. Can we assume this wholesome tradition will continue to be the basis of industry costing for new systems?
2. Why does this require a whole new operating system?
Obviously there are some new capabilities, but do you buy a new Rolls Royce every time you go shopping?
3. The machine seems to be dictating the product. Why?
4. Are we about to get hit with yet another bit of consumer hardware which requires re-buying everything at top prices? Why?
5. Given the computer industry’s noble refusal to permit consumers to suffer from anything resembling simplicity- Is there any possibility that any consideration will be given to just providing software that runs properly?
My opinion, because I’m getting more than a whiff of a hyped problem, is that there’s more than one way to run multiple processors.
1. A few nanoseconds isn’t that vital. People don’t operate in nano seconds.
2. You could phase multiple processors using normal codewriting procedures, like a flow chart. You can structure these things. Do it properly, and the only lag is that some popup doesn’t load as fast.
3. It’s a bit spurious to go from a well known loading system which laboriously loads programs one at a time, to something which can load several at once, and claim that multiple processors are much more than a way of doing that in multiples. We’re still talking about switches, and binary systems.
4. The only things that really need speed are all media, and they work on finite speeds. Frames per second, etc, are known quantities. Why not work on the basis of known needs?
Here’s another quote that doesn’t encourage any great idealism from Microsoft’s Craig Mundie, who’s an expert on parallel processors:
“
My machine overnight could process my in-box, analyze which ones were probably the most important, but it could go a step further,” he said. “It could interpret some of them, it could look at whether I’ve ever corresponded with these people, it could determine the semantic context, it could draft three possible replies. And when I came in in the morning, it would say, hey, I looked at these messages, these are the ones you probably care about, you probably want to do this for these guys, and just click yes and I’ll finish the appointment.”
Great. A helper with a sense of priorities and time on its hands. This is an old idea, I first read about it in the 80s, a “computer valet”.
Ah… so what?
A calculator could do that, if it had the functions. Stats analysis, read senders, calculate who gets more mail. It could also crash your personal and business relationships because it doesn’t know who not to ignore in your new contacts.
The software is behind the hardware, and the thinking is obviously behind both of them.
Listen, you guys, what's wanted are working systems. People just want to click and go where they want to go, and not have to pay for every new version of the light switch someone dreams up.