Parallel Programming Error Construct for Exception Handling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current parallel programming systems face challenges in error handling, leading to premature termination of parallel programs when an error occurs, as they lack effective mechanisms to manage and propagate exceptions across multiple software resources.
Innovation Solution
A parallel programming error construct, such as the 'try/catch' mechanism, is introduced, where software units of execution can detect errors and signal other units to execute an error-handling portion, allowing the program to continue execution and provide information for display.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional error handling is used in parallel programs, then error detection is possible, but the program terminates prematurely when an error occurs
Solution Approach 1:
The patent divides error handling into separate segments: error detection in a first portion of parallel code, error signaling mechanism, and error handling in a second portion. This segmentation allows different parts of the parallel program to handle errors independently, preventing premature termination while maintaining reliability.
Solution Approach 2:
The patent introduces an intermediary error signaling mechanism that communicates error states between parallel software resources. This mediator allows error information to be propagated without forcing immediate program termination, enabling continuous execution with proper error tracking.
2Productivity
If parallel programs execute on multiple software resources, then processing speed increases, but error propagation becomes difficult
Solution Approach 1:
The patent implements feedback mechanisms where error information from any software resource is communicated back to all other resources. This feedback loop ensures that error information is propagated throughout the parallel system without disrupting the high-speed parallel execution, maintaining both productivity and information integrity.
3Reliability
If error detection is implemented in parallel programs, then reliability improves, but system complexity increases
Solution Approach 1:
The patent extracts error handling logic from the main parallel execution flow into separate error handling portions. This extraction reduces the complexity of the main parallel code while maintaining comprehensive error detection capabilities, as error handling becomes a distinct, manageable component rather than being embedded throughout the parallel execution.
Data Source
Figure 1
Figure 2
Figure 3A
AI summary
A system receives a program, allocates the program to a first software unit of execution (UE) and a second software UE, executes a first portion of the program with the first and second software UEs in parallel, and determines whether an error is detected during execution of the first portion of the program by the first and second software UEs. The system also sends a signal, between the first and second software UEs, to execute a second portion of the program when the error is detected in the first portion of the program, executes the second portion of the program with the first and second software UEs when the error is detected, and provides for display information associated with execution of the first portion and the second portion of the program by the first and second software UEs.