Apart from games, I would not be that afraid to install recent pieces of software (browser, office suit, os) on a 10 years old computer (2007 core 2 duo). But in 2007 I would not have thought for a minute that I could do the same on a 1997 computer (Pentium II), and installing 1997 software on a 1987 computer (80386), just no.
Last time I replaced my CPU (i5-6500 in place of i5-2500), I only saw a marginal improvement.
Even at my former job, I worked with some decent servers (32 to 48 cores, 128GB of RAMs) to build Linux masters from scratch (Gentoo based). The oldest server of the bunch (which is 5 years old now) is still the fastest to build a master from scratch, it has less cores but faster clock and even on parallel tasks like compiling stuff, clock is still a more determining factor than cores.
There are still tons of things to improve in CPUs: power consumption, cost, embedded functionalities (SoC)... but performance improvements seem a huge cost for low gains adventure right now and for the foreseeable future.
Ah, I can answer that one for you: my work computer of that time (E6850, 8 GB RAM), which cost me less than a thousand euros to build back then, has since been reconverted as a work computer for one of my employee, running Windows 10, Office 2016 and Chrome all day long. Only addition has been a 120GB SSD.
It runs much better than the "modern" and "cheap" ~ 400 euros integrated work computer I bought from ASUS and HP in 2015.
I'd rather use an old machine that's been upgraded with an SSD than a brand new machine that only has a mechanical hdd
Clock speeds seem to have leveled and IPC will only see another gain of 50-100%. Single threaded performance is close to the limit. What after that? Is this the end?
This is commonly claimed but it's actually false for x86_64 desktop parts. For a single core scalar integer workload the IPC boost from i7-2700k to i7-7700k was maybe 20-25% on a great day, but the base frequency increase was a further 20%, and max boost freq increase ~15%. The frequency increase is of similar importance as the IPC increase.
Was it the end of those industries?
Welcome to mature technology.
Economically? I think this or last year.
That's not a 50% or 100% improvement.
Maybe they'll get that improvement once they run recycled rockets all the time, but not before that.
Currently, SpaceX has prices around 56-62 million USD per launch of a normal satellite (with a weight and orbit where they can recover the first stage).
Arianespace launches such lighter satellites in pairs, always two at once, at a price of around 60 million USD per satellite.
The Chinese launchers offer the same at around 70 million USD per launch.
So, the prices aren’t that different.
But, for launches from reused rockets, SpaceX is damn cheap. The first launch on a reused rocket cost below 30 million USD.
So, to recap: Today, in best case, SpaceX is between 4 and 13% cheaper than the next competitor. But in a few years, once they launch mostly reused rockets, they’ll be around 50 to 60% cheaper than the next competitor.
Long term, Musk is shooting for a ~100x reduction in launch costs to make a Mars colony feasible. Hope he makes it.
Also more specialised cores e.g. DSP, and customisable hardware i.e. FPGA.
It wasn't explained in the benchmark, but the only reason I could imagine was the Iris chip worked as an L4 cache because the benchmark was not doing graphics stuff. That is what the Iris chip does, it sits right there in the socket with a whole bunch of memory available for the iGPU or work as L4 cache if available.
It's also a great way to do (almost) zero cost transfers from main memory to (i)GPU memory -- you'd do it at the latency of the L3/L4 boundary. With intel, that unlocks a few GFLOPs of processing power -- in theory, your code would have to be adapted to work this in a reasonable way, of course.
To sum things up, I agree with you, memory is a path that holds big speedups for processors. Don't know if "the Iris way" is the best path, but it indeed showed promise. Shame that Intel decided to lock it up for the ultrabook processors mostly.
My new Thinkpad has nvme and the difference is huge compared to my very fast desktop at work which has SATA connected SSD's.
http://michaelgalloy.com/2013/06/11/cpu-vs-gpu-performance.h...
http://www.anandtech.com/show/7603/mac-pro-review-late-2013/...
This is behind much of the interest in machine learning these days. Deep learning provides a way to approximate any computable function as the composition of matrix operations with non-linearities. It does this at the cost of requiring many, many times the computing power. But much of this computing cost can be parallelized and accelerated effectively on the GPU, so with GPU cores still increasing exponentially, at some point it's likely to become more effective than CPUs.
Thanks, and I wish this sentence was one of the first things I read when I was trying to figure out exactly what Deep Learning really meant. It's much more comprehensible than the semi-magical descriptions that seem far more prevalent in introductory articles.
It's also fascinating that a seemingly simple computing paradigm is so powerful, kind of like a new Turing Machine paradigm.
This actually describes neural networks in general, not so much "deep learning".
Deep learning comes from being able to scale up neural networks from having only a few 10s or 100s of nodes per layer, to thousands and 10s of thousands of nodes per layer (and of course the combinatorial explosion of edges in the network graph between layers), coupled with the ability to process and use massive datasets to train with, and ultimately process on the trained model.
This has mainly been enabled by the cheap availability of GPUs and other parallel architectures, coupled with fast memory interconnects (both to hold the model and to shuttle data in/out of it for training and later processing) and the CPU (probably disk, too).
But neural networks have almost always been represented by matrix operations (linear algebra), it's just that there wasn't the data, nor the vast (and cheap) numbers of parallelizable processing elements available to handle it (the closest architectures I can think of that could potentially do it in the 1980/90s would be from Thinking Machines (Connection Machines) and probably systolic array processors (which were pretty niche at the time, mainly from CMU):
https://en.wikipedia.org/wiki/Systolic_array
https://en.wikipedia.org/wiki/WARP_(systolic_array)
These latter machines started to prove some of what we take for granted today, in the form of the NAVLAB ALVINN self-driving vehicle:
http://repository.cmu.edu/cgi/viewcontent.cgi?article=2874&c...
Of course, today it can be done on a smartphone:
http://blog.davidsingleton.org/nnrccar/
The point, though, is that neural networks have long been known to be most effectively computed using matrix operations, it's just that the hardware wasn't there (unless you had a lot of money to spend) nor the datasets - to enable what we today call "deep learning".
That, and AI winters didn't help matters. I would imagine that if somebody from the late 1980s had asked for 100 million to build or purchase a large parallel processing system of some form for neural network research - they would've been laughed at. Of course, no one at that time really knew that what was needed was such large architecture, nor the amount of data (plus the concept of convolutional NNs and other recent model architectures weren't yet around). Also - programming for such a system would have been extremely difficult.
So - today is the "perfect storm", of hardware, data, and software (and people who know how to use and abuse it, of course).
>> It does this at the cost of requiring many, many times the computing power. But much of this computing cost can be parallelized and accelerated effectively on the GPU, so with GPU cores still increasing exponentially, at some point it's likely to become more effective than CPUs.
So can be any matrix. Sadly, there aren't as many algorithms that are efficiently represented by one.
Do you know what papers that was? I would have thought that with infinite transistors you could speculatively execute all possible future code paths and memory states at the same time and achieve speedup that way.
http://www.hpl.hp.com/techreports/Compaq-DEC/WRL-93-6.pdf
Speculation can only take you so far. How do you speculatively execute something like:
a = a + b[x];
?You can't even speculatively fetch the second operand until you have real values for b and x.
Trying to model all possible values explodes so much faster than all possible control paths that it's only of very theoretical interest.
People like to say a Core 2 Duo can still hang, and while it might be okay for basic tasks (and you could use a 10 years old computer in 2007 for basic tasks like word processing, internet), modern PC's are much faster.
On benchmarks you're going to be 4-6x faster on most tasks with a 2017 Macbook Pro compared to a 2007, and then don't even get started with anything that takes advantage of SIMD or GP workloads.
The other reason people say they can use a 10 year old PC today is because they've upgraded it. Early Core 2 Duo systems shipped with 512MB or 1GB RAM. They came with very slow 80GB hard drives. Upgrading to an SSD and 4-6GB of RAM is a must.
Edit: I guess I was ahead of the curve, because my Core 2 Duo box had 2 Gbs of ram out of the box (upgraded to 4 GBs of ram later, requiring me to reinstall windows to a 64 bit edition, and then swapping the chip for a Core 2 Quad).
2007 thinkpad x61, core 2 duo T7100, but with 4GB of RAM and an SSD, to be fair I'm cheating a little as I use Debian+DWM which is lighter than Windows 10.
But it holds itself pretty well and CPU limitation will probably not be the reason I change it. The screen resolution (1024x768) will probably be the main motivator.
But this only illustrates that there were some improvement because of RAM evoluation (4 to 8 GB or RAM now for average PCs vs 1 to 2 GB back then) and huge improvement because of disk evolution (SSD vs mechanical drives). CPU is far from being the main improvement factor for common usage in the last 10 years.
Don't forget bugs! We have had buggy silicon, microcode and drivers, all of which probably still need fixing.
The only issue I have with my old laptop from around then is browsing the web. Everything else, the performance is fine.
It's hard not to look at everything and interpret the marginal gains the past half decade as monopolist laziness/arrogance.
This, to me, looks like the PS2 vs Dreamcast move, where Sony blocked Dreamcast sales with PS2 hype. We've been waiting for 10nm for a while now, and now Intel is essentially confirming "yes, it's really coming this time" where they might not have otherwise--it's hard to not see that as a reaction to Threadripper. At least on the surface, increased competition has led to increased transparency, which is good for consumers...or at least I'm happy knowing I have the option to avoid a big, hot, power-hungry chip if I want to.
Although it has been deliberately deployed many times now, as you note one example of.
See:Itanium
Never compare an existing product to one that is not yet being sold. Never
It's Cannon Lake (Intel's first 10nm chip) which is supposed to come out this year.