Graph Clustering for Data Processing Pipelines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional data processing applications face inefficiencies when handling large datasets due to performance costs associated with operations programmed in different programming languages, leading to increased memory utilization and serialization/deserialization requirements in big-data systems.

Innovation Solution

A data processing pipeline system that clusters operations based on their programming languages to optimize performance by avoiding serialization/deserialization and executing operations within a shared operating system process when they share a common language, using a method that determines the optimal clustering configuration through a graph partitioning algorithm.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If operations are executed in different programming languages to handle diverse data processing requirements, then adaptability and versatility are improved, but performance degrades due to serialization/deserialization overhead and memory utilization issues

Engineering Contradiction:
Improveability to handle diverse data processing requirementsVSAvoiddata processing performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system segments operations into language-specific clusters, grouping operations by their programming language (e.g., Python, Java, Scala). This segmentation allows each cluster to execute operations in its native language without cross-language serialization overhead, thereby maintaining high performance while still supporting diverse data processing requirements through multiple language clusters.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a cluster manager as an intermediary component that coordinates between different language-specific operation clusters. The cluster manager handles task distribution, result aggregation, and resource management across clusters, enabling diverse operations to be executed efficiently without direct cross-language serialization while maintaining system-wide adaptability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If operations are clustered by programming language to avoid serialization overhead, then data processing speed is improved, but system complexity increases due to multiple language-specific clusters

Engineering Contradiction:
Improvedata processing speedVSAvoidsystem architecture complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The cluster manager implements universal, language-agnostic interfaces for submitting tasks and retrieving results. This allows the complex multi-language system to present a simple, unified interface to users, hiding the underlying complexity of multiple language-specific clusters while maintaining high processing speeds through language-optimized execution.

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

Solution Approach 2:

Each language-specific cluster is designed to be self-sufficient, managing its own execution context, memory allocation, and resource requirements. This self-service approach reduces the coordination overhead and management complexity that would otherwise be required to orchestrate multiple language clusters, while still achieving high processing speeds through specialized execution.

Inventive Principle:
Principle #25Self-service

3Quantity of substance

If operations are executed within a shared operating system process to reduce memory utilization, then resource efficiency is improved, but reliability decreases due to potential process conflicts and resource contention

Engineering Contradiction:
Improvememory utilizationVSAvoidsystem stability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system segments memory resources by creating separate address spaces for each language-specific cluster, while still maintaining a shared parent process for resource coordination. This segmentation prevents memory conflicts and resource contention between different language operations, ensuring system reliability while achieving memory efficiency through shared parent process resources.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent merges multiple language-specific operation clusters within a shared parent operating system process, allowing them to share common resources such as file handles, network connections, and configuration data. This merging reduces overall memory utilization while maintaining reliability through the isolated execution contexts of individual clusters within the shared process.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10552129B2Agglomerative algorithm for graph clustering
Publication Date: 2020.02.04 SAP SE
  • US10552129B2 patent drawing
  • US10552129B2 patent drawing
  • US10552129B2 patent drawing

AI summary

Disclosed herein are system, method, and computer program product embodiments for determining clusters of operations in a data processing pipeline. By clustering the operations according to the operations' programming languages using the algorithm disclosed herein, performance efficiency gains can be achieved. The algorithm is iterative, traversing all operations in a data processing pipeline with subsequent iterations addressing the clustering regime determined by prior iterations.