editor's blog
Subscribe Now

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
Mar 21, 2023
Let's catch you up on what's been going on here at Cadence Fidelity CFD. Events You can find these at any time by going to the Events page on cadence.com and selecting CFD from the Technology menu. NVIDIA GTC, 20-23 Mar Join us virtually at the NVIDIA GTC Developers...
Mar 21, 2023
We explain computational lithography and explore how our partnership with NVIDIA accelerates semiconductor scaling and the chip design flow in the AI age. The post How Synopsys and NVIDIA Are Accelerating Semiconductor Scaling in the AI Age appeared first on New Horizons for...
Mar 10, 2023
A proven guide to enable project managers to successfully take over ongoing projects and get the work done!...

featured video

Level Up Your Knowledge!

Sponsored by Mouser Electronics

Feeling behind in the game? Mouser's newsletter and technical resource subscriptions will ensure that your skills are next level! Set your preferences and customize your subscription to power up your knowledge today!

Click here for more information

featured chalk talk

Analog in a Digital World: TRIMPOT® Trimming Potentiometers
Sponsored by Mouser Electronics and Bourns
Trimmer potentiometers are a great way to fine tune the output of an analog circuit and can be found used in a wide variety of applications. In this episode of Chalk Talk, Patricia Moorman from Bourns and Amelia Dalton break down the what, where, how, and why of trimpots and the benefits that Bourns trimpots can bring to your next design.
Feb 2, 2023
6,318 views