Job Processing Contention Reduction via Stream Prioritization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data processing systems face inefficiencies due to the need to repeatedly swap ancillary data between local and external storage, leading to increased processing time and memory congestion, as they handle multiple data streams with limited memory capacity.

Innovation Solution

A method and system for optimizing job processing by determining an ordered list of candidate jobs within a data processor, prioritizing jobs to reuse readily-accessible context data and minimize contention for shared resources, thereby reducing the frequency of external memory access and optimizing resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If ancillary data is stored in low-latency local storage devices, then processing time is reduced, but memory capacity is limited requiring repeated swaps to external storage

Engineering Contradiction:
Improveprocessing timeVSAvoidmemory capacity
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The system proactively loads ancillary data into local storage before it is needed for processing. The load manager monitors job queues and anticipates which ancillary data will be required, loading it into local storage in advance. This prevents data from being unavailable when needed, reducing processing delays while managing limited local storage capacity efficiently.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts the allocation and size of local storage allocated to different data streams based on their activity patterns and priority. The load manager can reallocate local storage space between streams as needs change, allowing hot streams to use more local cache while cold streams use less, optimizing the trade-off between processing speed and storage capacity utilization.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If ancillary data is repeatedly swapped between local and external storage, then memory capacity constraints are managed, but memory bus congestion increases

Engineering Contradiction:
Improvememory capacity managementVSAvoidmemory bus throughput
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The load manager loads ancillary data into local storage before processing jobs that require it, rather than waiting for the data to be requested. This proactive loading smooths out memory access patterns by performing transfers during periods of lower system activity, reducing peak memory bus utilization and preventing congestion during critical processing periods.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The load manager acts as an intermediary layer between external storage and the processing system. It manages the buffering and transfer of ancillary data, absorbing the variability in access patterns and preventing direct, frequent access to external storage. This intermediary role allows the system to batch memory operations and reduce overall memory bus traffic.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If multiple data streams are processed simultaneously, then system throughput is increased, but contention for shared resources increases

Engineering Contradiction:
Improvesystem throughputVSAvoidresource contention management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system dynamically changes the priority parameters of different data streams based on their current state and resource availability. The load manager can adjust stream priorities in real-time, allowing critical streams to preempt less urgent ones when resources are contended. This dynamic parameter adjustment enables the system to maintain high throughput while managing resource contention through priority-based scheduling rather than complex arbitration.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9286118B2System and method for improved job processing to reduce contention for shared resources
Publication Date: 2016.03.15 NXP USA INC
  • US9286118B2 patent drawing
  • US9286118B2 patent drawing
  • US9286118B2 patent drawing

AI summary

A method of processing a job is presented. A packet selector determines a candidate job list including an ordered listing of candidate jobs. Each candidate job in the ordered listing belongs to a communication stream. One or more shared resources required for execution of a first job in the candidate job list are identified. Whether the first job is eligible for execution is determined by determining an availability of the one or more shared resources required for the first job, and, when the one or more shared resource required for the first job are unavailable and no jobs executing within the data processor are from the same communication stream as the first job, determining that the first job is not eligible for execution.