The Multicore Association has released a guide to programming multicore embedded systems in C and C++, hoping to steer programmers away from the common pitfalls of parallel programming.
The Multicore Programming Practices (MPP) guide provides developers with a set of best practices for writing multicore-ready embedded software and can be downloaded from the organization’s site for free. Started as a project by the association four years ago, the MPP guide, collectively written by a wide range of industry experts led by Rob Oshana of Freescale Semiconductor and Critical Blue’s David Stewart, outlines how to migrate applications to multicore platforms and shares industry-proven techniques that help reduce development costs.
The guide includes best practices for writing multicore-ready software using C and C++ without extensions, ensuring that the application can be more easily compiled across a range of multicore processor platforms, speeding time to market and ensuring portability. The MPP guide also serves 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. “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.”
Participating companies in the MPP working group include CriticalBlue, Freescale, Intel, PolyCore Software, Texas Instruments, and Wind River’s Virtutech subsidiary. Additional companies who were very active in helping write the MPP guide include CAPS Entreprise, Carnegie Mellon University, and Mentor Graphics. The working group is open to all Multicore Association members and welcomes new members interested in continuing to evolve the Multicore Programming Practices Guide.