Multiprocessor Data Transfer Using Ring Buffer Tagging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessor systems, efficient data transfer between processors is hindered by the potential for data order alteration and loss due to differing processing speeds, which affects system performance.

Innovation Solution

A data processing system with input and output queues configured as ring buffers, an identifier adding unit, and a block selecting unit ensures data is stored and retrieved in the correct order by using bit maps to manage block states and prevent data loss, maintaining data integrity and order across transfers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is transferred between processors in a multiprocessor system, then processing speed is improved through parallel processing, but data order may be altered or data may be lost due to differing processing speeds

Engineering Contradiction:
Improveprocessing speedVSAvoiddata order integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The queue is divided into multiple blocks, with each block independently managing data storage and transfer. This segmentation allows different processors to operate on different blocks simultaneously, maintaining parallel processing speed while ensuring each block's data order integrity through dedicated management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An identifier is added to data before it is transferred to the queue, indicating its original block position. This preliminary action enables the system to later retrieve and place data in the correct block position, ensuring data order integrity is maintained even when processors operate at different speeds.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 3:

The system uses a bit map to track the state of each block (empty, full, being processed) and provides feedback to control data transfer operations. This feedback mechanism ensures that data is only transferred when the target block is ready, preventing data loss and maintaining order integrity while allowing efficient parallel processing.

Inventive Principle:
Principle #23Feedback

2Reliability

If data is stored in queues for transfer between processors, then data order is maintained, but system complexity increases due to need for block management and identifier tracking

Engineering Contradiction:
Improvedata order maintenanceVSAvoidqueue management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

All blocks in the queue are structured identically with the same format for storing data and managing state information. This homogeneous structure simplifies the management logic, as the same operations can be applied uniformly to any block, reducing overall system complexity while maintaining data order integrity.

Inventive Principle:
Principle #33Homogeneity

Solution Approach 2:

The bit map serves multiple functions: it tracks which blocks are empty, which are full, which are being processed, and provides synchronization information for data transfer operations. This multi-functionality reduces the need for separate management structures, simplifying the overall system while ensuring reliable data order maintenance.

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

3Adaptability or versatility

If processors operate at different speeds, then system adaptability is improved, but data loss may occur due to synchronization issues between fast and slow processors

Engineering Contradiction:
Improveprocessor speed adaptabilityVSAvoiddata loss prevention
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system dynamically adapts to different processor speeds by allowing processors to independently access and process different blocks at their own pace. The bit map dynamically updates to reflect the current state of each block, enabling fast processors to move through multiple blocks while slow processors work through fewer blocks, preventing data loss through synchronized state tracking.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The queue structure provides a buffer zone between producers and consumers, allowing fast processors to fill blocks ahead of time while slow processors gradually consume them. This beforehand cushioning prevents data loss by ensuring that data is safely stored in the queue before being processed, accommodating speed differences without synchronization issues.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS8028284B2Data processing system and program for transferring data
Publication Date: 2011.09.27 SONY INTERACTIVE ENTERTAINMENT LLC
  • US8028284B2 patent drawing
  • US8028284B2 patent drawing
  • US8028284B2 patent drawing

AI summary

A system is provided having a group of processors which performs coordinated processing, wherein data is transferred to the group of processors or from the group of processors. When data is transferred from an input queue, a ring buffer, to the group of processors, an identifier adding unit adds an identifier to the data as a tag, the identifier indicating a block that contains this data in the input queue. When data processed by any one of the processors included in the group of processors is transferred to an output queue, a block selecting unit selects one of blocks of the output queue as a block for storing the data, the one corresponding to the tag added to this data.