Multicore processor solutions such as the ARM11 MPCore and Cortex-A9 MPCore processors provide a flexible and energy-efficient way to dramatically increase processing power. The availability of software capable to efficiently handle and exploit the benefits of a multicore system has become increasingly important due to the uptake of such solutions in the industry. Expressing concurrency does not need to be hard: The focus is on ensuring that an optimal use of multiple cores is achieved, avoiding common pitfalls and making the right choice of parallelisation policy, as explored in this article.

Reprinted in its entirety from ARM IQ Vol. 7, No. 3, 2008