Surrogate Process Creation for Parallel Launch Overhead
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The current method of launching parallel processes in a serial manner creates significant overhead in the system, impacting performance due to increased memory footprint and additional responsibilities of the launch mechanism.
Innovation Solution
A surrogate is created by the launcher to inherit communications channels and execute activities related to launching parallel processes, allowing the launcher to focus on other tasks and minimizing overhead, with the surrogate terminating once all processes are launched.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the launcher creates and manages all parallel processes directly, then process launch functionality is complete, but memory footprint and system overhead increase significantly
Solution Approach 1:
The patent divides the process launch functionality into two separate entities: the launcher and the surrogate. The launcher creates the surrogate process, which then inherits necessary resources and launches the parallel processes. This segmentation allows the launcher to offload the memory-intensive process creation tasks to the surrogate, reducing the launcher's memory footprint while maintaining complete process launch functionality.
Solution Approach 2:
The surrogate process acts as an intermediary between the launcher and the parallel processes. It inherits communications channels from the launcher and performs the actual process launch activities. This intermediary approach allows the launcher to minimize its involvement and memory usage while ensuring reliable process creation through the surrogate's execution of launch activities.
2Reliability
If the launcher handles all process creation responsibilities, then process management is comprehensive, but system performance deteriorates due to increased overhead
Solution Approach 1:
By segmenting the launcher's responsibilities into two parts - the launcher itself and the surrogate process - the system distributes the computational overhead. The launcher retains comprehensive process management capabilities while delegating the actual process creation work to the surrogate, thereby maintaining comprehensiveness while improving system performance through reduced overhead.
Solution Approach 2:
The surrogate process is self-contained and executes the process launch activities independently once created by the launcher. It inherits the necessary communications channels and resources, then autonomously performs the parallel process launches without requiring continuous involvement from the launcher. This self-service approach reduces the launcher's overhead and improves overall system performance.
3Device complexity
If parallel processes are launched in a serial manner, then resource allocation is simplified, but launch time and system overhead increase
Solution Approach 1:
The launcher performs preliminary actions by creating the surrogate process and establishing all necessary communications channels and resources before the actual parallel process launches begin. The surrogate then executes the process launches, potentially in parallel, having already received all necessary resources. This preliminary setup enables more efficient process creation without requiring complex real-time resource allocation during the launch sequence.
Data Source
AI summary
A system and method for launching parallel processes on a server configured to process a number of parallel processes. A request is received from a parallel application to start a number of parallel processes. In response to this request a launcher creates a surrogate. The surrogate inherits communications channels from the launcher. The surrogate then executes activities related to the launch of the parallel processes, and then launches the parallel processes. The parallel processes are launched and the surrogate is terminated.


