GridBatch Parallel Programming Infrastructure for Cluster Bandwidth Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems face challenges in efficiently processing large volumes of data due to the disparity between growing data storage capacity and stagnant computational performance of uniprocessor systems, leading to increased computation time and network bandwidth limitations, particularly in parallelizing computational operations across multiple CPUs.

Innovation Solution

The GridBatch system provides a framework and library of operators to implement parallelized computational plans, hiding complexity by managing data partitioning and coordination across multiple processors, minimizing network bandwidth requirements, and leveraging data localization for efficient disk I/O and computational processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If applications run sequentially on uniprocessor machines, then implementation complexity is low, but computation time becomes excessively long for large data volumes

Engineering Contradiction:
Improvecomputation speedVSAvoidparallel programming complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary parallelization layer that sits between the application and the underlying parallel computing infrastructure. This layer automatically handles task decomposition, data distribution, and coordination across multiple processors, allowing applications to achieve parallel execution without requiring programmers to directly manage the complexity of parallel programming. The intermediary translates high-level application logic into parallel execution plans.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system enables self-service parallelization by automatically analyzing application code, identifying parallelizable operations, and generating optimized parallel execution plans without requiring manual intervention from programmers. The parallelization infrastructure monitors and coordinates task execution across multiple processors autonomously, reducing the burden on developers while maximizing computational efficiency.

Inventive Principle:
Principle #25Self-service

2Productivity

If additional machines are introduced to increase computing power, then computational capacity improves, but network bandwidth requirements exceed available bandwidth

Engineering Contradiction:
Improvecomputational capacityVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent implements data localization strategies where data is distributed and processed locally across multiple machines rather than being centralized. Each processor works primarily with data stored in its local memory or storage, minimizing the need for frequent data transfers over the network. This local processing approach maintains high computational capacity while significantly reducing network bandwidth consumption.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system segments both data and computational tasks across multiple processors, creating independent processing units that operate with minimal inter-communication. By dividing the computational workload into independent segments that can execute in parallel with limited data exchange, the system achieves high computational capacity without proportionally increasing network bandwidth requirements.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If data is processed in large volumes, then analytical insights improve, but computation time increases exponentially

Engineering Contradiction:
Improveanalytical accuracyVSAvoidcomputation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies preliminary actions by pre-processing and pre-distributing data across the computing cluster before the main analytical computation begins. Data is partitioned, validated, and prepared in advance, allowing the actual computation to proceed efficiently in parallel. This preliminary preparation significantly reduces the time required for processing large volumes of data while maintaining analytical accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains continuous useful action by implementing overlapping computation and data transfer operations. While data is being transferred between processors, computation on already-received data continues simultaneously. This pipelining approach ensures that processors remain continuously utilized without idle waiting time, reducing overall computation time for large data volumes while preserving analytical precision.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentEP2184680B1An infrastructure for parallel programming of clusters of machines
Publication Date: 2018.09.26 ACCENTURE GLOBAL SERVICES LTD
  • EP2184680B1 patent drawingFigure 1
  • EP2184680B1 patent drawingFigure 2
  • EP2184680B1 patent drawingFigure 3

AI summary

GridBatch provides an infrastructure framework that hides the complexities and burdens of developing logic and programming application that implement detail parallelized computations from programmers. A programmer may use GridBatch to implement parallelized computational operations that minimize network bandwidth requirements, and efficiently partition and coordinate computational processing in a multiprocessor configuration. GridBatch provides an effective and lightweight approach to rapidly build parallelized applications using economically viable multiprocessor configurations that achieve the highest performance results.