Multicore Technology Evolves into the De facto Standard for Embedded Applications



Multicore may have lost its buzz-word status, but continuing activity around the technology means it’s far from boring.

Multicore technology has become boring. That is to say, multicore isn’t the trendy topic that it was back in 2005. Semiconductor marketing dollars have moved on to other areas such as the Internet of Things (IoT). Truth is, multicore is very much alive and well—and it has transitioned into the de facto technology for many, if not most, application areas. High-performance networking chips are all multicore, as are all the application processors used in new smartphones and tablets. The automotive industry is moving to multicore, as is avionics, medical and industrial. There are now even microcontrollers that contain multiple cores. Furthermore, multicore has gone way beyond the homogeneous, symmetric multiprocessing (SMP) devices of the early days. We have available highly integrated devices that are powerful SoCs, containing heterogeneous processor cores and powerful hardware accelerators. But are these devices utilized efficiently?

Over the last decade, significant progress has been made on multicore hardware and software tools, operating systems and programming languages, to support the increasingly complex and powerful multicore and many-core devices. Despite the massive adoption of multicore, there are still many remaining challenges, issues and opportunities associated with leveraging the technology. For example, products with long lifecycles must include efficient development of safe and secure software that requires the determination of worst-case execution time and high-criticality components must prove absent of interference. For certification, control of behavior and traceable documentation is mandatory. In addition, there is no safety without security. This area of security and certification for multicore systems is something that the Multicore Association (multicore-association.org) will begin exploring, attempting to provide some standardization that will enable the use of multicore in these products.

On another note regarding the Multicore Association, inter-core communication is also getting lots of attention these days. The consortium’s communication API (MCAPI) is finding its way into many applications (while most are hidden, they are slowly starting to surface). One example, although it’s not intended as a commercial product (yet), is from the University of Houston (UH), which has been working on a project that utilizes MCAPI to tie together heterogeneous multicore embedded systems comprised of DSPs, GPUs and general-purpose processors. The main goal of this project is to use a high-level portable programming model to target embedded devices, allowing them to abstract all low-level details of the hardware and create a single code base for more than one platform. UH developed the runtime layer using OpenMP as a starting point, taking application code written using OpenMP, and then using MCAPI as OpenMP’s translation layer. Another example, from Polycore Software, continues to make headway with its Poly-Platform tool that provides MCAPI service calls that can be generated via GUI wizards, essentially allowing system designers to utilize flexible multicore topologies (i.e., portable).

One of the Multicore Association’s original goals for MCAPI was to create an API that allowed implementations with very small memory footprints. While it’s been demonstrated that this goal is easily met, the consortium is also discovering that with multicore entering the microcontroller domain, even smaller footprints are required. Another related factor is the use of multicore in low-end IoT edge nodes (realize that ‘multicore’ can imply core plus hardware accelerator). The Multicore Association will consider the creation of standardized MCAPI subsets that will address these evolving requirements. People interested in this should inquire at the Multicore Association for more information.

While we’ve barely scratched the surface on topics related to the adoption of multicore and we’ve indicated that multicore isn’t a buzz word anymore, it has become an integral part of embedded applications (not to mention the high-performance computing sector). As another proof point of this transition, take a look at the Multicore DevCon, a conference which started back in 2005. The audience of the early days consisted of curiosity seekers and ‘tire kickers.’ The conference, as well as the industry that it represents, has now become the backbone of the embedded industry. You cannot escape multicore, but now you must help ensure that you have the tools and standards to support your design efforts.


MarkusLevyHeadshot_onlineMarkus Levy is president of the Multicore Association and chairman of the Multicore Developer’s Conference. He is also the founder and president of EEMBC. Mr. Levy was previously a senior analyst at In-Stat/MDR and an editor at EDN magazine, focusing in both roles on processors for the embedded industry.

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • TwitThis

Tags: