Parallelization Method for Multicore Microcomputers with Conditional Branch Handling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing parallelization methods for generating parallel programs for multicore microcomputers from single-core programs fail to recognize conditional branch processing, leading to inefficient allocation of tasks and reduced multicore microcomputer efficiency due to unnecessary task execution.
Innovation Solution
A parallelization method and tool that extract processing patterns from single programs based on varying conditions, allocating tasks to cores only for executed conditions, thereby preventing unnecessary task allocation and maintaining multicore efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If static scheduling is performed based on data dependency without recognizing conditional branches, then parallel program generation is simplified, but multicore microcomputer efficiency is reduced due to unnecessary task allocation
Solution Approach 1:
The patent segments the single program into multiple processing patterns based on conditional branches, where each pattern represents a specific execution path. This segmentation allows the system to identify which tasks will actually be executed under different conditions, enabling precise task allocation to cores only for tasks that will run, thereby improving multicore efficiency while maintaining manageable complexity through structured division of the program flow
Solution Approach 2:
The patent introduces dynamic task allocation by analyzing conditional branches to determine which tasks are actually executed. Instead of static allocation of all tasks to all cores, the system dynamically adjusts task allocation based on the specific processing pattern that will be executed, ensuring that cores are assigned tasks only when those tasks are part of the active execution path, thus optimizing efficiency
2Ease of operation
If all task types are allocated to cores without condition analysis, then task allocation is straightforward, but cores execute unnecessary tasks reducing overall efficiency
Solution Approach 1:
The patent performs preliminary analysis of conditional branches during the parallelization compilation process to identify which tasks will actually be executed. By conducting this analysis in advance, the system can pre-determine the optimal task allocation for each processing pattern, avoiding the need for complex runtime decisions while ensuring that only necessary tasks are allocated to cores, thus preventing wasted computational resources
Data Source
AI summary
A parallelization method for generating a parallel program for a multicore microcomputer from multiple processes in a single program for a single-core microcomputer is provided. In the single program, there are multiple types of the processes and a combination of the types of processes to be executed varies according to condition. The parallelization method includes extracting processing patterns respectively representing the combinations of types in the conditions from the single program and allocating the processes to the cores for each of the extracted processing patterns to generate the parallel program.


