Dynamic Cache Placement in Dataflow Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In dataflow execution environments, identifying datasets to cache dynamically during real-time executions is challenging, leading to increased costs due to multiple re-executions of dependent transformations, especially in systems with limited memory and changing conditions.

Innovation Solution

A dynamic cache placement method that uses a cost model to optimize cache operations by selecting actions based on predefined policies, updating cache placement plans in real-time, and adjusting cache strategies during execution to minimize execution costs and memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If caching operations are used to avoid re-execution of transformations, then execution cost is reduced, but identifying which datasets to cache dynamically during real-time execution becomes complex and challenging

Engineering Contradiction:
Improveexecution costVSAvoidcache placement complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The system performs preliminary analysis before execution to identify candidate datasets for caching based on dataflow characteristics and historical patterns. This pre-planning reduces the complexity of dynamic cache placement during real-time execution, as the system already has a prepared strategy to follow or adjust.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system continuously monitors execution progress and performance metrics during dataflow execution, using this feedback to dynamically adjust cache placement decisions. This closed-loop approach simplifies the complexity by making cache decisions based on actual runtime information rather than static pre-computation.

Inventive Principle:
Principle #23Feedback

2Productivity

If multiple actions are executed in a dataflow with dependent transformations, then processing completeness is improved, but re-execution costs increase due to lack of caching

Engineering Contradiction:
Improveprocessing completenessVSAvoidre-execution cost
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system identifies transformations that are likely to be re-executed based on dataflow analysis and places caching operations in advance for these identified transformations. This preliminary identification ensures that when multiple actions are executed, the caching strategy is already optimized to prevent costly re-executions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically changes caching parameters during execution based on observed dataflow patterns and performance metrics. By adjusting which transformations are cached and when, the system balances processing completeness with re-execution cost reduction in response to changing execution conditions.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If cache placement is determined statically before execution, then planning simplicity is maintained, but adaptability to changing execution conditions and environments is reduced

Engineering Contradiction:
Improvecache placement planning simplicityVSAvoidadaptability to changing conditions
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The system transitions from static to dynamic cache placement by continuously monitoring execution progress and adjusting cache decisions in real-time. This dynamic approach maintains planning simplicity through automated decision-making while simultaneously improving adaptability to changing execution conditions and environmental factors.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs self-adjustment of cache placement based on its own execution metrics and observed performance patterns. This self-service capability allows the system to adapt to changing conditions automatically without external intervention, maintaining simplicity while improving adaptability.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10698821B2In-memory dataflow execution with dynamic placement of cache operations and action execution ordering
Publication Date: 2020.06.30 EMC IP HLDG CO LLC
  • US10698821B2 patent drawing
  • US10698821B2 patent drawing
  • US10698821B2 patent drawing

AI summary

A dataflow execution environment is provided with dynamic placement of cache operations and action execution ordering. An exemplary method comprises: obtaining a current cache placement plan for a dataflow comprised of multiple operations and a corresponding current cache gain estimate; selecting an action to execute from a plurality of remaining dataflow actions based on a predefined policy; executing one or more operations in a lineage of the selected action and estimating an error as a difference in an observed execution time and an estimated execution time given by a cost model; obtaining an alternative cache placement plan for the dataflow following the execution in conjunction with a predefined new plan determination criteria being satisfied and a corresponding alternative cache gain estimate; implementing the alternative cache placement plan in conjunction with a predefined new plan implementation criteria being satisfied; and selecting a next action to execute from a plurality of remaining actions in the dataflow based on a predefined policy.