editor's blog
Subscribe Now

Multicore and Concurrency

In this week’s multicore automation article, we talked about multicore and we talked about concurrency. It’s easy to conflate these two concepts, so an important distinction should be drawn. The terminology isn’t particularly precise here, but the notions are.

“Multicore” typically refers to a computing platform. The number associated with it is the number of cores available for running a program. This number is completely independent of the program being run (although for embedded systems, it may have been designed with a specific program in mind).

“Concurrency” is a property of a program. It reflects how easy it is to pull apart and parallelize. It has nothing to do with a computing platform. A given algorithm can be designed with more or less opportunity for concurrency.

In a perfect world, the multicore structure matches the concurrency of the program being run. In the real world, a given program may need to be made to work on a number of different platforms. The more concurrency opportunities there are in a program, the more it can be optimized for different multicore platforms. If it’s really only possible to split a program in two, then a four-core platform will be no better than a two-core platform.

For this reason, it can be beneficial to optimize your program for as much concurrency as possible so that it can be partitioned in many different ways over many different platforms.

Leave a Reply

featured blogs
Jul 20, 2018
https://youtu.be/KwrfcMtbMDM Coming from CDNLive Japan (camera Asushi Tanaka) Monday: Nicolas's Recipe for Digital Marketing in EDA Tuesday: Embargoed announcement Wednesday: Trends, Technologies, and Regulation in China's Auto Market Thursday: Breakfast Bytes Guide...
Jul 19, 2018
In the footer of Samtec.com, we'€™ve always made it easy to contact us by phone, email, or live chat (even fax back in the day!). To continue to progress this theme, you'€™ll now find a new helpful tool in the footer area of Samtec.com. This tool will match you up with yo...
Jul 16, 2018
Each instance of an Achronix Speedcore eFPGA in your ASIC or SoC design must be configured after the system powers up because Speedcore eFPGAs employ nonvolatile SRAM technology to store the eFPGA'€™s configuration bits. Each Speedcore instance contains its own FPGA configu...
Jul 12, 2018
A single failure of a machine due to heat can bring down an entire assembly line to halt. At the printed circuit board level, we designers need to provide the most robust solutions to keep the wheels...