Hybrid Execution Model Switching for Task-Specific Computing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems often rely on either code-based or data-based execution models exclusively, failing to leverage the advantages of both models effectively, leading to suboptimal performance in various applications.

Innovation Solution

Techniques for transitioning seamlessly between code-based and data-based execution models, allowing systems to switch dynamically between these models based on suitability for specific tasks, thereby enhancing performance by utilizing the strengths of both models.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a computing system uses only code-based execution model, then the system has simple architecture and ease of operation, but the system cannot leverage the performance advantages of data-based execution for certain tasks

Engineering Contradiction:
Improveexecution model adaptabilityVSAvoidsystem architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The computing system is designed to support multiple execution models (code-based and data-based) within a single unified architecture. The processor can dynamically switch between Von Neumann code-based execution and dataflow-based execution, making the system universal enough to handle diverse computational tasks optimally while maintaining a single hardware platform

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system implements dynamic switching between execution models based on task requirements. The processor can transition from code-based to data-based execution and vice versa during runtime, allowing the system to adapt its execution paradigm dynamically rather than being fixed to a single model

Inventive Principle:
Principle #15Dynamics

2Productivity

If a computing system uses only data-based execution model, then the system can achieve high performance for data-intensive tasks, but the system loses the simplicity and broad compatibility of code-based execution

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidexecution model simplicity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The computational workload is segmented into different phases or tasks that can be executed using appropriate execution models. Code-based execution handles control-flow-intensive segments while data-based execution handles data-intensive segments, allowing each segment to be optimized independently for its specific requirements

Inventive Principle:
Principle #1Segmentation

3Productivity

If a computing system switches between execution models, then the system can optimize performance for different tasks, but the system introduces complexity in managing transitions between models

Engineering Contradiction:
Improvetask-specific performanceVSAvoidexecution model switching complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system employs self-service mechanisms where the execution model selection and transition management are handled automatically by the system itself rather than requiring external intervention. The processor can autonomously determine when to switch between code-based and data-based execution based on task characteristics, reducing the complexity burden on users

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12474901B2Transitioning between code-based and data-based execution forms in computing systems and environments
Publication Date: 2025.11.18 TERADATA US INC
  • US12474901B2 patent drawing
  • US12474901B2 patent drawing
  • US12474901B2 patent drawing

AI summary

Techniques for transitioning between code-based and data-based execution forms (or models) are disclosed. The techniques can be used to improve the performance of computing systems by allowing the execution to transition from one of the execution models to another one of the execution models that may be more suitable for carrying out the execution or effective processing of information in a computing system or environment. The techniques also allow switching back to the previous execution model when that previous model is more suitable than the execution model currently being used. In other words, the techniques allow transitioning (or switching) back and forth between a data-based and code-based execution (or information processing) models.