User-Interactive Application Pipelining with Managed Buffers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems face inefficiencies in processing large volumes of data for pipelined and dataflow computing applications, leading to longer processing latencies due to serial execution of stages and suboptimal utilization of hardware resources.

Innovation Solution

Implementing a buffer-pipelined application system (BPAS) that utilizes pipeline buffers to enable interactive pipelining of execution stages, allowing concurrent processing of data batches through a buffer-pipeline manager (BPM) to allocate resources efficiently among physical memories.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If serial execution of processing stages is used, then device complexity is reduced, but processing latency increases and productivity decreases

Engineering Contradiction:
Improveexecution control complexityVSAvoidprocessing latency
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent segments the processing application into multiple independent stages that can execute in parallel. Each stage is assigned to different processing elements and operates on different portions of the input data simultaneously, thereby reducing overall processing latency without requiring complex inter-stage coordination hardware.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by pre-allocating buffer memory regions for each processing stage before execution begins. Input data is pre-loaded into input buffers, and output buffers are pre-configured to receive results, eliminating runtime memory management overhead and reducing execution latency.

Inventive Principle:
Principle #10Preliminary action

2Speed

If parallel execution of processing stages is implemented, then processing speed increases, but resource utilization becomes suboptimal

Engineering Contradiction:
Improveprocessing speedVSAvoidresource utilization
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent ensures continuity of useful action by implementing a buffering system that maintains continuous data flow between processing stages. While one stage is processing data, other stages simultaneously process different data portions, and completed results are immediately transferred to output buffers, preventing idle processing elements and maximizing resource utilization.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent introduces buffer memory as an intermediary between processing stages. These buffers decouple the execution of different stages, allowing each stage to operate independently at its own pace while maintaining overall system throughput, thereby improving both speed and resource utilization simultaneously.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of time

If buffer pipelining is implemented, then processing latency is reduced, but device complexity increases

Engineering Contradiction:
Improveprocessing latencyVSAvoidbuffer management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent implements a universal buffer management approach where a single buffer pool serves multiple processing stages. The same buffer memory regions are dynamically allocated and deallocated for different stages throughout execution, eliminating the need for dedicated buffers for each stage and reducing overall system complexity while maintaining low latency.

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

Data Source

PatentUS12443471B2System and method for user interactive pipelining of a computing application
Publication Date: 2025.10.14 SAMBANOVA SYSTEMS INC
  • US12443471B2 patent drawing
  • US12443471B2 patent drawing
  • US12443471B2 patent drawing

AI summary

A method of pipelining execution stages of a pipelined application can comprise a Buffer Pipeline Manager (BPM) of a Buffer Pipelined Application computing System (BPAS) allocating pipeline buffers, configuring access to the pipeline buffers by stage processors of the system, transferring buffers from one stage processor to a successor stage processor, and transferring data from a buffer in one memory to a buffer in an alternative memory. The BPM can allocate the buffers based on execution parameters associated with the pipelined application and/or stage processors. The BPM can transfer data to a buffer in an alternative memory based on performance, capacity, and/or topological attributes of the memories and/or processors utilizing the memories. The BPM can perform operations of the method responsive to interfaces of a Pipeline Programming Interface (PPI). A BPAS can comprise hardware processors, physical memories, stage processors, an application execution program, the PPI, and the BPM.