Software Execution Parallelization Across Distributed Processor Nodes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software applications struggle to efficiently execute on multiprocessor or distributed systems, particularly digital twins, requiring specialized coding and expert skills, and often result in suboptimal performance due to a lack of automated parallelization and distribution methods.

Innovation Solution

The method involves intercepting instructions executed by a processor core, using a machine learning model to generate commands for further execution on multiple processor cores, allowing automated parallel or serial execution without specialized coding, and utilizing a communication protocol for distributed processing across a digital system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If software applications are manually parallelized for multiprocessor systems, then execution efficiency is improved, but the complexity of software development increases and requires expert skills

Engineering Contradiction:
Improveexecution efficiencyVSAvoidsoftware development complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system employs AI agents that automatically analyze software applications and generate parallelization strategies without human intervention. The AI engine executes the application, intercepts instructions, and autonomously determines optimal parallelization approaches, eliminating the need for expert developers to manually rewrite code for multiprocessor systems.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

An AI engine acts as an intermediary between the software application and the multiprocessor system. It intercepts instructions from the application, analyzes them, and translates them into parallelized execution commands distributed across multiple processor cores, bridging the gap between sequential software design and parallel hardware execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Power

If software applications are executed on distributed systems, then processing capacity is improved, but coordination and synchronization become more difficult

Engineering Contradiction:
Improveprocessing capacityVSAvoidcoordination complexity
Core Design Contradiction:
PowerVSDevice complexity

Solution Approach 1:

The AI engine continuously monitors the execution state of the application across distributed processor cores, collecting feedback on performance metrics and synchronization status. It uses this feedback to dynamically adjust parallelization strategies, optimize task distribution, and resolve coordination issues in real-time, improving both processing capacity and coordination efficiency.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If automated parallelization is implemented, then the need for expert skills is reduced, but the complexity of the execution system increases

Engineering Contradiction:
Improveease of software executionVSAvoidexecution system complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system extracts the complex parallelization logic from the software application itself and places it in a separate AI engine. The application code remains unchanged and simple to write, while the AI engine handles all the complexity of analyzing, parallelizing, and coordinating execution across multiple processors, making software development easier without permanently increasing application complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS20260072694A1Coordinated parallelization and execution of software applications
Publication Date: 2026.03.12 SOPHIC COMPUTE INC
  • US20260072694A1 patent drawing
  • US20260072694A1 patent drawing
  • US20260072694A1 patent drawing

AI summary

A method for sharing application parameters (including current and future resource requirements) across a multiple node computing system to enable nodes and aggregates of nodes to further parallelize and further optimize parallel application execution. A method according to the invention includes executing the following steps on multiple processing elements: (i) beginning execution of a given software application, (ii) determining resources to be used for further execution of that application, taking into account availability of resources on that and at least another processing element, (iii) determining an availability of resources on that processing element for execution of other software applications, taking into account the determination of step (ii), (iv) executing the given software application on multiple processing elements of the digital system, and (v) making the determination of step (iii) available to processing elements for their resource determinations.