Parallel Data Processing via Packet Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software resources for von Neumann computers cannot be directly used in parallel computers due to differences in instruction sets, leading to complications in compiler and interpreter technologies, which affect parallelism and operation speed.

Innovation Solution

A data processing apparatus with multiple processing units that process packets containing data and extended identification information, allowing each unit to execute specific instructions based on address information determined by the extended identification information, enabling efficient parallel processing while utilizing existing software resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If compiler technology is used to generate executable code for parallel computer from von Neumann source program, then existing software resources can be utilized, but parallelism improvement involves complication of compiler and increase of compiling time

Engineering Contradiction:
Improveuse of existing software resourcesVSAvoidcomplexity of compiler
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces packets as an intermediary carrier that combines data and control information. Instead of requiring a complex compiler to translate von Neumann instructions directly into parallel architecture instructions, the system uses packets to mediate between the existing software and the parallel processing hardware, allowing instructions to be transmitted and executed without complex compilation transformations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements dynamic packet routing where packets are directed to specific processing units based on their content and destination information. This dynamic approach allows the system to adapt to different processing requirements without requiring a complex compiler, as the routing decisions are made at execution time based on packet characteristics.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If interpreter technology is used to execute source program sequentially, then existing software resources can be utilized, but parallelism improvement involves complication of interpreter and deterioration of operation speed

Engineering Contradiction:
Improveuse of existing software resourcesVSAvoidoperation speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent performs preliminary packaging of data and control information into packets before execution. This preliminary action allows the system to prepare instructions in advance in a format suitable for parallel processing, eliminating the need for complex interpreter transformations during execution and maintaining high operation speed while supporting existing software resources.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the execution process into discrete packet-based units that can be independently processed by different processing units. This segmentation enables parallel execution without requiring complex interpreter modifications, as each packet represents an independent unit of work that can be distributed and executed simultaneously.

Inventive Principle:
Principle #1Segmentation

3Productivity

If data-driven architecture is used for parallel processing, then many instructions can be processed in parallel, but existing software resources for von Neumann computer cannot be used as they are

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidcompatibility with existing software
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal packet format that can carry both von Neumann architecture instructions and data, allowing the same packet-based system to execute existing software while providing parallel processing capability. This multi-functional packet design enables the system to be compatible with existing software resources while achieving the desired parallelism.

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

Solution Approach 2:

The packet serves as an intermediary that bridges the gap between von Neumann architecture and data-driven parallel architecture. It allows existing software instructions to be transmitted and executed in a parallel environment without requiring direct compatibility between the two architectures, thus maintaining productivity while enabling parallel processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10025594B2Parallel data processing apparatus, system, and method
Publication Date: 2018.07.17 MUSH A
  • US10025594B2 patent drawing
  • US10025594B2 patent drawing
  • US10025594B2 patent drawing

AI summary

A data processing apparatus includes a plurality of processing units configured to process packets each including data and extended identification information added to the data, the extended identification information including identification information for identifying the data and instruction information indicating one or more processing instructions to the data, each processing unit in the plurality of processing units including: an input/output unit configured to obtain, in the packets, only a packet whose address information indicates said each processing unit in the plurality of processing units, the address information determined in accordance with the extended identification information; and an operation unit configured to execute the processing instruction in the packet obtained by the input/output unit.