Parallel Computing via On-the-Fly Code Transfer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing parallel computing methods require prior deployment of local code libraries on remote systems, which is inefficient and limits flexibility, as it necessitates significant setup efforts by system administrators and delays the execution of tasks.
Innovation Solution
A method that identifies service requests and breaks them into parallel computing tasks, allowing for on-the-fly transfer and execution of necessary data stacks and code libraries between local and remote systems, enabling parallel processing without prior code deployment, thereby eliminating the need for antecedent setup.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If local code libraries are deployed in advance on remote systems, then parallel computing can be performed, but significant setup efforts by system administrators are required and task execution is delayed
Solution Approach 1:
The system performs preliminary packaging of code libraries into portable executable files with embedded dependencies at the time of program creation or compilation. This preliminary action eliminates the need for later deployment setup, as the code is self-contained and ready for immediate execution on remote systems without requiring advance installation or configuration.
Solution Approach 2:
Instead of deploying and installing code libraries on remote systems, the invention creates portable copies of the code with all necessary dependencies embedded within executable files. These self-contained copies can be transferred and executed directly on remote systems without modifying the remote system's environment or requiring system administrator intervention.
2Adaptability or versatility
If local code libraries are copied to and configured at a cloud system, then remote execution is enabled, but the process requires significant setup efforts and is not available when needed
Solution Approach 1:
The code libraries are packaged as self-service executable files that contain all necessary dependencies and configuration information embedded within them. When transferred to remote systems, these self-contained executables can be executed directly without requiring system administrator setup, configuration, or installation, enabling immediate remote execution by end users.
Solution Approach 2:
The portable executable format is designed to be universally compatible with different remote computing environments and cloud systems. The self-contained nature of the packaged code allows it to execute on any system with the appropriate runtime environment, eliminating the need for system-specific configuration or installation procedures.
3Productivity
If computing resources are leveraged at a remote computer, then system efficiency increases, but prior code deployment is required which delays task execution
Solution Approach 1:
All code packaging and dependency resolution is performed in advance during the program compilation or creation phase. This preliminary action ensures that when the portable executable is transferred to remote computing resources, it can execute immediately without any deployment delay, thus maximizing both system efficiency and execution speed.
Data Source
AI summary
A method includes identifying a service request including a first and a second computing tasks. The first computing task includes a first program suite having a first data stack and a first code library. The second computing task includes a second program suite having a second data stack and a second code library. The method also includes, executing the first and the second computing tasks on the first and the second computing systems to produce first and second results, respectively. Executing the second computing task includes, transferring the second data stack and the second code library from the first computing system to the second computing system; producing a third data stack by executing the second code library on the second data stack; and transferring the third stack from the second computing system to the first computing system to produce the second results.


