Method and Device for Inserting Synchronization Commands into Program Sections of a Program
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
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.