Multi-core processors have become ubiquitous, but it took some time for the software industry to start taking advantage of their capabilities. According to the Institute of Electrical and Electronics Engineers (IEEE), this is partly because modern microprocessors require careful management of communication between cores. Researchers at Intel and North Carolina State University believe they have a solution: a Queue Management Device (QMD).
The QMD works by using hardware instead of software to take care of lock-protected software queues, which coordinate data access and usage between CPU cores. According to the IEEE, this strategy doubles core-to-core communication speed, making certain tasks much more efficient. For example, the researchers found that using a QMD for processing network traffic resulted in increased processing speed, as well as improved scaling as the software gained access to more cores. In a 16-core processor, using the QMD net a 20-fold improvement over processors using a software queue. The team discovered the QMD came in handy for tasks like MapReduce, too.
Now, this technology is very early in development. The data presented by the research team comes from simulations, not from actual hardware. However, Intel was impressed enough by the idea to hire Yipeng Wang, the NC State student who executed this project. If Intel's work on this project proves fruitful, our future System Guides just might be recommending a lot more cores than they are currently.