editor's blog
Subscribe to EE Journal Daily Newsletter
8 + 8 =

Managing Multicore Tasks

We’ve looked in the past at some of the APIs put together by the Multicore Association, notably the MCAPI communications API (and its update) and the MRAPI resource management API. In the same spirit, they are now taking up the issue of task management.

The whole idea with multicore software is that a program can be decomposed into multiple pieces that can be run concurrently. How you do that partitioning can be a hard problem, and is receiving some tools attention as the multicore design process gets some automation. You might think of these pieces as threads, but, in fact, threads are typically a specific implementation in SMP systems. Alternative parallel configurations can include multiple independent programs (rather than threads), each with its own OS, or even simple run-to-completion programs on “bare metal,” i.e., with no OS (and, hence, no threading services) at all.

So rather than getting bogged down in worrying about whether these “pieces” of the program are threads or programs or whatever, they can be generically referred to as tasks. And, while SMP OSes can handle the management and scheduling of threads, there’s no general task management solution for non-SMP systems – or, more critically, there’s no general approach that works for both SMP and AMP, homogeneous and heterogeneous systems.

Even where threading services exist, they can have far too much overhead for many embedded programs. Including the cost of creating and destroying threads, the overhead can completely wipe out any theoretical gains that the parallel version was supposed to provide. If your program exploits fine-grained parallelism, with hundreds or more small tasks, then the thread management can take longer than the actual execution of the thread itself.

In order to address this, the Multicore Association is taking up the creation of a task management API, called MTAPI, in order to provide a general approach for all architectures, and one whose implementation can be tailored to limited resources as needed. The process is just starting, and they’re soliciting input and participants.

More info can be found in their release

Leave a Reply

featured blogs
Nov 22, 2017
While DAC is the focal point for the EDA industry, the test community travels in a slightly separate orbit. There are many conferences throughout the year, and around the globe, to help bridge the problems and solutions in academia and the industry. The most prestigious one i...
Aug 03, 2017
Strictly speaking it is not the fifth birthday of Mars Rover Curiosity, since it had been built over many years and its journey from Earth to Mars took months but it was five (Earth) years ago that Curiosity landed on Mars for a 90 day mission. And it is still trundling aroun...
Nov 20, 2017
When faced with the need for more of something, one possible solution is expansion. This could take many forms but one simple way is extending it to be greater in size, such as adding the dining room table leaves to fit more people around the Thanksgiving table. Samtec’s...
Nov 16, 2017
“Mommy, Daddy … Why is the sky blue?” As you scramble for an answer that lies somewhere between a discussion of refraction in gasses and “Oh, look—a doggie!” you already know the response to whatever you say will be a horrifyingly sincere “B...
Nov 07, 2017
Given that the industry is beginning to reach the limits of what can physically and economically be achieved through further shrinkage of process geometries, reducing feature size and increasing transistor counts is no longer achieving the same result it once did. Instead the...