Out of these factors on a single unit : Number of Cores | Threads | Frequency Ghz | Cache
Which the most important for Corona's speed?
#cores * frequency is pretty good estimate of the rendering performance. So 4 cores at 4 GHz should be roughly equivalent to 8 cores at 2 GHz. This is just for rendering and other easily parallelizable tasks though. Many tasks are single threaded (Word document editing, most of the non-rendering work in 3ds Max, ...) and for these you want the highest frequency possible since the core count does not matter. This is the reason why many people choose few cores + high frequency on their workstation while using many cores + low frequency on DR slaves.
On my v4 Xeons, DDR4 memory provides identical result down to single point in Cinebench R15 whether it;s clocker to 1333 or 2400 MHz.
Now I think should try this on Corona to see if it will provide different result. With above statement, should the difference be dramatic ?
While we haven't done any benchmarks with changing memory frequency, my guess is that you probably won't see any effect with Corona either. Higher frequencies increase the memory bandwidth while the latency stays pretty much the same (due to the same signal propagation speeds which limit CPU frequency). Higher bandwidth could help a lot in cases where the memory is accessed sequentially, which is unfortunately not the case when rendering (as Ondra already explained). This is pretty much the same thing as with HDD/SSD sequential vs random access speeds.
What does it mean for future ? That Corona's performance will rise as DDR4 (and eventual DDR5) will mature into better speed ? It doesn't seem like the development on this front is any dramatic, so Corona will continue to be bottlenecked in this way ?
Well, I'm pretty pessimistic about the future here :) The CPU vs memory speed situation is pretty much the same at least for the last 10 years so we can't expect much from the near future. There are even some developments in the other direction with even slower (and bigger) memories being used instead of (or together with) the traditional RAM.
The most promising thing was the L4 cache in some (mostly mobile) Broadwell CPUs. We have one of those in the office, but I don't remember if that actually helps the performance in any singificant way. Not that it matters since AFAIK Intel removed those in Skylake.
What's the underlying cause of this ? The memory speed itself, or the connection between memory and CPU ? Do GPU renderers suffer from this too given they have much higher memory speeds and tighter connections ?
Physics is the culprit here unfortunately. The memory latency is determined by how fast can the electrical signal propagate from one end of the chip to the other (+ necessary signal amplification & stuff). While memories benefit from newer technologies just as much as the CPUs do, we just keep making bigger memories negating any performance gains.
The greatest example are the CPU caches themselves. L1 & L3 caches are implemented pretty much the same way. L1 runs roughly at the same speed as the CPU cores do while it takes ~40 clock cycles to get data from L3 just because its bigger.
GPU suffers from this the same way CPU does. It's optimized as long as all the threads from a single thread group (called warp) access the same data, but it all goes to shit when the access pattern becomes random (up to 32x slower than the optimal case). The GPUs are just a little better at hiding these latencies since they run many threads on a single physical core and when one thread waits for the data other threads are executed instead. HyperThreading does the same thing but with just two threads per physical CPU (4 threads in case of Xeon Phi).
Interesting info. So that being the case what would a theoretical huge technological break through in regards to RAM look like?
Adding few more layers of smaller & faster memory acting as additional cache may help.
There have also been reports of "holographics memories being the game changer next year" for the past 20 years, so I'm keeping my fingers crossed ;) IIRC the electrical signal propagation is around 2/3 of the speed of light, so moving this way may actually help if it's ever feasible.