Here's an extremely interesting slide deck(pdf) on the opportunities in chip design, if we allow a little more of the physical characteristics of the chips to play a role in the programming interface. Turns out symbolic simulation of floating point math (i.e. real numbers) is extremely compute expensive when you consider that the physics is naturally 'solving' these equations all the time, just by being, you know, real physical entities.
The 'only' cost of a projected 10000x improvement in efficiency is a 1% increase in error rate, but if you change the algorithms to suppose a certain level of error - a natural notion in the realm of learning algorithms and AI-techniques - that's not really a problem at all.
The reason this is important, is, that we're moving from symbolic computing to pattern matching, and pattern matching, machine learning, AI and similar types of computation all happens in the real domain. A 10000x advance from more appropriate software buys about 13 applications of Moore's Law - something like 20 years of hardware development we could leapfrog past.
A few years back I wrote down a guess - completely unhampered by statistics or facts - that in 10-15 years 90%-95% of all computation would be pattern matching - and I stand by that guess, in fact I'd like to strengthen it: I think, asymptotically, all computation in the future will be pattern matching. This also ties into the industrial tendency I was talking about in the previous post. Increasingly, filtering is where the value of computation comes from, and that makes it highly plausible we'll see specialized chips with 10000x optimizations for pattern matching. Would Apple need to ship any of Siri's speech comprehension to the cloud if the iPhone was 10000x more capable?
Postscript: Through odd circumstances I chanced on this link the exact same day I chanced by this report(pdf) on practical robotics. I'll quote a little from the section in that called 'Let The Physics Do The Walking':
Mechanical logic may be utilized far more often in Nature than we would at first like to admit. In fact, mechanical logic may be used for more in our own robots than we realize[...] Explicit software we originally envisioned to be essential was unnecessary.
Genghis [a robot] provides a further lesson of physics in action. One of the main reason he works at all is because he is small. If he was a large robot and put his foot in a crack and then torqued his body over, he would break. Larger walking machines usually get around this problem by carefully scanning the surface and thinking about where to pyt their feet. However, Genghis just scrabbles and makes forward progress more through persistence than any explicit mechanism. He doesn't need to build models of the surface over which he walks and he doesn't think about trying to put his last foot on the same free spot an earlier foot was placed.
Sometimes general computing is just too general for it's own good.
Posted by Claus at February 21, 2012 02:36 PM | TrackBack (0)