Hacker News new | ask | show | jobs
by tmh88j 5102 days ago
I'm not sure if anyone agrees with me, but I feel like software development will outweigh the need for significantly faster chips over the next 5-10 years. It seems like all the buzz has been about machine learning, signal processing, software defined networking and online education rather than the latest and greatest from AMD/Intel. That's not to say new hardware development isn't necessary, it just seems like there's greater potential for software development in the coming years.
2 comments

But machine learning, signal processing, software defined networking are exactly the fields that use non intel/amd processors, and see a lot of development effort that goes into unique hardware architectures.
That's been going on for a while. Algorithms have advanced even faster than Moore's Law.
Not really, sorting Algorithms as a classic example have been mostly stagnant for the last 50 years. There have been plenty of advances in a wide range of areas, but 'Algorithms' is way to generic a concept to fit any sort of progress curve.
Well, sorting is not so very difficult that you can improve it by much. However it is true for linear programming:

http://agtb.wordpress.com/2010/12/23/progress-in-algorithms-...

Sorry, I have made 200x speedups in a specific code over the course of a few weeks that does not mean I am millions of times faster than mores law, just that I spent more time solving that problem. If you take the performance on that data set use it on a benchmark on the same hardware it's not going to be 43,000 times as fast in another 15 years due to 'better' algorithms. After all it's been 2 years is the code 10 times as fast on today's hardware?

PS: Not to mention architecture specific improvements such as ever increasing L3 cache sizes that make may algorithms a lot faster on today's hardware without showing similar speedups on hardware that's 10 years old.

No, they really do mean that on the same hardware, solving the same problems, we have algorithms that will solve those problems 43,000 times faster compared to fifteen years ago...at least for the problems they looked at. And that progress is continuing.

The assumption here is that at any given time, you're reading the latest published papers and implementing the best known algorithms, in a field that uses complicated algorithms on big problems.

It's not just because of faster chips that Google has a self-driving car now.

(As for sorting, it's been proven that the best you can do is O(n log n), and John von Neumann achieved that with mergesort in 1945.)

With a large enough data set O(n^2) vs O(n^1.99999) be 43,000 times faster or 43,000,000 times faster. Which is one of the reasons that metric is next to meaningless. Looking back you can find plenty of great speedups but as I said it's in no way steady progress across all fields.

PS: Also Radix sorting is O(n) operation under conditions where mergesort is O (n log n). (AKA in practice merge sorting distinct strings is 0 (n * (log n) * (log n) as you need to look at an ever increasing number of symbols, or if your strings have a fixed max length or if your theoretical computer can compare infinitely long strings in a single step then Radix sorting is also O(n).)