Multi-core Stream Processor Scheduler with Bottleneck Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In conventional multi-core stream processing systems, the varying workloads of stream processing units lead to suboptimal utilization rates, negatively impacting system performance.

Innovation Solution

A multi-core stream processing system with N stream processing units and N+1 stream fetching units, where a scheduler determines whether each unit encounters a bottleneck condition and dynamically assigns stream elements to non-bottleneck units for processing, ensuring efficient resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If each stream processing unit processes streams independently, then the system can handle multiple streams simultaneously, but the utilization rate of each unit cannot be optimized due to varying workloads

Engineering Contradiction:
Improvesystem performanceVSAvoidworkload adaptation
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The scheduler continuously monitors the status of each stream processing unit and uses this feedback information to dynamically adjust stream element distribution. When a unit encounters a bottleneck condition, the scheduler redirects streams to other units, creating a closed-loop control system that optimizes utilization based on real-time performance data

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically adjusts the assignment of stream elements to processing units based on changing workload conditions. The scheduler makes real-time decisions about which unit should process which stream element, allowing the system to adapt to varying workloads and optimize performance on-the-fly rather than using static assignments

Inventive Principle:
Principle #15Dynamics

2Speed

If stream elements are dispatched to the first available processing unit, then the system responds quickly, but bottleneck conditions cause reduced utilization of available units

Engineering Contradiction:
Improvestream element dispatch speedVSAvoidunit utilization rate
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The scheduler monitors bottleneck conditions in each processing unit and uses this feedback to make informed dispatch decisions. Instead of blindly sending streams to the first available unit, the system checks the actual operational state and redirects to units that can truly process streams without causing bottlenecks, thereby maintaining both speed and utilization

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The scheduler acts as an intermediary between stream fetching units and stream processing units. It receives stream elements from fetchers, evaluates the status of processing units, and makes intelligent routing decisions. This intermediary role allows the system to balance quick response with optimal resource allocation by mediating between the fetchers and processors

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8037283B2Multi-core stream processor having (N) processing units and (N+1) fetching units
Publication Date: 2011.10.11 NAT TAIWAN UNIV
  • US8037283B2 patent drawing
  • US8037283B2 patent drawing
  • US8037283B2 patent drawing

AI summary

In a multi-core stream processing system and scheduling method of the same, a scheduler is coupled to a number (N) of stream processing units and a number (N+1) of stream fetching units, where N≧2. When the scheduler receives a stream element from a Pth stream fetching unit, the scheduler assigns a Pth stream processing unit as a target stream processing unit when the Pth stream processing unit does not encounter a bottleneck condition, assigns a Qth stream processing unit, which does not encounter the bottleneck condition, as the target stream processing unit when the Pth stream processing unit encounters the bottleneck condition, where 1≦P≦N, 1≦Q≦N, and P≠Q, and dispatches the received stream element to the target stream processing unit such that the target stream processing unit processes the stream element dispatched from the scheduler.