Cross-Language Call Overhead Reduction via Runtime Signature

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cross-language program calls in mixed environments result in significant overhead due to redundant runtime environment checks, especially when a low-level language program invokes a high-level language program, leading to wasteful computing resource usage.

Innovation Solution

A signature is set in the low-level program to indicate a transfer of control to a high-level language program, allowing the high-level program to omit environment checks by initializing a shared runtime environment with a dummy program and setting appropriate registers, mimicking the high-level language conventions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a low-level language program calls a high-level language program in a mixed environment, then the high-level program can perform its intended function, but redundant runtime environment checks cause significant overhead and waste computing resources

Engineering Contradiction:
Improveexecution efficiencyVSAvoidruntime overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-initializing the runtime environment for the high-level language before the actual program calls are made. A dummy high-level program is executed once to set up the runtime environment, including initializing data structures and setting default values. This preliminary setup allows subsequent calls from low-level programs to skip redundant environment checks and initialization steps, significantly reducing runtime overhead and improving execution efficiency.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the high-level program performs runtime environment checks on every call, then it ensures proper environment initialization, but this causes needless waste of computing resources when called repeatedly

Engineering Contradiction:
Improveenvironment verificationVSAvoidcomputing resource waste
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts the environment verification logic from the regular program execution path. Instead of performing full runtime environment checks on every call, the system separates the initialization phase (performed by the dummy program) from the execution phase (performed by actual programs). The extracted verification steps are eliminated from repeated execution, reducing computing resource waste while maintaining reliability through the preliminary initialization.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The runtime environment performs self-service by automatically detecting and utilizing the pre-initialized state. When a low-level program calls a high-level program, the runtime environment checks for the presence of initialized data structures and appropriate register settings, and if found, automatically skips redundant initialization and verification steps. This self-service mechanism maintains reliability while eliminating unnecessary computational overhead.

Inventive Principle:
Principle #25Self-service

3Productivity

If the high-level program omits environment checks, then execution time is reduced, but there is no assurance that the runtime environment has been properly initialized

Engineering Contradiction:
Improveexecution speedVSAvoidenvironment initialization assurance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces an intermediary dummy high-level program that serves as a bridge between the low-level calling program and the actual high-level program. This intermediary program performs the necessary environment initialization and sets up the runtime state before the actual program executes. The dummy program acts as a mediator that ensures proper environment setup while allowing the main program to omit checks and run at full speed, thus maintaining both reliability and execution speed.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10303493B2Performance acceleration in mixed-language applications
Publication Date: 2019.05.28 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10303493B2 patent drawing
  • US10303493B2 patent drawing
  • US10303493B2 patent drawing

AI summary

Methods and systems for cross-language program execution include setting a signature of a second programming language in a first program that is written in a first programming language. A second program that is written in the second programming language is called from the first program, such that the second program omits checks to verify a runtime environment for the second programming language based on the presence of the signature.