Dynamic Array Distribution in Parallel Computing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing parallel computing methods face complexity in distributing arrays across multiple processors, particularly when flexible partitioning is required, which can lead to increased communication overhead and reduced performance.

Innovation Solution

A dynamic distribution method that uses specified criteria to guide flexible partitioning of arrays, minimizing communication and optimizing resource utilization across multiple execution environments, allowing for user-defined rules and analysis to determine the best distribution scheme.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If flexible partitioning is used to distribute arrays across multiple processors, then adaptability and resource utilization are improved, but device complexity and communication overhead increase

Engineering Contradiction:
Improveflexible partitioning capabilityVSAvoiddistribution determination complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system automatically determines array distribution schemes by evaluating operations and criteria without requiring manual user specification. The parallel computing environment self-manages the complexity of flexible partitioning by implementing automated analysis of array operations and autonomous decision-making about distribution strategies, thereby improving adaptability while hiding complexity from users.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system dynamically adjusts distribution parameters based on operation types and user-defined criteria. By changing distribution parameters (such as block size, cyclic pattern, or custom mappings) according to the specific operation being performed and the criteria specified, the system achieves flexible partitioning capability while managing complexity through parameterized control rather than fixed complex algorithms.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If flexible partitioning is implemented, then productivity and resource utilization improve, but communication overhead increases

Engineering Contradiction:
Improveparallel computing efficiencyVSAvoidcommunication overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system applies different distribution strategies to different parts of arrays based on local requirements. By analyzing operations and applying criteria-specific distribution rules, the system optimizes each partition's communication patterns for its specific workload, improving overall productivity while minimizing communication overhead through localized optimization rather than uniform distribution.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system performs preliminary analysis of array operations and determines optimal distribution schemes before executing computations. By pre-evaluating operations against user-defined criteria and establishing distribution plans in advance, the system optimizes resource allocation and minimizes communication overhead during actual computation, thereby improving productivity without incurring runtime communication penalties.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If automated distribution is used, then ease of operation improves, but adaptability to specific operations decreases

Engineering Contradiction:
Improveuser effort in distributionVSAvoidoperation-specific optimization
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The system implements a universal automated distribution framework that handles multiple operation types and array configurations through a single integrated mechanism. By creating a multi-functional distribution system that can automatically adapt to various operations (matrix multiplication, element-wise operations, reductions, etc.) through user-defined criteria, the system achieves both ease of operation and operation-specific adaptability without requiring separate manual configuration for each case.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9424076B1Dynamic distribution for distributed arrays and related rules
Publication Date: 2016.08.23 MATHWORKS INC
  • US9424076B1 patent drawing
  • US9424076B1 patent drawing
  • US9424076B1 patent drawing

AI summary

The present invention provides a method and system for the dynamic distribution of an array in a parallel computing environment. The present invention obtains a criterion for distributing an array and performs flexible portioning based on the obtained criterion. In some embodiment analysis may be performed based on the criterion. The flexible portioning is then performed based on the analysis.