eSOL MBP Overview
The eSOL Model-Based Parallelizer (MBP) makes use of model-based designs to automatically generate parallel code for multi- and many-core systems with high reliability and performance.
Model-based development (MBD) enhances design quality and final system reliability, and is increasingly being adopted in applications with stringent safety demands, including in-vehicle ECUs and in the aerospace industry. Use of intelligent functions is growing in these applications, and with this comes a need for multi- and many-core technologies that offer excellent performance and power efficiency. Unfortunately, existing MBD and parallelization tools are not well suited to generating code that is optimized for multi- and many-core systems, finding it difficult to identify where parallelism can be used and to achieve the optimal allocation of parallel programs to cores while also ensuring safety and realtime performance.
eSOL MBP produces parallel code from C source code generated using a control model designed on the Simulink model-based design tool from MathWorks, which has a leading share of the market both in Japan and elsewhere. eSOL MBP can take account of the block structure of the control model, making it easier to achieve parallelism in the control algorithm in accordance with the designer’s intentions, something that is difficult to achieve by analyzing the C source code in isolation.
eSOL MBP is scheduled for release in April 2017.
* Click the diagram to display an enlargement.
Block structure extractionOpportunities for parallel execution are identified based on the individual blocks from the block diagram produced on Simulink. Analyzing the block diagram as well as the C source code makes it easier to identify data flows correctly from the signal lines in the diagram and achieve parallelism in the control algorithm in accordance with the designer’s intentions, something that is difficult to achieve by analyzing the C source code in isolation.
Performance estimationEstimates of execution performance are obtained based on architecture and performance information on the multi- or many-core processor to be implemented. These performance estimates use the XML-based Software-Hardware Interface for Multi-Many Core (SHIM) format of The Multicore Association.
Block to core assignmentBlocks able to be executed in parallel are grouped by critical path analysis and allocated to the appropriate core based on a minimum cut strategy.
Parallel code generationThe source code for the blocks allocated to each core is generated automatically.
Visualization of parallel structureThe parallel structure is presented in ways that are intuitive and easy to interpret by displaying the core allocation of each block. (Using color coding of core allocation, for example.)
eSOL MBP Renesas RH850 PILS Package (provisional name)
The eSOL MBP Renesas RH850 PILS Package (provisional name) provides support for processor-in-the-loop simulation (PILS) of the RH850 multi-core processor currently under development by Renesas Electronics. It is scheduled for release in the fall of 2016, in advance of eSOL MBP. The package includes a block structure extraction function, and a core assignment function based on accurate performance estimation using PILS.