Dynamic Thread Switching for Parallel Data Stream Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing information processing systems face challenges in efficiently processing and outputting a large number of data streams in parallel, particularly when displaying moving image thumbnails, due to increased system load and potential frame drops caused by varying decoding rates of multiple threads.

Innovation Solution

The method involves creating threads for processing and storing intermediate data in buffers, with dynamic switching based on predetermined thresholds to manage texture data storage, allowing for efficient allocation of processing resources and reducing frame drops by prioritizing threads with lower decoding rates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the number of threads is increased to process more data streams in parallel, then the parallel processing capability is improved, but the system load increases and frame drops occur

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidframe drop rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements dynamic thread switching based on buffer status. The system monitors the amount of intermediate data in buffers and dynamically adjusts which threads are active, switching from threads with high buffer accumulation to those with low accumulation. This dynamic adjustment allows the system to maintain high parallel processing capability while preventing buffer overflow that causes frame drops.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent employs feedback control by continuously detecting the amount of intermediate data stored in buffers and using this information to control thread execution. When a thread's buffer exceeds a predetermined threshold, the system switches to other threads, creating a feedback loop that maintains system stability and prevents frame drops while maximizing parallel processing throughput.

Inventive Principle:
Principle #23Feedback

2Productivity

If the number of threads is increased to display more thumbnails, then the output parallelism is improved, but the system load increases making it difficult to ensure predetermined output rates

Engineering Contradiction:
Improvethumbnail display capacityVSAvoidsystem load
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the processing system into independent threads, each handling a specific data stream with its own buffer. This segmentation allows the system to manage multiple thumbnails independently, switching between threads based on individual buffer status rather than managing a monolithic high-load system. The segmentation reduces overall system complexity by isolating processing loads.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the operational parameters of threads dynamically based on buffer status. Instead of running all threads at constant high load, the system adjusts thread execution parameters (active/inactive state) based on real-time buffer conditions. This parameter change allows high thumbnail display capacity while maintaining manageable system load through selective thread activation.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If intermediate data is accumulated in buffers for parallel output, then the parallel output capability is improved, but buffer overflow may occur causing processing delays

Engineering Contradiction:
Improveparallel output rateVSAvoidprocessing delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary action by proactively switching threads before buffer overflow occurs. The system monitors buffer levels and switches from a thread whose buffer is approaching full capacity to another thread, preventing buffer overflow and the associated processing delays. This preliminary switching action maintains continuous parallel output capability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements skipping by rapidly switching between threads based on buffer status. When a thread's buffer approaches full capacity, the system skips ahead to another thread with available buffer space, rushing through the potential bottleneck before it causes delays. This skipping mechanism maintains high parallel output rates by avoiding buffer overflow-induced stalls.

Inventive Principle:
Principle #21Skipping (Rushing through)

Data Source

PatentUS8036474B2Information processing apparatus enabling an efficient parallel processing
Publication Date: 2011.10.11 SONY INTERACTIVE ENTERTAINMENT LLC
  • US8036474B2 patent drawing
  • US8036474B2 patent drawing
  • US8036474B2 patent drawing

AI summary

A method of processing information, includes: creating threads for respective input data streams, and switching them for processing, the threads each being for applying predetermined processing to an input data stream and storing the resulting intermediate data into a buffer; and reading multiple pieces of the intermediate data from the respective corresponding buffers to output multiple pieces of output data in parallel. The switching for processing includes: detecting the amount of intermediate data that is stored and yet to be read in the buffers when starting processing the threads; and stopping processing of the thread when the amount of the intermediate data thereof exceeds a set value, and switching processing to other threads.