Multicore Programming Practices Guide is here
Available for download, the MPP guide is a team effort on the part of a wide range of industry experts and outlines how developers can migrate their sequential C-based applications to the parallel and concurrent form for efficient operation on multicore processor architectures.
According to Multicore Association president Markus Levy, software developers in the era of multicore hardware face significant challenges. Responsible for achieving increasing performance gains when upgrading processors, he said, they 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 re-architect the application to support widespread concurrency,” Levy said. “As a result, many developers adopt an evolutionary approach that uses existing programming tools and technology.”
The Multicore Association’s MPP Guide completely embraces this evolutionary approach, he said, including the best practices for writing multicore-ready software using C/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 Levy.
The Guide is the result of a four year effort on the part of the Association’s Multicore Programming Practices (MPP) working group, which is co-chaired by David Stewart (CriticalBlue), Robert Oshana (Freescale Semiconductor) and Max Domeika (Intel).
Levy said the two men carefully assembled the working group and led the team through a rigorous definition cycle before jointly writing, reviewing, and approving the 120-page document.
Participating companies in the MPP working group in addition to CriticalBlue, Freescale and Intel included PolyCore Software, Texas Instruments, and Virtutech (Windriver).
Also active in helping write the MPP guide, said Levy, were CAPS entreprise, Carnegie Mellon University and Mentor Graphics.
Levy said that under the direction of the co-chairs, the industry experts who make up the MPP working group worked together to ensure completeness, usefulness, and industry-wide compatibility with the clearly defined goal of creating a set of recommendations that save development time and costs while easing the industry’s move to even higher-core platforms.
The Multicore Programming Practices Guide (MPP) is available for download from the Multicore Association website.