Dynamic File Caching for Workflow Node Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computational workflows face performance bottlenecks due to inefficient communication between workflow nodes, which are often implemented by different developers and scientists, leading to suboptimal interaction with file systems.

Innovation Solution

The method involves dynamic file caching, where each workflow node is associated with a data cache on a local storage device, and workflows are partitioned into sub-graphs based on expected file input/output, allowing nodes to access a distributed filesystem and utilize high-bandwidth storage devices for optimized performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If workflow nodes communicate over file systems to handle large volumes of data, then data transfer capability is improved, but communication performance between workflow nodes deteriorates due to suboptimal interaction with file systems

Engineering Contradiction:
Improvedata transfer volumeVSAvoidcommunication performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent introduces a file system cache as an intermediary layer between workflow nodes and the underlying file system. This cache buffer resolves the contradiction by providing high-speed data access for large volume transfers while maintaining efficient communication performance through optimized read/write operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by pre-loading data into the file system cache before workflow nodes need it. This advance preparation ensures that when large volumes of data need to be transferred, the data is already available in high-speed cache memory, thus maintaining communication performance.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If dynamic file caching is implemented with local storage devices, then workflow execution performance is improved, but device complexity increases due to cache management overhead

Engineering Contradiction:
Improveworkflow execution performanceVSAvoidcache management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The file system cache is designed to manage itself through automatic eviction policies and transparent operations. The cache autonomously decides what data to retain or evict based on usage patterns, eliminating the need for complex external management mechanisms while maintaining high workflow execution performance.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system dynamically adjusts cache parameters such as cache size, eviction policies, and data retention strategies based on workflow characteristics and system load. These parameter changes optimize performance for different scenarios without requiring complex manual configuration or management.

Inventive Principle:
Principle #35Parameter changes

3Speed

If workflow nodes are scheduled on compute nodes hosting their associated data cache, then data access speed is improved, but scheduling complexity increases

Engineering Contradiction:
Improvedata access speedVSAvoidscheduling complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The scheduling system is enhanced with multi-functionality to simultaneously consider both workflow node computation requirements and data cache location. The unified scheduler performs both traditional resource allocation and cache-aware task placement, achieving fast data access without requiring separate complex scheduling mechanisms.

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

Data Source

PatentUS11755543B2Optimization of workflows with dynamic file caching
Publication Date: 2023.09.12 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11755543B2 patent drawing
  • US11755543B2 patent drawing
  • US11755543B2 patent drawing

AI summary

A computer implemented method for optimizing performance of workflow includes associating each of a plurality of workflow nodes in a workflow with a data cache and managing the data cache on a local storage device on one of one or more compute nodes. A scheduler can request execution of the tasks of a given one of the plurality of workflow nodes on one of the one of more compute nodes that hosts the data cache associated with the given one of the plurality of workflow nodes. Each of the plurality of workflow nodes is permitted to access a distributed filesystem that is visible to each of the plurality of compute nodes. The data cache stores data produced by the tasks of the given one of the plurality of workflow nodes.