Dynamic Configuration for Parallel Processing Jobs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems for load balancing during parallel processing employ a one-size-fits-all approach, leading to inefficient use of computing resources, particularly when handling many smaller jobs, as they use static configuration files that do not adapt to the actual job sizes, resulting in resources being tied up and unavailable for other jobs.
Innovation Solution
A parallel processing system that dynamically generates configuration files for each job, adjusting the number of parallel partitions and container size based on specific job parameters, and includes randomized scratch directories to optimize resource utilization and balance input/output operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If static configuration files are used for all parallel computing jobs, then configuration simplicity is maintained, but computing resources are inefficiently utilized and tied up
Solution Approach 1:
The patent implements dynamic configuration file generation that adapts to each job's specific requirements. Instead of using static configuration files for all jobs, the system dynamically creates configuration files based on job parameters such as queue size, parallel partitions, and container size, allowing resource allocation to match actual job demands
Solution Approach 2:
The system changes key parameters (container size, parallel partitions, scratch directory locations) based on job characteristics. The shell script calculates appropriate parameter values from job-specific inputs and incorporates them into dynamically generated configuration files, enabling flexible resource allocation
2Ease of operation
If one-size-fits-all resource allocation is used, then resource management is simplified, but smaller jobs experience resource wastage and computing resources become unavailable for other jobs
Solution Approach 1:
The patent applies local quality by allocating resources according to each job's specific needs rather than using a uniform allocation strategy. The system determines container size, parallel partitions, and scratch directory locations based on individual job parameters, ensuring that each job receives appropriate resources without wastage
Solution Approach 2:
The system enables jobs to effectively request and receive appropriate resources through the dynamic configuration generation process. The shell script automatically calculates and assigns resource parameters based on job characteristics, allowing the system to self-adjust resource allocation without manual intervention
3Ease of operation
If static parallel processing configuration is used, then system operation is simpler, but computing resources remain tied up and cannot be reallocated to other jobs
Solution Approach 1:
The system transitions from static to dynamic configuration management. Configuration files are generated on-the-fly based on job parameters, enabling the system to adapt resource allocation to changing job requirements and release resources promptly when jobs complete
Solution Approach 2:
The system dynamically adjusts configuration parameters including container size, number of parallel partitions, and scratch directory locations based on job-specific inputs. This parameter flexibility allows the system to optimize resource allocation for each job while maintaining operational simplicity through automated shell script execution
Data Source
AI summary
A parallel processing device includes a parallel processing engine implemented by a processor. The parallel processing engine is configured to execute a shell script for each particular processing job in a queue of processing jobs to run. The shell script is configured to dynamically generate a configuration file for each particular processing job. The configuration file instructs a network of computing systems to run the particular processing job using a particular number of parallel partitions corresponding to a parallel partitions parameter associated with the particular job. The configuration file includes randomized scratch directories for computing nodes within the network of computing systems and a calculated container size for the particular processing job. Each processing job is run on the network of computing systems according to the dynamically-generated configuration file of the particular processing job.


