El Dorado Hills, CA. — March 15, 2011 —The Multicore Association, an industry consortium focused on developing standards that speed time to market for systems using multicore processors, today announced that version 2.0 of its multicore communications application programming interface (MCAPI™) specification has been completed and is available for download from the consortium’s website. This enhanced version adds new features, such as domains for routing purposes, but also highlights the fact that an evolving communications API is a key factor in maintaining value in multicore-enabled system designs.
“Our original MCAPI specification has seen enthusiastic uptake, with over 1000 downloads,” said Markus Levy, president of the Multicore Association. “Extensive member feedback, combined with our ongoing dialog with users, was instrumental in driving the enhancements that we have included in version 2.0.”
MCAPI provides a lightweight infrastructure for inter-process communication within embedded systems, where resources are scarce. One aspect of that infrastructure involves the specification of a network of communication nodes, where a node can be a process, thread, instance of an operating system, hardware accelerator, or processor core. MCAPI Version 2.0 adds a level of hierarchy into that network through the introduction of “domains.” Domains can be used in a variety of implementation-specific ways, such as for representing all the cores on a given chip or for dividing a topology into public and secure areas. This gives designers more sophisticated control over the routing and security of their messages.
The Multicore Association has also increased runtime flexibility through the introduction of three new types of initialization parameters. The first provides a standardized way of setting node attributes for any MCAPI implementation. The second is user-defined and allows implementation-specific configuration of the MCAPI infrastructure at system start-up. The third new type of initialization parameter provides implementation information, such as the initial network topology or the MCAPI version being executed.
The MCAPI working group made a number of other changes to enhance functionality and to improve consistency and to ensure type compatibility with the consortium’s new multicore resource API (MRAPI™) standard.
“Users continue to identify new ways to apply MCAPI in their systems, motivating the key features added to the 2.0 version,” said Sven Brehmer, chairman of the Multicore Association’s MCAPI working group and president and CEO of PolyCore Software. “And this process continues: even as we release version 2.0, we are already developing future enhancements.”
MCAPI, whose original specification launched in April 2008, is supported by development tools and runtime solutions from both commercial companies and academia for use in the implementation of multicore embedded systems. Some of those tools and runtime solutions, including Poly-Platform from PolyCore Software and OpenMCAPI (which is available as open source under a BSD license), are now publicly available, while many more have been kept for proprietary use by their developers. MCAPI has found usage in a variety of multicore embedded systems, whether built using multiple chips on a board or as systems-on-a-chip (SoCs), which are embedded systems on a single piece of silicon.
Along with the introduction of the MCAPI 2.0 specification, the Multicore Association provides an example implementation in the form of an application library created with the C programming language. The implementation is not tuned for any specific operating system or hardware, and is intended to serve as an example to programmers either wanting to try both the MCAPI and MRAPI APIs for application programming or to implement the standards.
Join Sven Brehmer of PolyCore Software and Tammy Leino of Mentor Graphics on April 20th in a live webinar where they will provide an introduction to MCAPI and discuss how and why the updates were made to the MCAPI 1.0 specification to expand its usefulness. Go to www.multicore-association.org to register.
The specification and further information are available at www.multicore-association.org.
About The Multicore Association
The Multicore Association provides a neutral forum for vendors who are interested in, 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) specification through its website, and has just released its Multicore Resource Management API (MRAPI). Currently, the organization also has active working groups focused on: Multicore Virtualization, Multicore Communications (Version 2.x), Multicore Programming Practices (MPP), and Tools Infrastructure (TIWG).
Members include Abo Akademi University, AMD, Argon Design, CAPS entreprise, Carnegie Mellon University, Cavium Networks, Codeplay, CriticalBlue, Delft University of Technology, EADS North America, École Polytechnique de Montréal, EfficOS, Enea, eSOL, Freescale Semiconductor, IMEC, Intel, LG Electronics, LSI , Mentor Graphics, MIPS Technologies, National Instruments, nCore Design, NetLogic Microsystems, Netronome, Nokia Siemens Networks, OneAccess, Plurality, PolyCore Software, Qualcomm, RadiSys, Sage Electronic Engineering, Samsung Electronics, Siemens, Texas Instruments, Tilera, UAS Technikum Wien , UltraSoC Technologies, University of Houston, University of Tsukuba, and Wind River. Further information is available at www.multicore-association.org.