Parallelization Tool for Multi-Core Microcomputers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing parallelization methods for multi-core microcomputers cannot effectively parallelize dependency un-analyzable processes, limiting the number of unit processes that can be parallelized and resulting in inefficient processing operations.

Innovation Solution

A method and tool that obtain dependency information for un-analyzable processes, perform dependency analysis, and assign both analyzable and un-analyzable processes to multiple cores, ensuring dependency fulfillment, thereby enabling the parallelization of a greater number of unit processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If dependency analysis is performed only on analyzable processes using conventional methods, then the parallelization tool can generate parallel programs for those processes, but dependency un-analyzable processes cannot be parallelized, limiting the overall parallelization capability

Engineering Contradiction:
Improveparallelization capabilityVSAvoidhandling of un-analyzable processes
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments the parallelization process into two distinct pathways: one for dependency analyzable processes (using conventional dependency analysis) and another for dependency un-analyzable processes (using execution order information from profile data). This segmentation allows each pathway to be optimized independently, enabling the system to handle both types of processes effectively and increase overall parallelization capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces profile data as an intermediary element that captures execution order information for dependency un-analyzable processes. This profile data serves as a mediator between the parallelization tool and processes that cannot be directly analyzed for dependencies, enabling indirect determination of parallelization opportunities through observed execution patterns rather than direct static analysis.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the parallelization tool attempts to parallelize all processes including un-analyzable ones, then more processes can be parallelized, but incorrect parallelization may occur if dependency relationships are not properly determined

Engineering Contradiction:
Improvenumber of parallelized processesVSAvoidcorrectness of parallelization
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent employs feedback mechanisms where profile data collected from actual or simulated executions of the single program provides execution order information that feeds back into the parallelization process. This feedback loop allows the system to learn from observed behavior and make informed decisions about parallelization safety, ensuring that parallelized versions maintain correct execution semantics based on empirical evidence rather than speculative analysis.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary execution or simulation of the single program to collect profile data containing execution order information before performing parallelization. This preliminary action establishes a baseline of correct behavior that guides subsequent parallelization decisions, allowing the system to pre-determine safe parallelization opportunities without risking incorrect parallelization during the actual parallel program development.

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If conventional dependency analysis methods are used, then the analysis process is simple and fast, but it cannot determine dependencies for un-analyzable processes, reducing the number of parallelizable processes

Engineering Contradiction:
Improvesimplicity of dependency analysisVSAvoidnumber of parallelizable processes
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent merges two previously separate approaches: conventional dependency analysis (for analyzable processes) and execution-based profiling (for un-analyzable processes). By combining these methods into a unified parallelization framework, the system maintains the simplicity and speed of conventional analysis where applicable while augmenting it with profiling capabilities to handle additional process types, thereby increasing the total number of parallelizable processes without significantly complicating the overall process.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10379828B2Parallelization method, parallelization tool, and in-vehicle device
Publication Date: 2019.08.13 DENSO CORP
  • US10379828B2 patent drawing
  • US10379828B2 patent drawing
  • US10379828B2 patent drawing

AI summary

A computer is configured to generate a parallel program for a multi-core microcomputer from a single program for a single-core microcomputer, based on a dependency analysis of a bundle of unit processes in the single program. The computer obtains dependency information that enables dependency determination of dependency un-analyzable unit processes. Further, the computer performs a dependency analysis of dependency analyzable unit processes. Then, the computer assigns the dependency un-analyzable unit processes and the dependency analyzable unit processes respectively to multiple cores of the multi-core microcomputer, while fulfilling dependency among those processes, based on the obtained dependency information of the dependency un-analyzable unit processes and an analysis result of the dependency analyzable unit processes.