Source Code Critical Path Segmentation for Multiprocessor Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multiprocessor systems, existing methods for reducing program execution time are limited by the critical path processing speed, which cannot be significantly shortened, and require extensive preparation and expensive hardware for simulation testing, especially in full-vehicle Hardware in the Loop Simulation (HILS) systems.
Innovation Solution
A method that identifies and cuts the critical path of a program into multiple process blocks, assigns these blocks to individual processors, and uses speculative execution to optimize processing time, allowing for parallel execution and minimizing inter-processor communication times, thereby improving processing speed and reducing the need for expensive hardware.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional critical path scheduling is used to assign processes to processors, then the program can be executed in parallel, but the execution time cannot be reduced below the critical path length
Solution Approach 1:
The critical path is segmented into multiple sub-critical paths by identifying independent process blocks that can be executed in parallel. The scheduling unit divides the original critical path into several segments, each assigned to different processors, thereby reducing the overall execution time while maintaining parallel processing capability
Solution Approach 2:
The patent implements dynamic scheduling that adapts to runtime conditions by recalculating critical paths and reassigning processes dynamically. This allows the system to optimize execution time based on actual processor availability and task completion status, rather than using static assignment
2Reliability
If Hardware in the Loop Simulation (HILS) is used for testing ECUs, then real-time testing can be performed, but expensive hardware devices and extensive physical wiring are required
Solution Approach 1:
The patent creates software-based copies of ECU functionalities and vehicle systems that can be executed on standard computer hardware. Instead of requiring physical ECU hardware connected through complex wiring, the system uses virtualized environments to replicate the behavior of actual ECUs, maintaining testing accuracy while eliminating hardware complexity
Solution Approach 2:
The patent replaces the mechanical and physical hardware system of HILS with a software-based simulation system. By substituting physical ECUs and wiring with virtualized software models that run on standard computers, the system eliminates the need for specialized hardware while preserving the ability to perform real-time testing
3Productivity
If the critical path is not optimized, then process assignment is simple, but program execution time is excessive
Solution Approach 1:
The patent performs preliminary analysis of the program to identify the critical path and process blocks before execution. By pre-calculating the critical path and preparing process assignments in advance, the system reduces runtime complexity while optimizing execution speed, as the heavy computational work is done during the analysis phase rather than during actual execution
Data Source
AI summary
A method, system, and computer readable article of manufacture to enable parallel execution of a divided source code in a multiprocessor system. The method includes the steps of: inputting an original source code by an input device into the computing apparatus; finding a critical path in the original source code by a critical path cut module; cutting the critical path in the original source code into a plurality of process block groups by the critical path cut module; and dividing the plurality of process block groups among a plurality of processors in the multiprocessor system by a CPU assignment code generation module to produce the divided source code. The system includes an input device; a critical path cut module; and a CPU assignment code generation unit to produce the divided source code. The computer readable article of manufacture includes instructions to implement the method.


