Parallelization Tool for Multicore Microcomputers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing parallelization methods struggle to accurately analyze dependencies between processes using both address and symbol specifications, leading to errors in determining data access and parallelization, which affects the generation of reliable parallel programs for multicore microcomputers.

Innovation Solution

A method that extracts and associates addresses and symbol names of accessed data items, allowing for accurate dependency analysis between processes, thereby determining parallelizable processes and generating error-free parallel programs for multicore microcomputers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If dependency analysis is performed using both address specification and symbol specification, then more data access patterns can be analyzed, but errors arise in determining whether processes access the same data

Engineering Contradiction:
Improvedata access specification capabilityVSAvoiddependency analysis accuracy
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces an intermediary mechanism (address-symboI association table) that maps symbol names to their corresponding memory addresses. This mediator enables the system to resolve and compare data references regardless of whether they are specified by address or symbol, thereby maintaining reliability while supporting both specification methods.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent performs preliminary action by pre-establishing the association between symbol names and memory addresses before dependency analysis. The address-symbol association table is constructed in advance, allowing the system to quickly resolve symbol references to their actual memory addresses during dependency analysis, thus preventing errors.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If parallelization is attempted without accurate dependency analysis, then program execution speed may improve, but errors in dependency determination lead to incorrect parallelization

Engineering Contradiction:
Improveprogram execution speedVSAvoidparallelization correctness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The address-symbol association table serves as a mediator that enables accurate comparison of data references across different specification methods. This ensures that dependency analysis correctly identifies when processes access the same data, preventing incorrect parallelization while still enabling speed improvements through valid parallelization opportunities.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the mechanical/naive approach of directly comparing address and symbol specifications with a systematic substitution method. By substituting symbol names with their corresponding addresses through the association table, the system creates a unified basis for dependency comparison, ensuring correctness.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Device complexity

If address and symbol specifications are treated as equivalent without verification, then dependency analysis becomes simpler, but errors arise in determining data access equivalence

Engineering Contradiction:
Improvedependency analysis complexityVSAvoiddata access equivalence determination
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent performs preliminary verification by pre-building the address-symbol association table that stores the mapping relationships. This preliminary action enables the system to precisely determine data access equivalence by looking up symbol-to-address mappings, rather than making unverified assumptions about equivalence.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a copied representation of the address-symbol relationships in the association table. This copy allows the system to verify equivalence by comparing against the stored mappings, ensuring measurement precision while maintaining manageable complexity through structured data organization.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10296316B2Parallelization method, parallelization tool, and in-vehicle apparatus
Publication Date: 2019.05.21 DENSO CORP
  • US10296316B2 patent drawing
  • US10296316B2 patent drawing
  • US10296316B2 patent drawing

AI summary

A method is for generating a parallel program for a multicore microcomputer from processes in a single program for a single core. The method includes extraction procedure, association procedure, and analysis procedure. The extraction procedure extracts (i) an extracted address of an accessed data item, which is among data items stored in a storage area together with the processes and accessed when each process is executed and (ii) an extracted symbol name of the accessed data item. The association procedure associates an associated address in the storage area storing the accessed data item of the extracted symbol name with the extracted symbol name. The analysis procedure analyzes a dependency between each process based on the extracted address and the associated address, and determines that two processes accessing an identical address have a dependency while determining that two processes not accessing an identical address have no dependency.