Researchers from Intel and at North Carolina State University have been looking into the problem of sub-optimal communication between microprocessor cores. The last decade has seen chipmakers shift strategy from faster-and-faster to more-and-more cores in search of performance improvements. Dual-core and quad-core chips have shown great benefits in modern PCs and devices, however scaling beyond to 8, 10, 16, or more cores provides diminishing returns. Worse still, poorly optimised software can lead to further speed-impacting hotspots on multi-core processors.
The problem is down to the need for the CPU cores to communicate with each other to work in concert - but this process brings significant overhead with the proliferation of cores, explains a recent report published by IEEE Spectrum.
One possible solution, devised by Intel and at NC State scientists, is moving the software queue to hardware. As explained in the above linked report, "This effectively turned three multistep software-queue operations into three simple instructions: Add data to the queue, take data from the queue, and put data close to where it's going to be needed next." In practical use a hardware queue management device (QMD) noticeably sped up tasks using data processing simulations. With QMD more cores show stronger gains – a 16 core CPU with QMD performed 20 times faster, for example. Furthermore, as the QMD is capable of simple computational functions it can aggregate data from multiple cores, expediting some basic computational functions.
Interestingly the researchers tested expanding the QMD logic to handle other core-communications-dependent functions and got good results. This shows that moving frequently used software elements to hardware to find a sweet spot seems worthwhile going forward. Whether QMD logic will be added to future Intel processors is uncertain but Intel is spending money researching this tech, so it looks positive for the future as processors gain more and more cores.