Dynamic Configuration for Parallel Processing Jobs

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveconfiguration managementVSAvoidresource utilization efficiency
Core Design Contradiction:
Device complexityVSProductivity

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

Inventive Principle:
Principle #15Dynamics

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

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improveresource managementVSAvoidcomputing resource wastage
Core Design Contradiction:
Ease of operationVSLoss of energy

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

Inventive Principle:
Principle #3Local quality

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

Inventive Principle:
Principle #25Self-service

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

Engineering Contradiction:
Improvesystem operationVSAvoidresource allocation flexibility
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

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

Inventive Principle:
Principle #15Dynamics

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

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10985975B2Conserving computing resources during network parallel processing
Publication Date: 2021.04.20 BANK OF AMERICA CORP
  • US10985975B2 patent drawing
  • US10985975B2 patent drawing
  • US10985975B2 patent drawing

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.