Simplifying the hard part of multicore: partitioning code
Here is another seminar session to note, at Embedded Live. Simplifying the Hard Part of Multicore: Partitioning Code – it will be presented by Stefan Holdermans, Software Development Engineer at Vector Fabrics, on the Wednesday (October 20, 12:30pm – 1:30pm).
It will be an opportunity to learn a new methodology for parallelizing sequential embedded C code, one that makes the process more tractable than current manual techniques.
Aimed at an “Intermediate” level audience, a prerequisite is basic familiarity with multicore (users that have done manual partitioning will gain the most, says Stefan).
One of the barriers slowing an enthusiastic transition to embedded multicore is the difficulty of parallelizing your functionality. Especially with the C language, subtle dependencies, often due to “clever” pointer use, can create a design nightmare. The elusive bugs that can result from incorrect partitioning or missing data synchronization can add weeks of frustrating debug time. While tools are available for a few select aspects of multicore implementation, designers have been on their own to do the difficult partitioning job the best way they can. Information on dependencies is hard to obtain, making the partitioning decisions into a guessing game, and implementation involves many tedious steps, any one of which, if missed, could send the project into debug purgatory. In this session, you’ll learn why manual partitioning is so hard, and you’ll see a new methodology and tool that address the hard partitioning problem directly. Partitioning becomes much simpler once you are given a list of known-safe partitioning choices and detailed instructions on how to implement the results. Such an approach can dramatically lower the risk of moving to multicore.