Unified Language for Parallel Distributed Array Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current architectures lack a single language presentation for parallel processing of distributed arrays, leading to inefficient computation due to exclusive parallel or sequential processing methods.
Innovation Solution
Implementing a system that initiates a single programming language to identify and transform programs into parallel programs with optimal data distribution schemes, allocating portions to multiple labs for parallel execution and combining results.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If current architectures process distributed arrays exclusively in parallel or sequentially, then processing simplicity is maintained, but computation efficiency deteriorates due to inability to utilize both processing modes
Solution Approach 1:
The patent implements a unified programming language that enables distributed arrays to be processed using both sequential and parallel methods within the same architecture. The system provides multi-functional processing capabilities where the same language presentation can invoke different execution modes (sequential, parallel, or hybrid) based on the specific computational requirements, thereby improving computation efficiency without requiring separate specialized architectures for each processing mode
2Speed
If distributed arrays are partitioned into segments for parallel processing, then computation speed is improved, but data distribution optimization becomes more difficult without a unified language presentation
Solution Approach 1:
The unified programming language provides optimized data distribution schemes that automatically adjust data partitioning parameters based on the computational task requirements. The system can change distribution parameters (such as block size, cyclic distribution, or ghost cell configurations) to optimize both computation speed and data locality, making it easier to achieve optimal parallel performance without manual tuning of distribution parameters
3Productivity
If multiple processing modes are supported, then computation efficiency is improved, but language presentation complexity increases
Solution Approach 1:
The unified programming language provides a single, consistent syntax and semantics for declaring and manipulating distributed arrays, regardless of whether sequential or parallel processing is used. The language abstracts away the complexity of different processing modes through universal constructs, allowing programmers to write code once and execute it in the most efficient mode without dealing with language syntax differences between sequential and parallel paradigms
Data Source
AI summary
One or more computer-readable media store executable instructions that, when executed by processing logic, perform parallel processing. The media store one or more instructions for initiating a single programming language, and identifying, via the single programming language, one or more data distribution schemes for executing a program. The media also store one or more instructions for transforming, via the single programming language, the program into a parallel program with an optimum data distribution scheme selected from the one or more identified data distribution schemes, and allocating the parallel program to two or more labs for parallel execution. The media further store one or more instructions for receiving one or more results associated with the parallel execution of the parallel program from the two or more labs, and providing the one or more results to the program.


