Dynamic Execution Pipelines in Computational Storage

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 hinders 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 execution pipelines, allowing for flexible composition and execution of compute functions.

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 simplified, but adaptability and versatility are severely limited

Engineering Contradiction:
Improveability to execute different compute functionsVSAvoidpipeline management complexity
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 pipeline manager receives task descriptors that specify compute functions and their execution order, allowing the system to adapt to different workloads without hardware reconfiguration. This resolves the contradiction by making the pipeline flexible and reconfigurable through software control.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The computational storage device is designed with a universal pipeline manager that can handle multiple types of compute functions and task formats. The system uses a standardized task descriptor structure that can represent various compute functions and their dependencies, allowing a single device to serve multiple tenants and workloads. This multi-functionality approach enables adaptability without proportionally increasing device complexity.

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

2Adaptability or versatility

If dynamic composition of execution pipelines is implemented, then adaptability and flexibility are improved, but device complexity and scheduling difficulty increase

Engineering Contradiction:
Improveflexibility in execute order of compute functionsVSAvoidpipeline composition complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a pipeline manager as an intermediary component that handles the complexity of dynamic pipeline composition. This mediator receives task descriptors from applications, determines the execution order of compute functions, and manages resource allocation. By placing this intelligent intermediary between the hardware resources and user applications, the system achieves dynamic flexibility while containing complexity within the management layer rather than propagating it throughout the entire system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces fixed mechanical pipeline configurations with software-based task descriptors that define execution pipelines. Instead of hardwired connections between compute functions, the system uses data structures (task descriptors) to specify execution order and dependencies. This substitution of mechanical rigidity with software flexibility allows dynamic composition while managing complexity through programmable control rather than physical reconfiguration.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Productivity

If multiple tenants share the same computational storage device with different compute functions, then resource utilization is improved, but task scheduling and resource management become more complex

Engineering Contradiction:
Improveresource utilizationVSAvoidmulti-tenant management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The pipeline manager is designed as a universal resource allocator that can manage multiple tenants' workloads through a unified interface. Task descriptors use a standardized format that can represent different compute functions and execution requirements, allowing the same hardware resources to be dynamically allocated to different tenants based on their needs. This universal management approach improves resource utilization while containing multi-tenant complexity within the software layer.

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

Solution Approach 2:

The system implements feedback mechanisms where the pipeline manager monitors resource availability and task execution status, then adjusts scheduling decisions accordingly. Task descriptors include information about resource requirements and execution dependencies, allowing the manager to make informed scheduling decisions that optimize resource utilization across multiple tenants. This feedback-driven approach enables efficient multi-tenant management without requiring complex manual configuration.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20240069965A1Systems and methods for executing compute functions
Publication Date: 2024.02.29 SAMSUNG ELECTRONICS CO LTD
  • US20240069965A1 patent drawing
  • US20240069965A1 patent drawing
  • US20240069965A1 patent drawing

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.