Unified Programming Framework for Heterogeneous Cluster Data Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional systems for heterogeneous computing environments are inefficient and complex, making it difficult to facilitate efficient communication and data processing across clusters of computers, particularly due to the need for developers to manage multiple programming frameworks and infrastructure awareness.

Innovation Solution

A scalable framework that integrates programming frameworks, distribution frameworks, and high-level programming models, allowing kernels like OpenCL to run across clusters without requiring awareness of the backend cloud infrastructure, thereby simplifying programmability and enabling dynamic scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional heterogeneous computing systems are used to work with large data sets across clusters, then data processing capability is provided, but system complexity and programming difficulty increase significantly

Engineering Contradiction:
Improvedata processing capabilityVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a gateway component that acts as an intermediary between the programming framework and the distributed computing infrastructure. This gateway translates high-level programming model requests into infrastructure-specific operations, shielding developers from infrastructure complexity while enabling data processing across clusters. The gateway serves as a mediator that handles the complexity of coordinating multiple computing nodes, data transfer, and result aggregation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The programming framework is designed to be universal and infrastructure-agnostic, capable of working with different distributed computing infrastructures without requiring infrastructure-specific code. The framework provides unified interfaces for data processing, communication, and coordination that can be adapted to various underlying infrastructures, thereby reducing programming complexity while maintaining productivity.

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

2Adaptability or versatility

If multiple programming frameworks are integrated to enable heterogeneous computing, then programming flexibility improves, but ease of operation deteriorates due to management complexity

Engineering Contradiction:
Improveprogramming flexibilityVSAvoidease of programming
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent merges multiple programming frameworks and infrastructure capabilities into a unified programming framework that provides a single, consistent interface. Instead of requiring developers to manage separate frameworks for different computing resources, the unified framework integrates heterogeneous computing capabilities (CPU, GPU, FPGA, distributed clusters) through a common programming model, thereby maintaining flexibility while improving ease of operation.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The unified programming framework provides universal interfaces that work across different programming paradigms and infrastructure types. Developers can express computations in a high-level, framework-agnostic manner while the underlying framework handles the complexity of mapping these computations to appropriate hardware resources, thereby maintaining programming flexibility without increasing operational difficulty.

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

3Extent of automation

If developers must be aware of backend cloud infrastructure to run kernels, then system control improves, but programmability and scalability are reduced

Engineering Contradiction:
Improvesystem controlVSAvoidprogrammability
Core Design Contradiction:
Extent of automationVSAdaptability or versatility

Solution Approach 1:

The gateway acts as an intermediary that shields developers from backend infrastructure details. Developers can express their computational logic in terms of high-level programming models without needing to understand or manage the underlying cloud infrastructure. The gateway automatically handles infrastructure awareness, resource allocation, and coordination, thereby maintaining system control while improving programmability and enabling dynamic scalability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The programming framework is designed to be self-sufficient, automatically managing infrastructure interactions without requiring developer intervention. The framework autonomously handles tasks such as resource discovery, task distribution, data transfer, and result aggregation across the distributed infrastructure, thereby maintaining system control while allowing developers to focus on algorithmic logic rather than infrastructure management.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11550632B2Facilitating efficient communication and data processing across clusters of computing machines in heterogeneous computing environment
Publication Date: 2023.01.10 INTEL CORP
  • US11550632B2 patent drawing
  • US11550632B2 patent drawing
  • US11550632B2 patent drawing

AI summary

A mechanism is described for facilitating efficient communication and data processing across clusters of computing machines in a heterogenous computing environment. A method includes detecting a request for processing of data using a programming framework and a programming model; facilitating interfacing between the programming framework and the programming model, wherein interfacing includes merging the programming model into the programming framework, wherein interfacing further includes integrating the programming framework with a distribution framework hosting the programming model; and calling on the distribution framework to schedule processing of a plurality of jobs based on the request.