Streaming Graph Topology Dynamic Operator Instance Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Streaming applications face challenges in dynamically managing system resources to meet service level agreements (SLAs) without over-allocating or under-allocating resources, leading to potential performance violations.

Innovation Solution

Monitoring system resource usage and performance metrics to identify when hosting is near to violating SLAs, and dynamically initializing additional instances of parallelizable operators to direct workloads, while terminating underutilized instances to ensure optimal resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If additional instances of parallelizable operators are initialized to meet SLA criteria, then service level compliance is improved, but system resource consumption increases

Engineering Contradiction:
ImproveSLA complianceVSAvoidsystem resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent implements dynamic initialization and termination of operator instances based on real-time monitoring of performance metrics and SLA compliance status. The system transitions from static resource allocation to dynamic adjustment, where operator instances are created or terminated according to current workload demands and SLA requirements, optimizing the balance between service level compliance and resource consumption.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system continuously monitors performance metrics and uses this feedback to determine whether to initialize or terminate operator instances. The monitoring mechanism provides real-time information about system resource usage and SLA compliance status, enabling the system to adjust operator instance allocation based on actual performance data rather than predetermined fixed allocation.

Inventive Principle:
Principle #23Feedback

2Use of energy by moving object

If operator instances are terminated to reduce resource consumption, then system resource utilization is improved, but SLA compliance may be compromised

Engineering Contradiction:
Improvesystem resource utilizationVSAvoidSLA compliance
Core Design Contradiction:
Use of energy by moving objectVSReliability

Solution Approach 1:

The system uses continuous monitoring of performance metrics as feedback to determine safe termination points for operator instances. By analyzing real-time performance data, the system can identify when reducing operator instances will not compromise SLA compliance, enabling resource optimization without sacrificing service level guarantees.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically adjusts operator instance allocation based on current workload patterns and performance trends. Rather than maintaining fixed allocation, the system adapts the number of active operator instances to match actual demand, terminating underutilized instances while ensuring SLA compliance is maintained through continuous performance monitoring.

Inventive Principle:
Principle #15Dynamics

3Reliability

If real-time monitoring and dynamic adjustment are implemented, then SLA compliance is improved, but device complexity increases

Engineering Contradiction:
ImproveSLA complianceVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the streaming application into parallelizable operators that can be independently initialized and terminated. This segmentation allows the complex monitoring and adjustment task to be broken down into manageable units, where each operator instance can be managed independently, reducing the overall system complexity despite the dynamic adjustment capabilities.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11025510B2Optimizing streaming graph topology based on service level agreement
Publication Date: 2021.06.01 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11025510B2 patent drawing
  • US11025510B2 patent drawing
  • US11025510B2 patent drawing

AI summary

System resource usage by a streaming application processing workloads can be monitored, the streaming application comprising at least one parallelizable operator, at least a first instance of the parallelizable operator being initialized to execute. Based on the monitoring, at least one performance metric for the streaming application in processing the workloads can be determined. Based on the at least one performance metric, whether hosting of the streaming application is, or is near to, violating at least one criteria can be determined. If so, at least one additional instance of at least one parallelizable operator of the streaming application that is currently executing can be initialized. Responsive to initializing the at least one additional instance of at least one of the parallelizable operators, a portion of the workloads can be directed to the at least one additional instance of at least one of the parallelizable operators.