The False Hope Of Apple's Snow Leopard(whydoeseverythingsuck.com)
whydoeseverythingsuck.com
The False Hope Of Apple's Snow Leopard
http://whydoeseverythingsuck.com/2008/06/false-hope-of-apples-snow-leopard.html
12 comments
No, it doesn't. There are fundamental laws governing parallelization of code, and Apple can't beat them:
http://news.ycombinator.com/item?id=222279
And that's not even getting into the speed of light.
http://news.ycombinator.com/item?id=222279
And that's not even getting into the speed of light.
Perhaps a more accurate assertion would be this: companies like Intel and AMD have a lot more smart people working on this problem, and can actually tweak the hardware to assist in their search for a solution and yet they still have not managed to crack this nut -- anyone who believes that an OS vendor will be offering more than a simplistic solution to this problem is quite delusional.
The way I read this article, it seemed to be a rant taking Apple to task for wasting their energy on a pervasive multicore strategy, when in their author's opinion multicore doesn't offer a compelling story for improving performance.
This leads to two obvious questions. First, why exactly does Apple get singled out here? As I see it, the CPU vendors are the ones pushing multicore; OS developers are simply trying to make the best lemonade they can from the lemons that are stalled core speeds.
Second, what the hell is this "core thread" Hank talks about? Re-entrant, SMP-capable OS kernels have been around for a long time. If the major commercial OS vendors are just now getting around to implementing such scalability, fine; that doesn't mean the problem is unsolvable, though.
This leads to two obvious questions. First, why exactly does Apple get singled out here? As I see it, the CPU vendors are the ones pushing multicore; OS developers are simply trying to make the best lemonade they can from the lemons that are stalled core speeds.
Second, what the hell is this "core thread" Hank talks about? Re-entrant, SMP-capable OS kernels have been around for a long time. If the major commercial OS vendors are just now getting around to implementing such scalability, fine; that doesn't mean the problem is unsolvable, though.
It sounds like you're saying that a pervasive multicore strategy is a good thing, and I agree. Microsoft Research is doing a lot of facilitate multi-processor software, and companies like NEC and SGI have built entire businesses on toolchains + hardware for parallel computing.
I also think that the author is ignoring a significant advantage to having access to inexpensive, multi-core processors, which is that even if most of your tasks don't parallelize well, modern OS's run a LOT of tasks concurrently, out of necessity.
I think that he is also ignoring the fact that there are quite a few software shops out there that are working on paralellizing their software (e.g. Valve, Mental Images, Adobe, Project:Messiah Group, PIXAR, etc).
Another missed point is that most people don't actually have a real need for more computing power than a Pentium4 or AthlonXP, let alone a Penryn or a quad-core CPU. Quad-core (or more) PC's are overkill even for most software developers. Most of the people buying MacPros with 8 cores aren't writing software, they're editing and encoding video, large photographs, rendering large CG projects, compositing... the sort of thing that drives most markets: content.
The real issue here is, IMO, the lack of a "killer app" to convince the average user to WANT a multi-core system.
I also think that the author is ignoring a significant advantage to having access to inexpensive, multi-core processors, which is that even if most of your tasks don't parallelize well, modern OS's run a LOT of tasks concurrently, out of necessity.
I think that he is also ignoring the fact that there are quite a few software shops out there that are working on paralellizing their software (e.g. Valve, Mental Images, Adobe, Project:Messiah Group, PIXAR, etc).
Another missed point is that most people don't actually have a real need for more computing power than a Pentium4 or AthlonXP, let alone a Penryn or a quad-core CPU. Quad-core (or more) PC's are overkill even for most software developers. Most of the people buying MacPros with 8 cores aren't writing software, they're editing and encoding video, large photographs, rendering large CG projects, compositing... the sort of thing that drives most markets: content.
The real issue here is, IMO, the lack of a "killer app" to convince the average user to WANT a multi-core system.
No, I am not taking Apple to task for anything. And I am, I hope, not ranting. I am simply saying that people should not over-estimate what will come of Grand Central, or any multi-core abstraction layers, or multi-core as a broadly helpful performance increasing strategy.
From one of my other commenters:
Multicore is definitely over-promised. I agree with what you wrote and recommend what Donald Knuth had to say on this topic:(http://www.informit.com/articles/article.aspx?p=1193856)
"I might as well flame a bit about my personal unhappiness with the current trend toward multicore architecture. To me, it looks more or less like the hardware designers have run out of ideas, and that they’re trying to pass the blame for the future demise of Moore’s Law to the software writers by giving us machines that work faster only on a few key benchmarks!"
From one of my other commenters:
Multicore is definitely over-promised. I agree with what you wrote and recommend what Donald Knuth had to say on this topic:(http://www.informit.com/articles/article.aspx?p=1193856)
"I might as well flame a bit about my personal unhappiness with the current trend toward multicore architecture. To me, it looks more or less like the hardware designers have run out of ideas, and that they’re trying to pass the blame for the future demise of Moore’s Law to the software writers by giving us machines that work faster only on a few key benchmarks!"
"No, I am not taking Apple to task for anything"
I just want to share with you that when I read the title, I thought you meant something like "The false expectations Apple is setting with Snow Leopard."
After I read the article, I came away with the thought that what you were saying is "The false hopes people are clinging to when they read about Snow Leopard."
I just want to share with you that when I read the title, I thought you meant something like "The false expectations Apple is setting with Snow Leopard."
After I read the article, I came away with the thought that what you were saying is "The false hopes people are clinging to when they read about Snow Leopard."
I'm confused. Who thought the promise of Snow Leopard was that it was going to solve concurrent programming? You'd think if it was that big a deal, they'd have named it Liger.
Apple has done a release like Snow Leopard already: 10.1. This is supposed to be the release that fixes all the broken stuff and optimizes the platform for X86 and (more importantly) the X86 chipset and peripherals on Macs. 10.1 worked beautifully.
If this writer had "false hopes" about Snow Leopard, he acquired them from somewhere other than Apple.
Apple has done a release like Snow Leopard already: 10.1. This is supposed to be the release that fixes all the broken stuff and optimizes the platform for X86 and (more importantly) the X86 chipset and peripherals on Macs. 10.1 worked beautifully.
If this writer had "false hopes" about Snow Leopard, he acquired them from somewhere other than Apple.
The author is using a Mythical Man-Month idea about how fast people can solve problems and applying it to computer programs and algorithms. Sorry, but that doesn't wash. You can't automatically analyze the basic blocks and dataflow of a human researcher's brain, but compilers can do this to programs.
What's been missing is a high-level approach to parallelism. This is exactly where Apple has a core competency: software tools. I think they stand a good chance of producing something useful. It won't be universally applicable, but it doesn't need to be. If it will be useful in making parallelism easier, then this will be a meaningful success.
What's been missing is a high-level approach to parallelism. This is exactly where Apple has a core competency: software tools. I think they stand a good chance of producing something useful. It won't be universally applicable, but it doesn't need to be. If it will be useful in making parallelism easier, then this will be a meaningful success.
The problem is that high clock speeds cost heat and energy consumption. So it is possible to solve this problem by finding a new material for making processors. Its only a matter of time until someone figures it out. I read an article 2 years ago about using diamonds in chips, to solve exactly the heat problem, the problem was that it was going too be expensive, so maybe if someone thins of a cheap alternative to diamonds we can have some very good results. This may take a year or 10 years, i don't know if its even going to happen, but until then multi core CPUs are a good alternative.
"The problem is that most algorithms and program logic cannot be made to run better across many processors" evidence for this?
I was hoping to hear him talk about the Von Neumann Bottleneck (http://en.wikipedia.org/wiki/Von_Neumann_architecture#Von_Ne...), a problem faced by serial and parallelizable algorithms.
I was hoping to hear him talk about the Von Neumann Bottleneck (http://en.wikipedia.org/wiki/Von_Neumann_architecture#Von_Ne...), a problem faced by serial and parallelizable algorithms.
Intel is up to this with a C/C++ like language. Apple stands a good chance of making something like this easier to use.
http://www.informationweek.com/news/software/development/sho...
http://www.informationweek.com/news/software/development/sho...
Does this remind anyone else of a certain Bill Gates quote regarding 640k being enough for anyone?