Method and Device for Inserting Synchronization Commands into Program Sections of a Program

Publication: WO2013091908A1
Published: 2013-06-27
Family Size: 1
Granted: No

Simple SummaryContent extracted from patent full text and abstract with AI.

This patent describes a method and device for automatically inserting synchronization commands into different sections of a computer program to ensure correct and reliable data access when parallelizing code. Specifically, it analyzes data dependencies between program parts that share resources, and automatically inserts 'enable' and 'wait' commands after writing and before reading these shared resources respectively, using condition variables to avoid race conditions and improper data usage in parallel execution.

Use CasesContent extracted from patent full text and abstract with AI.

  • Automatic parallelization of legacy sequential code for modern multi-core processors.
  • Development of industrial automation software (e.g., for programmable logic controllers) that require safe parallel operations.
  • Enhancement of software development tools (e.g., compilers or IDEs) to insert synchronization primitives without programmer intervention.
  • Prevention of data races in embedded systems and real-time applications requiring strict data consistency.
  • Improvement of reliability in safety-critical systems, such as automotive control software, where parallel tasks must synchronize on shared data.

BenefitsContent extracted from patent full text and abstract with AI.

  • Reduces the risk of human errors related to manual synchronization, minimizing software bugs and race conditions.
  • Automates the synchronization process, saving development time and increasing the productivity of programmers.
  • Ensures that parallelized programs preserve the correct execution order and data consistency of the original sequential version.
  • Optimizes the use of processor resources by allowing safe concurrent access to shared data, improving performance.
  • Detects and eliminates unnecessary or redundant synchronization points to further optimize execution speed and avoid inefficiencies.
  • Enhances software reliability and safety in critical applications by providing proven, systematic synchronization techniques.

Technical Classifications (CPCs)

Main Classifications

Physics & Measurement

Sub Classifications

Computing & Calculating

CPC Codes

G06F8/456G06F8/458

Inventors & Applicants

Applicants

Siemens Ag

Univ Friedrich Alexander Er

Kempf Stefan

Veldema Ronald

Philippsen Michael

Wieczorek Michael

Patent Abstract

A device and a method (100) for inserting synchronization commands (41, 42) into program sections (PA1, PA2) of a program (10, 12) are provided for the synchronization of data. To this end, an enable command (41) is automatically inserted after a write command (31) of a first program section (PA1) to write to a resource (SSi) that is used by the first program section (PA1) and a second program section (PA2) if the write command (31) to write to the resource (SSi) is to be executed by the first program section (PA1) before a read command (32) of the second program section (PA2) to read the resource (SSi); an execution of the enable command (41) places a condition variable (c) into a set state. A wait command (42) to wait for the set state of the condition variable (c) is automatically inserted before the read command (32) to read the resource (SSi), an execution of the wait command (42) causing the second program section (PA2) to wait until the condition variable (c) is set before continuing processing of the second program section (PA2).

Key Information

Publication No.

WO2013091908A1

Family ID

46506330

Publication Date

2013-06-27

Application No.

EP2012062571W

Application Date

2012-06-28

Priority Date

2011-12-20

Granted

No

Possible Cooperation

For further information please contact the transfer office.