Embedded Systems

Multicore Programming (Not) For Dummies

By Adrian Bridgwater, February 15, 2013

The Multicore Association announced its Multicore Programming Practices (MPP) guide to provide developers with a detailed set of best practices for writing multicore-ready embedded software. The MPP guide outlines how to migrate applications to multicore platforms with shares industry-proven techniques that promise to reduce development costs.

NOTE: The 114-page PDF guide is easy enough to download, but does require online registration and the user must submit his/her name, email, and note the application they are working on.

The association explains its rationale for publishing this guide by saying that the software developer today is responsible for achieving increasing performance gains when upgrading processors.

"Developers must implement significant software modifications, which involves program analysis and rethinking the design, debug, and performance optimizations. Under tight deadlines, many developers continue to use C/C++ rather than learn a new parallel programming language or rearchitect the application to support widespread concurrency. As a result, many developers adopt an evolutionary approach that uses existing programming tools and technology," says the association.

This new guide includes best practices for writing multicore-ready software using C/C++ without extensions, so that applications can be more easily compiled across a range of multicore processor platforms. The MPP guide is also intended to serve as a framework for transitioning from serial to parallel applications and provides common pitfalls, possible solutions, and "avoidance tactics" to reduce bugs and minimize debugging efforts.

"While the industry continues to make important long-term research into new programming languages and methodologies, the MPP guide tackles how existing embedded C/C++ code may be written to be 'multicore ready' today," said Multicore Association president Markus Levy.

NOTE: Four years ago, the Multicore Association formed The Multicore Programming Practices working group to develop a multicore software-programming guide that would improve consistency and understanding of multicore programming issues.

"One of the major things that distinguishes this guide from all other multicore books is that it was written by committee. The industry experts who make up the MPP working group worked together to ensure completeness, usefulness, and industry-wide compatibility that will help save development time and costs while easing the industry's move to even higher-core platforms," added Levy.

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task.
However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Video

This month's Dr. Dobb's Journal

This month,
Dr. Dobb's Journal is devoted to mobile programming. We introduce you to Apple's new Swift programming language, discuss the perils of being the third-most-popular mobile platform, revisit SQLite on Android
, and much more!