Serverless Workflow Resource Backfilling During Task Sleep States

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current serverless workflow cloud environments fail to deploy additional processes when insufficient worker node resources are available, as they only allocate resources when a process finishes its life-cycle and do not efficiently utilize resources during sleep states of long-running processes.

Innovation Solution

Implementing an intelligent process management system that analyzes historical data to schedule short-running processes during the sleep states of long-running processes, using a process analyzer, predictor, backfill handler, and timeout handler to optimize resource utilization without disrupting the long-running processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If resources are allocated only when a process finishes its life-cycle, then resource management is simple, but resource utilization during sleep states is wasted

Engineering Contradiction:
Improveresource utilizationVSAvoidresource management complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by allocating resources in advance during sleep states before the process needs them again. The scheduler identifies upcoming wake times and pre-allocates worker nodes during the sleep period, so resources are ready when needed without requiring continuous allocation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The resource allocation system transitions from a static model (allocate only when needed) to a dynamic model that continuously monitors process states, predicts wake times, and adjusts resource allocation in real-time based on whether processes are in sleep or active states.

Inventive Principle:
Principle #15Dynamics

2Reliability

If additional worker nodes are provisioned to handle process deployment, then process deployment is ensured, but infrastructure cost increases

Engineering Contradiction:
Improveprocess deployment reliabilityVSAvoidworker node quantity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system merges the resource pools of multiple processes by allowing them to share worker nodes during their respective sleep states. Instead of dedicating exclusive worker nodes to each process, the scheduler combines available capacity across processes to serve deployment requests using existing infrastructure.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system changes the operational parameters of worker nodes by transitioning them between active and sleep states, and by dynamically adjusting which processes are assigned to which nodes based on real-time resource availability and process state, rather than maintaining fixed assignments.

Inventive Principle:
Principle #35Parameter changes

3Use of energy by moving object

If processes are deleted when entering sleep state, then resource consumption is reduced, but process resumption capability is lost

Engineering Contradiction:
Improveresource consumptionVSAvoidprocess resumption capability
Core Design Contradiction:
Use of energy by moving objectVSReliability

Solution Approach 1:

The system creates a lightweight representation or copy of the process state during sleep rather than deleting the process entirely. This allows the process to be quickly restored or resumed when needed without maintaining full resource allocation, balancing resource savings with resumption capability.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS12260255B2Intelligent process management in serverless workflow cloud environments
Publication Date: 2025.03.25 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US12260255B2 patent drawing
  • US12260255B2 patent drawing
  • US12260255B2 patent drawing

AI summary

Intelligent process management is provided. A start time is determined for an additional process to be run on a worker node within a duration of a sleep state of a task of a process already running on the worker node by adding a first defined buffer time to a determined start time of the sleep state of the task. A backfill time is determined for the additional process by subtracting a second defined buffer time from a determined end time of the sleep state of the task. A scheduling plan is generated for the additional process based on the start time and the backfill time corresponding to the additional process. The scheduling plan is executed to run the additional process on the worker node according to the start time and the backfill time corresponding to the additional process.