Heterogeneous Big Data Application Generation via Execution Dependency Graph

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional Big Data processing approaches require developers to tailor solutions for each specific platform, leading to increased development time and complexity due to differences in data partitioning, shuffling, and aggregation capabilities.

Innovation Solution

A method that creates a development architecture capable of addressing heterogeneous application platforms by specifying computation and communication patterns independently of the target architecture, allowing for optimal concurrency and efficient task mapping across clusters, thereby reducing development effort and improving maintainability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If developers tailor solutions for each specific platform, then platform-specific optimization is achieved, but development time and complexity increase

Engineering Contradiction:
Improvedevelopment speedVSAvoiddevelopment complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a unified application creation method that can generate applications for multiple heterogeneous Big Data platforms (Spark, Hadoop, UIMA-AS) using the same input specifications. The system translates high-level computation patterns into platform-specific implementations automatically, eliminating the need for developers to rewrite applications for each platform while maintaining platform-specific optimizations.

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

2Productivity

If developers learn and specifically develop for each platform, then platform-specific optimization is achieved, but development time increases

Engineering Contradiction:
Improveapplication creation efficiencyVSAvoiddevelopment time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system pre-establishes translation rules and templates that map high-level computation patterns to multiple platform implementations. When a developer specifies computation patterns, the system automatically translates them into platform-specific code before execution, eliminating the time-consuming process of learning and adapting to different platform APIs and data partitioning mechanisms.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If applications are rewritten to optimize data partitioning and shuffling, then computational efficiency improves, but development complexity increases

Engineering Contradiction:
Improvecomputational efficiencyVSAvoiddata partitioning complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary translation layer that sits between the developer's high-level computation specifications and the platform-specific data partitioning mechanisms. This intermediary automatically handles the complex translation of computation patterns into optimized data partitioning, shuffling, and aggregation operations for each platform, shielding developers from the underlying complexity while maintaining computational efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10387454B2Method for creating efficient application on heterogeneous big data processing platform
Publication Date: 2019.08.20 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10387454B2 patent drawing
  • US10387454B2 patent drawing
  • US10387454B2 patent drawing

AI summary

This invention relates to a method and system for creating Big Data applications that can be executed on heterogeneous clusters. The applications can be executed on a particular platform, such as SPARK or UIMA-AS, but the method and system are able to translate the input to these targeted platforms without the developer needing to tailor the application specifically to the platform. The method and system are based on the use of an execution dependency graph, a cluster configuration, and a data size to create a stages table. The stages table is then optimized to increase the overall efficiency of the heterogeneous cluster. The stages table is then translated into a platform specific Big Data application.