Function-Compute Engine Association for Scalable Parallel Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computational device pairing schemes fail to scale for multi-threaded functions and are difficult to implement, limiting the ability to utilize multiple compute engines simultaneously.
Innovation Solution
An association scheme that enables computational device functions to be associated with multiple compute engines using association identifiers, managed through create, modify, and delete commands, facilitating simultaneous execution and discovery of available compute engines.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If existing computational device pairing schemes are used, then implementation is straightforward, but the system cannot scale for multi-threaded functions and cannot utilize multiple compute engines simultaneously
Solution Approach 1:
The patent segments the pairing relationship into function-level associations rather than direct compute engine assignments. Each function can be associated with multiple compute engines through function association identifiers, allowing independent scaling of function-execution mappings without increasing overall system complexity
Solution Approach 2:
The function association identifier mechanism provides universal applicability across different function types and compute engine configurations. A single association identifier can represent multiple compute engines, enabling one mechanism to handle diverse execution scenarios including single-threaded and multi-threaded functions
2Ease of operation
If existing pairing schemes are used, then the system structure is simple, but it is difficult to manage namespaces and discover available compute engines
Solution Approach 1:
The function association identifier acts as an intermediary between functions and compute engines. Instead of directly managing compute engine assignments, the system manages function associations, which automatically propagate to compute engines. This intermediary layer simplifies namespace management while enabling comprehensive compute engine discovery
Solution Approach 2:
The system incorporates feedback mechanisms where compute engine availability and capabilities are discovered through function association queries. The management server receives requests for compute engine information and returns relevant details, enabling dynamic discovery and adaptation to available resources
3Productivity
If functions are associated with multiple compute engines, then simultaneous execution capability is enabled, but the association management becomes complex
Solution Approach 1:
The patent merges multiple compute engine associations into a single function association identifier. Instead of managing separate pairs for each compute engine, the system creates one association entry that encompasses multiple compute engines, enabling simultaneous execution while simplifying management through consolidation
Solution Approach 2:
The system performs preliminary association setup before execution, where function-compute engine mappings are established in advance through create association commands. This preliminary configuration enables subsequent execute commands to efficiently dispatch to multiple compute engines without complex runtime decision-making
Data Source
AI summary
A method may include creating an association identifier based on an association between a computational device function and a compute engine of a computational device, and invoking an execute command to perform an execution of the computational device function using the compute engine, wherein the execute command uses the association identifier. The compute engine may be a first compute engine, and the association may be further between the computational device function and a second compute engine of the computational device. The execute command may perform an execution of the computational device function using the second compute engine. The execution of the computational device function using the first compute engine and the execution of the computational device function using the second compute engine may overlap. The execute command may include the association identifier. The creating the association identifier may include invoking a create association command.


