Multicore Association Rolls Out Developer’s Guide to Software Programming for Multicore Designs
Multicore Programming Guide Compiles “Best Practices” for Writing Multicore-Ready Embedded Software
The Multicore Association™ announces availability of the Multicore Programming Practices (MPP) guide to provide developers with a detailed set of best practices for writing multicore-ready embedded software. The MPP guide, collectively written by a wide range of industry experts, outlines how to migrate applications to multicore platforms and shares industry-proven techniques that help reduce development costs.
The software developer 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 re-architect the application to support widespread concurrency. As a result, many developers adopt an evolutionary approach that uses existing programming tools and technology.
The Multicore Association MPP guide completely embraces this evolutionary approach. It includes 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 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.”
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. Co-chairs David Stewart (CEO of CriticalBlue) and Robert Oshana (engineering manager at Freescale Semiconductor) 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 include CriticalBlue, Freescale, Intel, PolyCore Software, Texas Instruments, and Virtutech (Wind River). 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. Contact Markus Levy for details.
The Multicore Programming Practices Guide is available for download from the Multicore Association website.
About The Multicore Association
The Multicore Association provides a neutral forum for vendors who are working with and/or proliferating multicore-related products, including processors, infrastructure, devices, software, and applications. The consortium has made available its Multicore Communications API (MCAPI) and Multicore Resource Management API (MRAPI) specifications through its website. Members include Abo Akademi University, Advanced Cluster Systems, Broadcom, Carnegie Mellon University, Cavium Networks, Codeplay, Delft University of Technology, EADS, Ecole Polytechnique de Montreal, EfficiOS, Enea, Ericsson, eSOL, Freescale Semiconductor, Huawei, Institute of Electronics and Telecommunications of Rennes, LG Electronics, Lockheed Martin, LSI, Mentor Graphics, MIPS Technologies, National Instruments, nCore Design, Netronome, Nokia Siemens Networks, PolyCore Software, Qualcomm, Sage Electronic Engineering, Siemens AG, Tampere University of Technologies, Texas Instruments, Timing Architects, UAS Technikum Wien , University of Houston, and Wind River. Further information is available at www.multicore-association.org.