King Demandius tasked his two royal advisors, Max and Rupert, with fixing the problems with the road between the kingdom's two most prosperous cities: Hither and Yon. Max, the head of the ministry of taxes and tolls, realized that royal revenue could be improved if traffic on the road was increased. Horse and chariot speeds had already been pushed to their limits. His solution: widen the road in order to allow multiple travelers to pass simultaneously. Max's proposal was warmly accepted by the king, giving rise to the kingdom's first multilane-tollway.

 

Rupert, on the other hand, had received complaints from the king that travel time between the royal palace in Hither and the vacation home in Yon was just too long. During these trips the road was closed to everyone but the royal caravan so additional lanes were of no benefit. Horse and chariot speeds couldn't be increased. What was Rupert to do? In the end he made two proposals: Move Hither closer to Yon or add in-chariot entertainment to the royal caravan to help pass the time. Rupert now enjoys full accommodations in the dungeon.

 

In the same way, it is the best of times and the worst of times for embedded processor users. If you are looking to increase the throughput of your application, like Max, adding more cores is equivalent to creating a multilane expressway. More cores can be a very effective solution for increasing total application capacity. However, if your problem is more like Rupert's, your options are a bit more limited. Core speeds are not increasing and more core's by themselves, like more highway lanes, might do very little to improve application speed.

 

Fortunately, there can be a happy ending to our story. Although less obvious, most multicore processors do offer possibilities for improving application speed. I'll be talking about some of these on November 13 in a webinar hosted by Open Systems Publishing. I'd love to have you there. In the meantime, if you have any success stories or tricks to increase application speed on Intel multicore processors, I invite you to share them here.