One of the most popular plots when it comes to technologic advancements in microprocessors in general and Moore's Law in particular is a plot entitled 35 Years of Microprocessor Trend Data based on data by M. Horowitz, F. Labonte, O. Shacham, K. Olukotun, L. Hammond, and C. Batten. Later, trend lines with some (speculative) extrapolation were added by C. Moore. One can find the plot with and without trend lines at various locations in the web (and further down). However, the plot suffers from one the sands of time: Data is only plotted up until the year 2010, missing out the last five years.
In order to add more recent data and in order to judge whether the extrapolations from 2010 were appropriate, I extracted the original data using g3data and added data from AMD Opteron processors, Intel Xeon processors, Power7+ and Power8 processors as well as Xeon Phi to the plot. Details on the new data can be found in a zip archive with all raw data. The resulting plot is as follows:
Compare this to the original plot (see for example slide 13 in A Journey to Exascale Computing by W. Harrod):
There are two interesting things to note: First, single-thread performance has kept increasing slightly, reflecting that this is still an important quantity. These increases were achieved with clever power management and dynamic clock frequency adjustments ("turbo"). Second, the number of cores is now increasing with a power law. Is this a surprise? Probably not: Transistor counts are increasing in accordance to Moore's Law, so one way of using them is in additional cores.
What about the future? Well, frequency and power will not experience any significant changes. Further improvements in instructions per clock may slightly increase single-threaded performance further, but not by a big margin. Transistor counts and number of cores are the two interesting quantities: How long can we keep Moore's Law going? My (careful) prediction is that we will see an increase in the number of cores in proportion to the number of transistors. Current top-of-the-line Haswell Xeon CPUs already offer up to 18 cores, so we are well in a regime where Amdahl's Law requires us to use parallel algorithms anyway. Upcoming Knights Landing Xeon Phis will be equipped with 72 cores, which is more than the 61 cores in the current Knights Corner Xeon Phis. From an algorithmic standpoint it does not really matter whether one has to deal with 61 or 72 cores - massively parallel algorithms are required in either case. At this point we should be glad that we have already learnt a lot from programming GPUs on how to design and implement such algorithms. 🙂