When looking for a good reference to back the “many-core problem” assertion in my Master’s thesis, this the best I could find as a prime source. Multicore: Fallout of a Hardware Revolution holds an excellent description of the reasons behind the shift from increasing clock speeds to multiplying the numbers of cores in modern CPUs.
In particular:
“Hidden concurrency burns power
Speculation, dynamic dependence checking, etc.
Push parallelism discovery to software (compilers and
application programmers) to save power”
…and a hidden treasure of information on the history of all modern processor architecture optimization techniques.