Optimistic Execution Path Switching in Bounded Blocks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing techniques for bounded-execution blocks in computer systems are inefficient due to repeated execution of the primary path, which often fails or is less optimal, leading to reduced performance and cautious programmer behavior to avoid performance issues.

Innovation Solution

A system dynamically determines whether the primary or secondary path is preferable within a bounded-execution block and modifies the instructions to execute the secondary path when the primary path is less optimal, using information gathered during execution and hardware status queries, and reverts when conditions improve.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the primary path is executed repeatedly in bounded-execution blocks, then the code structure remains simple and optimistic execution is maintained, but execution time increases and performance decreases when the primary path frequently fails

Engineering Contradiction:
Improveexecution success rateVSAvoidexecution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent dynamically switches between the primary optimistic path and the secondary safe path based on runtime conditions. A path selection mechanism monitors execution context and automatically chooses the most appropriate path, transforming the static code structure into a dynamic system that adapts to changing conditions to avoid repeated failures and reduce execution time

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements a feedback mechanism where the system monitors the execution outcomes of the primary path and uses this information to determine whether to switch to the secondary path. This feedback loop allows the system to learn from previous execution failures and adjust its behavior accordingly, preventing repeated time-wasting failures

Inventive Principle:
Principle #23Feedback

2Productivity

If programmers use optimistic execution techniques more aggressively, then productivity and execution speed improve, but system stability decreases and performance problems occur in unusual situations

Engineering Contradiction:
Improveexecution speedVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent changes the execution parameter by dynamically switching between two different execution paths with different characteristics. The primary path uses optimistic execution for high speed, while the secondary path uses conservative execution for stability. This parameter change allows the system to achieve both high productivity under normal conditions and high reliability when unusual situations occur

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces an intermediary path selection mechanism that mediates between the aggressive optimistic primary path and the conservative secondary path. This intermediary monitors system state and determines which path to execute, allowing the system to benefit from aggressive optimization when safe while maintaining stability when needed

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of manufacture

If the primary path is used in bounded-execution blocks, then code complexity is reduced and ease of manufacture is improved, but execution efficiency deteriorates when primary path failures are frequent

Engineering Contradiction:
Improvecode simplicityVSAvoidexecution efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent segments the execution path into a primary path for normal optimistic execution and a secondary path for failure handling. This segmentation allows the code to maintain simplicity in the primary path while adding efficiency through the secondary path, resolving the contradiction between code simplicity and execution efficiency

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8065670B2Method and apparatus for enabling optimistic program execution
Publication Date: 2011.11.22 ORACLE AMERICAN INC
  • US8065670B2 patent drawing
  • US8065670B2 patent drawing
  • US8065670B2 patent drawing

AI summary

A system that reduces overly optimistic program execution. During operation, the system encounters a bounded-execution block while executing a program, wherein the bounded execution block includes a primary path and a secondary path. Next, the system executes the bounded execution block. After executing the bounded execution block, the system determines whether executing instructions on the primary path is preferable to executing instructions on the secondary path based on information gathered while executing the bounded-execution block. If not, the system dynamically modifies the instructions of the bounded-execution block so that during subsequent passes through the bounded-execution block, the instructions on the secondary path are executed instead of the instructions on the primary path.