Dynamic Parallel Computing Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing complexity of computational tasks in parallel computing systems, characterized by heterogeneous workloads and varying hardware resources, poses challenges in optimizing processing efficiency and scalability, particularly due to limitations imposed by Amdahl's Law and the need for efficient energy use in data centers and supercomputing facilities.

Innovation Solution

A method is introduced to dynamically assign processing elements of different types based on determining parameters indicative of parallelizable code portions, optimizing the utilization of resources by varying the number of processing elements to achieve the best processing speed and cost efficiency, utilizing a generalized form of Amdahl's Law (GAL) that accounts for different concurrencies and compute elements, allowing for optimal resource allocation and modular system design.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the number of CPUs and nodes in a parallel computing system is increased to achieve higher computing power, then processing capability is improved, but power requirements and investment costs proportionally increase

Engineering Contradiction:
Improvecomputing powerVSAvoidpower requirements
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

The system dynamically determines the degree to which expected processing time changes by varying the number of processing elements of different types. This dynamic adjustment allows the system to optimize resource allocation based on actual computational needs rather than always maximizing hardware utilization, thereby improving computing power only when necessary while reducing unnecessary energy consumption.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the parameter of processing element type composition by determining optimal combinations of different processing element types (e.g., CPUs, GPUs, FPGAs) based on the parallelizable portion of application code. This parameter change allows the system to achieve high computing power for specific tasks using a mix of processors rather than uniformly increasing all processor counts, thus improving productivity while controlling energy usage.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If different types of processing elements are used to efficiently carry out various computational tasks, then processing efficiency is improved, but system complexity increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments the processing elements into different types (e.g., first type, second type, and potentially third type processors) and determines optimal allocation for each type based on the specific computational task characteristics. This segmentation allows efficient matching of task requirements to appropriate processor types while maintaining manageable system complexity through structured categorization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention introduces an intermediary optimization layer that determines the degree of processing time change by varying processing element numbers. This intermediary system manages the complexity of heterogeneous processing elements by providing a unified decision-making framework that translates diverse computational requirements into optimal processor allocation, thereby maintaining processing efficiency while controlling system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If the number of processing elements is increased to reduce application processing time, then processing speed is improved, but resource utilization efficiency may deteriorate

Engineering Contradiction:
Improveprocessing speedVSAvoidresource utilization efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The system determines the degree to which expected processing time changes by varying the number of processing elements, rather than always using the maximum available resources. This partial action approach allows the system to achieve sufficient processing speed by deploying only the necessary number of processing elements for each task, thereby maintaining resource utilization efficiency while still improving processing speed when needed.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS20220206863A1Apparatus and method to dynamically optimize parallel computations
Publication Date: 2022.06.30 FROHWITTER
  • US20220206863A1 patent drawing

AI summary

The invention provides a method of optimizing a parallel computing system including a plurality of processing element types by applying a generalized Amdahl law relating a speed-up of the system, numbers of the processing elements of each type and a fraction of a code portion of each concurrency which is parallelizable. The invention can be used to determine a change in accelerator processing elements required to obtain a desired speed-up