Moore’s law may be running out of steam, but chip costs will continue to fall
economist.com
economist.com
I think that economical forces will continue to drive progress, and probably exponential progress like we've enjoyed in the past, for at least another decade. Probably several.
The way this is going to happen is through a paradigm shift. To the layman this seems weird, but to anyone in the business this should be expected. We've already been through quite a few. The first computing devices were mechanical, then they were based on electrical relays, then came the vacuum tubes and finally we entered the era of the transistor. We can argue about what the next paradigm will be, but I have no doubt there will be one. And soon.
As long as more compute power was effectively free, at least for users, with each new generation of computers, this was a tradeoff that people were willing to make, as it wasn't really much of a tradeoff. I think this was Myhrvold's law: "Software is like a gas, it expands to fill its container". Once the container doesn't expand so freely, the economic pressures you mention may act on software to take out some of the bloat.
[1] http://thegambitplayer.blogspot.de/2011/02/interesting-artic...
The MHz race has already slowed dramatically. There's now a push to software developers to take advantage of multicore, which is advancing only very slowly. Remember that many HN readers write single-threaded (but maybe asynchronous) Javascript.
Also parallel algorithms are often clever and sometimes take advantage of domain specific details to cut corners for more performance.
It seems to me that eventually people will have to use a more complex programming model to get past performance hits.
One question is whether the majority of programmers will encounter performance hits in the future
For example, Simon Peyton Jones gave a talk[1] about Data Parallel Haskell, which after many years of development was still slower on 6 cores than C on a single core.
http://research.microsoft.com/en-us/um/people/simonpj/papers...
People are much harder to move.
Also flops/$.
For programming where high performance really matters (throughput not latency), adoption for parallel frameworks/languages like CUDA has been a no brainer, and people have embraced the new parallel programming model.
Since major speedups in consumer chips today are about adding parallelism (Intel AVX), versus the clock speedup of a decade ago and earlier...
What does HN think about mainstream effects? Will there be a noticeable migration to less computationally wasteful or less sequential languages/frameworks when mainstream applications increase their hunger for compute resources?
p.s. (I'm assuming that the average application's future equivalent/spawn needs more and more computational resources, either bc of more load from customers using it, or because it gets more complex and ambitious as the space of applications gets more complex in the future)
- frameworks continue to waste resources in order to reduce perceived time-to-market from adopting that framework.
- speech recognition has already shifted to the "cloud". Other more computationally intensive apps will also be run in the cloud, resisting piracy and enabling surveillance.
- developers will add more virtualisation layers.
- nobody will solve the IoT security or interop problems, but nonetheless the number of tiny not very powerful processors with radios will increase. ARM will ship their trillionth core.
Different is the move to large to potentially huge numbers of layers in making NAND flash. Samsung is shooting for 100 layers and 1 terabit on a single die (!).
Apparently Intel didn't get the memo...
We certainly aren't seeing the big jumps from previous generations, but it isn't entirely static. And this is a segment with much less pressure on power consumption than mobile, and perhaps other Xeons that go into huge machine rooms that I'm read are now more power limited than anything else.
The next tick from Haswell at 22 nm to Broadwell at 14 nm did not go well. Seriously delayed due to low yields, per Wikipedia they're not doing low end desktops with it (perhaps due to NRE? Then again, these ought to be server chips with features cut out), and the Skylake microarchitecture on 14 nm has started coming out relatively quickly, cutting the normal lifetime Haswell should have had. The Cannonlake shrink to 10 nm has been delayed at least 2 years, with a Kaby Lake mid-life kicker at 14 nm breaking the tick-tock system they've used since 2007.
No doubt this is paying off in reduced power for the computrons for mobile and server systems, but costs, that's not doing hardly so well, and apparently breaking Moore's Law. Intel is supposed to be the best at this, and foundries like TMSC have also been having problems at various points as they shrink.