Computational Storage Pipeline Manager for Dynamic Task Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computational storage devices have hardcoded execution pipelines that lack flexibility, preventing them from executing different compute functions or changing the order of functions, which limits their usage in multi-tenant environments and restricts dynamic composition of execution pipelines.

Innovation Solution

A storage system with a processing circuit that receives tasks from applications, determines the order of execution for compute functions, and schedules them based on resource availability, using a pipeline manager (arbiter) to dynamically compose and manage the execution pipeline, allowing for flexible ordering and resource management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If hardcoded execution pipelines are used in computational storage devices, then device complexity is reduced and manufacturing is easier, but adaptability and versatility are severely limited

Engineering Contradiction:
Improveability to execute different compute functions and change execution orderVSAvoidcomplexity of dynamic pipeline composition and resource management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic execution pipelines where the order and selection of compute functions can be changed at runtime based on task requirements. The processing circuit receives task descriptors that specify compute functions and their execution order, allowing the system to adapt to different computational needs without hardware reconfiguration. This dynamic approach enables multi-tenant environments where different applications can utilize the same physical device with customized execution pipelines.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The computational storage device is designed to perform multiple compute functions through a universal processing circuit that can execute different types of computations. The device includes a plurality of compute functions that can be selectively invoked based on task requirements, allowing a single device to serve multiple tenants and workloads. The interface for composing execution pipelines provides universal access to configure different function combinations.

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

2Adaptability or versatility

If dynamic composition of execution pipelines is enabled, then adaptability and versatility improve, but device complexity and resource management difficulty increase

Engineering Contradiction:
Improveflexibility in ordering and selecting compute functionsVSAvoiddifficulty of managing resource availability and task scheduling
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent introduces a pipeline manager (arbiter) as an intermediary component that mediates between task submission and execution. The arbiter receives task descriptors from applications, determines resource availability, schedules task execution, and manages the composition of execution pipelines. This intermediary layer abstracts the complexity of resource management from applications, providing an easier-to-use interface while enabling dynamic pipeline composition.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback mechanisms where the processing circuit monitors resource availability and uses this information to dynamically adjust task scheduling and pipeline composition. The arbiter receives completion status and resource status feedback, allowing it to make informed decisions about task prioritization and execution order. This feedback loop enables adaptive resource management that responds to changing system conditions.

Inventive Principle:
Principle #23Feedback

3Productivity

If resource availability checking and task scheduling are implemented, then productivity and resource utilization improve, but device complexity increases

Engineering Contradiction:
Improveresource utilization and task execution efficiencyVSAvoidcomplexity of resource monitoring and scheduling mechanisms
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The processing circuit is designed to autonomously monitor its own resource availability and perform self-scheduling of tasks. The arbiter checks resource status, determines whether resources are available for new tasks, and schedules task execution without external intervention. This self-service approach improves productivity by automatically optimizing resource utilization while containing complexity within the processing circuit rather than requiring complex external scheduling infrastructure.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP4435600A1Systems and methods for executing compute functions
Publication Date: 2024.09.25 SAMSUNG ELECTRONICS CO LTD
  • EP4435600A1 patent drawingFigure 1
  • EP4435600A1 patent drawingFigure 2
  • EP4435600A1 patent drawingFigure 3

AI summary

Systems and methods for executing compute functions are disclosed. A processing circuit may be configured to: receive a first task from a first application, wherein the first task identifies a first compute function and a second compute function; determine a first order of execution of the first compute function and the second compute function based on first information in the first task; and execute the first compute function and the second compute function according to the first order.