Stream Computing Checkpointing via Operator Merging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In stream computing environments, checkpointing data maintained in stream operator windows often results in redundant data storage as multiple operators store the same set of stream computing data, leading to inefficiencies in data storage, bandwidth usage, and system resource management.

Innovation Solution

Identifying shared stream computing data among windowed stream operators and implementing non-redundant checkpointing by designating specific operators to manage checkpointing operations, dividing workload, and using shared memory to facilitate efficient data storage and retrieval.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple windowed stream operators independently checkpoint their data, then each operator ensures data safety and reliability, but redundant data storage occurs leading to increased memory usage and bandwidth consumption

Engineering Contradiction:
Improvedata safetyVSAvoiddata storage volume
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Multiple windowed stream operators that share the same underlying data are merged into a single checkpointing operation. The system identifies operators with shared data through graph analysis and memory address comparison, then designates one operator as the checkpointing responsible operator to perform the checkpointing for all shared operators, eliminating redundant data storage while maintaining data safety for all operators

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The checkpointing responsible operator performs multiple functions: it checkpoints data for itself and simultaneously serves as the checkpointing authority for all other operators sharing the same data. This universal checkpointing mechanism reduces the overall checkpointing workload and memory usage across the stream computing environment while ensuring all operators maintain reliable state

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

2Reliability

If each windowed stream operator performs independent checkpointing operations, then data integrity is maintained for each operator, but system resource consumption and bandwidth usage increase

Engineering Contradiction:
Improvedata integrityVSAvoidsystem resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system merges independent checkpointing operations into a coordinated unified operation by identifying operators with shared data through graph analysis and memory address comparison. When operators share data, their checkpointing operations are combined under a single responsible operator, reducing redundant I/O operations, bandwidth consumption, and system resource usage while maintaining data integrity for all operators

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system implements feedback mechanisms where operators publish their data requirements and the checkpointing coordinator collects this information to determine optimal checkpointing responsibility assignment. This feedback loop ensures that data integrity requirements are met while optimizing resource allocation by assigning checkpointing responsibility to the most appropriate operator based on shared data relationships

Inventive Principle:
Principle #23Feedback

3Reliability

If redundant checkpoints are performed for shared data subsets, then complete data recovery is ensured for all operators, but storage efficiency and bandwidth utilization deteriorate

Engineering Contradiction:
Improvedata recovery completenessVSAvoidbandwidth usage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system merges redundant checkpointing operations by identifying that multiple operators may have identical or overlapping data subsets through graph analysis and memory address comparison. A single checkpointing responsible operator is designated to checkpoint the shared data subset, and this single checkpoint serves all operators that need that data, ensuring complete data recovery capability while eliminating redundant bandwidth usage and storage

Inventive Principle:
Principle #5Merging (Combining)

4Reliability

If all windowed stream operators perform checkpointing operations, then comprehensive state preservation is achieved, but checkpointing workload and processing time increase

Engineering Contradiction:
Improvestate preservationVSAvoidcheckpointing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system merges the checkpointing workload by identifying operators with shared data through graph analysis and memory address comparison. Instead of all operators performing independent checkpointing, a single checkpointing responsible operator is designated to perform the checkpointing for all operators sharing that data. This merging approach maintains comprehensive state preservation while significantly improving checkpointing efficiency by reducing the total number of checkpointing operations performed

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system segments the checkpointing workload by dividing operators into groups based on their data sharing relationships identified through graph analysis. Each segment is assigned a checkpointing responsible operator, allowing parallel processing of checkpointing operations across different data groups while avoiding redundant operations within each group, thus improving overall checkpointing efficiency

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10536502B2Checkpointing a set of stream computing data
Publication Date: 2020.01.14 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10536502B2 patent drawing
  • US10536502B2 patent drawing
  • US10536502B2 patent drawing

AI summary

Disclosed aspects relate to checkpointing a set of stream computing data with respect to a stream computing environment having a set of windowed stream operators including both a first windowed stream operator and a second windowed stream operator. It may be identified that the first windowed stream operator has a first subset of the set of stream computing data. It may be identified that the second windowed stream operator has the first subset of the set of stream computing data. It may be determined to checkpoint the first subset of the set of stream computing data without a redundant checkpoint related to the first and second windowed stream operators. The set of stream computing data may be checkpointed without the redundant checkpoint of the first subset of the set of stream computing data.