Operator Graph Analysis for Dynamic Resource Reallocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In stream-based processing systems, static resource allocation leads to bottlenecks, where a slowdown in one operator can negatively impact other operators, and existing solutions require manual redesign at programming time, failing to address transient issues or anticipate all potential problems.

Innovation Solution

An operator graph analysis mechanism dynamically reallocates resources at runtime based on a reallocation policy, identifying compute, memory, communication, or storage bottlenecks and adjusting resource allocation accordingly to optimize performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If static resource allocation is used at programming time, then resource allocation is simple to implement, but the system cannot adapt to runtime bottlenecks and performance optimization is limited

Engineering Contradiction:
Improveadaptability to runtime conditionsVSAvoidcomplexity of resource allocation mechanism
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic resource allocation by monitoring operator performance metrics at runtime and automatically reallocating resources based on detected bottlenecks. The system transitions from static programming-time allocation to dynamic runtime allocation, allowing the resource allocation mechanism to adapt to changing conditions without manual intervention.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback loops that continuously monitor operator performance, detect bottlenecks, and trigger resource reallocation decisions. The feedback mechanism enables the system to respond to runtime conditions by identifying slow operators and reallocating resources to address performance issues.

Inventive Principle:
Principle #23Feedback

2Reliability

If manual redesign at programming time is performed to address bottlenecks, then known problems can be fixed, but transient problems and newly emerging bottlenecks cannot be addressed

Engineering Contradiction:
Improvesystem performance reliabilityVSAvoidtime for manual redesign and redeployment
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary resource allocation at programming time based on estimates, then automatically adjusts allocations at runtime based on actual performance. This preliminary action followed by dynamic adjustment allows the system to handle both known and unknown bottlenecks without requiring manual redesign.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements self-service by automatically detecting bottlenecks and reallocating resources without requiring programmer intervention. The operator graph analysis mechanism and resource reallocation mechanism work autonomously to maintain optimal performance, eliminating the need for manual redesign and redeployment cycles.

Inventive Principle:
Principle #25Self-service

3Productivity

If resources are over-allocated to prevent bottlenecks, then performance can be maintained under varying loads, but resource utilization efficiency decreases

Engineering Contradiction:
Improvestream processing throughputVSAvoidinefficient resource utilization
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system dynamically changes resource allocation parameters based on actual operator performance and system conditions. Rather than using fixed over-allocation, the system adjusts resource parameters in real-time to match actual demand, maintaining productivity while improving resource utilization efficiency.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8997108B2Analysis of operator graph and dynamic reallocation of a resource to improve performance
Publication Date: 2015.03.31 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8997108B2 patent drawing
  • US8997108B2 patent drawing
  • US8997108B2 patent drawing

AI summary

An operator graph analysis mechanism analyzes an operator graph corresponding to an application for problems as the application runs, and determines potential reallocations from a reallocation policy. The reallocation policy may specify potential reallocations depending on whether one or more operators in the operator graph are compute bound, memory bound, communication bound, or storage bound. The operator graph analysis mechanism includes a resource reallocation mechanism that can dynamically change allocation of resources in the system at runtime to address problems detected in the operator graph. The operator graph analysis mechanism thus allows an application represented by an operator graph to dynamically evolve over time to optimize its performance at runtime.