Live data from Hacker News

The future of computing: After Moore's law

economist.com

61–67 of 67 posts

Re: The future of computing: After Moore's law

#61

While we're reaching the physical limits of classical chip design, do we have any ideas what the limits are on the algorithm side of things? As much speed up has come from software as hardware according to a few reports. http://www.johndcook.com/blog/2015/12/08/algorithms-vs-moore...

A ton of it did. There's many subtopics for algorithms, microarchitecture tricks, hardware accelerators, I/O schemes, improvements for RTL/transistor optimization, and so on. Each have enough papers it can be hard to fibd stuff. Most of best stuff gets patented and controlled by dominant companies.

Re: The future of computing: After Moore's law

#62
post #4

I like PG's idea [1] of trying to write a compiler that can utilize code to run on multiple cores, as if the cores were running in series, not parallel (think batteries). [1]: http://paulgraham.com/ambitious.html

The difficulties:

https://en.wikipedia.org/wiki/Automatic_parallelization

Some solutions:

https://en.wikipedia.org/wiki/ParaSail_%28programming_langua...

http://researcher.watson.ibm.com/researcher/files/us-bacon/D...

https://en.wikipedia.org/wiki/Chapel_%28programming_language...

Re: The future of computing: After Moore's law

#63
post #7

Earlier quoted context omitted.

> do we have any ideas what the limits are on the algorithm side of things? I've always believed that humans do not have the ability to program things smarter than themself, because we do not understand our own intelligence, so we have no way to reproduce it. At the time, I said the only alternative I can think of is make random permutations and pick the best one, and go from there. But I said this as a ridiculous su…

(Totally self-promoting here) I did a lot of work along this line in my PhD -- stochastic architectures for probabilstic computation. http://ericjonas.com/pages/circuits.html There's an increasing amount of interest in this space.

You're work is interesting. The concepts remind me of work in analog implementations of neural circuitry. See, the brain is likely a general-purpose, analog computer with digital-like parts. So, trying analog implementations was thought to have improvements. It did with one wafer-scale method I didn't see coming.

http://yann.lecun.com/exdb/publis/pdf/boser-92.pdf

http://www.kip.uni-heidelberg.de/Veroeffentlichungen/downloa...

It would be interesting to see someone combine the principles of your work with analog implementations on a decent process node. Yours is kind of like a hybrid between properties of analog and digital cells. The real thing might be even more effective albeit harder to automate. There's some analog EDA but it's almost always custom work.

Re: The future of computing: After Moore's law

#64
post #51

Earlier quoted context omitted.

I think technological progress is more like a logistic curve, with exponential-like growth at the beginning and then a leveling off. Look at technologies that have already had time to mature. The speed of airplanes grew tremendously while jet engines and wing shapes were undergoing heavy refinement, but then it leveled off and hasn't really budged in decades.

Technologies can take leaps and bounds, too, though. If you view the modern computer as an evolution of the abacus the flat part of the curve was the first few thousand years. It's possible quantum computing, say, or neural nets will be leaps of that order. Or maybe not. It's impossible to predict true breakthroughs.

>> If you view the modern computer as an evolution of the abacus

I'm not sure what value that has for predicting the future. You could view the airplane as the evolution of the chariot. Or not. Does it make a difference?

Re: The future of computing: After Moore's law

#65
post #51

Earlier quoted context omitted.

Technologies can take leaps and bounds, too, though. If you view the modern computer as an evolution of the abacus the flat part of the curve was the first few thousand years. It's possible quantum computing, say, or neural nets will be leaps of that order. Or maybe not. It's impossible to predict true breakthroughs.

>> If you view the modern computer as an evolution of the abacus I'm not sure what value that has for predicting the future. You could view the airplane as the evolution of the chariot. Or not. Does it make a difference?

It does, because otherwise you think technology never changes quickly. My point was while it's true we're probably reaching the point of diminishing returns for silicon etched circuits, that's not the end of the line. I'd be surprised if we didn't have ubiquitous quantum computers in thirty years or so unless something even better came along.

Re: The future of computing: After Moore's law

#66
post #27

Earlier quoted context omitted.

Care to elaborate?

The logistic function (or "S-curve") describes systems that expand first at exponential rates, then logarithmic ones. With respect to new technologies, it's been observed that adoption rates and most measurable improvements follow a logistic function. For example, people did not go from buying 1 car to buying 10 cars and then 100 cars - most of us hit saturation somewhere between 1 and 2, and stayed there. Similarly,…

Oh sure I know about the logistic curve, I just wasn't sure about black phosphorus.

Re: The future of computing: After Moore's law

#67
post #40
post #26

Earlier quoted context omitted.

> Compared to what? A single core processor, of course. > What does ordinary code mean? Say, simple random sample of all the other code being run. > VLIW has been around for a while Yup. I never claimed otherwise. > Itanium is probably the most famous "general purpose" example Yup. > and has failed to gain traction outside of GPUs and DSP (ie not "ordinary code"). Yup. Still, yet again, over again, one more time, onc…

Both mechagodzilla and TheOtherHobbes have pretty much covered my response. The only thing I wanted to add was that you're acting incredibly defensive to essentially a request for context. The 9:1 speedup you quoted doesn't exist in a vacuum (and repeating the phrase "general purpose code" doesn't fix that.)

We all know quite well what "general purpose code" is.

I'm sorry about Itanium, but VLIW has to remain a possible path to faster cores. That my information is old does not mean it is wrong: The guy got 9:1 speedup on 24-way VLIW. Saying that the tricks of branch prediction, out of order execution, speculative execution, register renaming, etc. make VLIW forever obsolete is shaky without some solid references.

Moreover, if we want faster cores, then obvious, right in front of us, are two possibilities: (1) Design instruction sets that make VLIW easier to do and more productive. (2) Integrate and coordinate up and down the stack, that is, from application, e.g., collection classes, string operations, function calling, memory management, exceptional condition handling, to compilers to instructions to VLIW to the gate level logic and look for speedups. E.g., the now famous instruction sets look like they were designed for assembly language programming, and likely no compiler makes good use of all the instructions. E.g., C code, supposedly fast, forces the programmer to do the multidimensional array indexing arithmetic themselves, and to the machine language it all looks like normal work. In fact, that addressing is necessarily ubiquitous across computing, so maybe have an instruction for it. Same for string compare -- the usual C approach is just comparing one character at a time in a loop -- bummer.

In tool making, a key is to design the right tools. Else end up with a huge toolbox where most of the tools are used little or not at all. IMHO, we are still looking for the right tools in the stack from logic gates to microcode, register sets, instructions, caches, compilers, and applications. Then, VLIW in some form needs to be kept in mind.

Post reply on HN