Parallelization method, parallelization tool, and in-vehicle device

US10228948B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10228948-B2
Application numberUS-201715614771-A
CountryUS
Kind codeB2
Filing dateJun 6, 2017
Priority dateJun 13, 2016
Publication dateMar 12, 2019
Grant dateMar 12, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A computer obtains invalidation information that shows ignorable data dependency relationships from among a plurality of data dependency relationships, and extracts a synchronous-dependent relationship from among the ignorable data dependency relationships that are shown as a write-write to the same data by the invalidation information. Then, the computer generates a parallel program for maximizing the number of parallelized macro tasks by ignoring other data dependency relationships other than the extracted synchronous-dependent relationship while preventing simultaneous write to the same data by two macro tasks having the synchronous-dependent relationship.

First claim

Opening claim text (preview).

What is claimed is: 1. A parallelization method for generating a parallel program for a multi-core microcomputer, (i) based on a single program for a single-core microcomputer and (ii-a) by performing a data dependency analysis about data dependency relationships among unit processes of the single program respectively accessing a same data and (ii-b) by parallelizing parallelizable unit processes of the single program, the parallelization method comprising: an extraction procedure (i) obtaining invalidation information indicative of an ignorable relationship among a plurality of the data dependency relationships, and (ii) extracting from the invalidation information a write-write data dependency relationship showing an access to the same data as a synchronous-dependent relationship; and a generation procedure generating the parallel program for parallelizing a maximum number of the parallelizable unit processes, while preventing data abnormality by (a) ignoring other data dependency relationships other than the synchronous-dependent relationship, and (b) preventing simultaneous execution of the two unit processes having the synchronous-dependent relationship. 2. The parallelization method of claim 1 , wherein the extraction procedure (i) obtains contemporaneously mandatory information that shows, from among a plurality of data, a specific data that must abide by a control restriction on a timing of write and read, and (ii) extracts, from among the data dependency relationships shown by the invalidation information, a data dependency relationship including the write and read of the specific data that is shown by the contemporaneously mandatory information, the extracted data dependency relationship extracted as the synchronous-dependent relationship, and the generation procedure (iii) ignores, from among the data dependency relationships shown by the invalidation information, the data dependency relationship that is not extracted by the extraction procedure, and (iv) generates the parallel program that achieves the maximum number of parallelization of the unit processes while (a) preventing simultaneous write to the same data by the two unit processes having the synchronous-dependent relationship and (b) maintaining the control restriction on the timing. 3. The parallelization method of claim 1 , wherein the generation procedure generates the parallel program by either maintaining or reversing a processing order of the two unit processes relative to the processing order of the two unit processes in the single program. 4. The parallelization method of claim 1 , wherein the extraction procedure exhaustively generates, for all of the extracted synchronous-dependent relationships, data dependency patterns by either maintaining or reversing a processing order of the two unit processes relative to the processing order of the two unit processes in the single program. 5. The parallelization method of claim 4 further comprising, in the generation procedure: a calculation procedure calculating a degree of parallelization for each of a plurality of scheduling results based on a scheduling of each of the generated data dependency patterns; and a determination procedure generating the parallel program with the number of parallelized unit processes maximized by adopting a scheduling result that has a maximum degree of parallelization calculated by the calculation procedure. 6. The parallelization method of claim 1 , wherein the plurality of unit processes of the single program are divisible in terms of dividing into a plurality of function groups, and the invalidation information shows, as the ignorable relationship, the data dependency relationship among the unit processes that are divided into respectively different function groups. 7. A parallelization tool comprising: a processor and a memory, the processor executes instructions in the memory to generate a parallel program for a multi-core microcomputer, (i) based on a single program for a single-core microcomputer and (ii-a) by performing a data dependency analysis about data dependency relationships among unit processes of the single program respectively accessing a same data and (ii-b) by parallelizing parallelizable unit processes of the single program; (i) obtain invalidation information indicative of an ignorable relationship among a plurality of the data dependency relationships and (ii) extract from the invalidation information a write-write data dependency relationship showing an access to the same data as a synchronous-dependent relationship; and generate the parallel program for parallelizing a maximum number of the parallelizable unit processes while preventing data abnormality by (i) ignoring other data dependency relationships other than the synchronous-dependent relationship and (ii) preventing simultaneous execution of the two unit processes having the synchronous-dependent relationship. 8. The parallelization tool of claim 7 , wherein the processor is further configured to (i) obtain contemporaneously mandatory information that shows, from among a plurality of data, a specific data that must abide by a control restriction on a timing of write and read, and (ii) extract, from among the data dependency relationships shown by the invalidation information, a data dependency relationship including the write and read of the specific data that is shown by the contemporaneously mandatory information, the extracted data dependency relationship extracted as the synchronous-dependent relationship, and (iii) ignore, from among the data dependency relationships shown by the invalidation information, the data dependency relationship that is not extracted, and (iv) generate the parallel program that achieves the maximum number of parallelization of the unit processes while (a) preventing simultaneous write to the same data by the two unit processes having the synchronous-dependent relationship and (b) maintaining the control restriction on the timing. 9. The parallelization tool of claim 7 , wherein the processor is further configured to generate the parallel program by either maintaining or reversing a processing order of the two unit processes relative to the processing order of the two unit processes in the single program. 10. The parallelization tool of claim 7 , wherein the processor is further configured to exhaustively generate, for all of the extracted synchronous-dependent relationships, data dependency patterns by either maintaining or reversing a processing order of the two unit processes relative to the processing order of the two unit processes in the single program. 11. The parallelization tool of claim 10 , wherein the processor is further configured to calculate a degree of parallelization for each of a plurality of scheduling results based on a scheduling of each of the generated data dependency patterns; and generate the parallel program with the number of parallelized unit processes maximized by adopting a scheduling result that has a maximum degree of parallelization which is calculated. 12. The parallelization tool of claim 7 , wherein the plurality of unit processes of the single program are divisible in terms of dividing into a plurality of function groups, and the invalidation information shows, as the ignorable relationship, the data dependency relationship among the unit processes that are divided into respectively different function groups. 13. An in-vehicle device comprising: a multi-core microcomputer having a plurality of cores; and a parallel program having, based on a plurality of unit processes of a single program for a single-core microcomputer, the plurality

Assignees

Inventors

Classifications

  • Parallelism detection · CPC title

  • Multiprogramming arrangements · CPC title

  • Dependency mechanisms, e.g. register scoreboarding · CPC title

  • G06F8/433Primary

    Dependency analysis; Data or control flow analysis · CPC title

  • G06F9/38Primary

    Concurrent instruction execution, e.g. pipeline or look ahead · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10228948B2 cover?
A computer obtains invalidation information that shows ignorable data dependency relationships from among a plurality of data dependency relationships, and extracts a synchronous-dependent relationship from among the ignorable data dependency relationships that are shown as a write-write to the same data by the invalidation information. Then, the computer generates a parallel program for maximi…
Who is the assignee on this patent?
Denso Corp
What technology area does this patent fall under?
Primary CPC classification G06F8/433. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 12 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).