Parallel Processing Device Core Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developers face challenges in effectively utilizing multiple CPU cores for parallel processing, particularly in complex systems like large-scale matching and recognition systems, due to the complexity of parallel programming and performance tuning across varying system configurations.

Innovation Solution

A parallel processing device and method that involves selecting subsets of data for processing based on processor performance or function, allowing multiple processors to execute unit processing tasks in parallel, with a selection unit and processor control units managing data input and processing to optimize core utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If parallel processing is implemented using multiple CPU cores, then processing speed and throughput are improved, but programming complexity and difficulty of utilization increase

Engineering Contradiction:
Improveprocessing speedVSAvoidprogramming complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system automatically determines the number of threads to create based on the number of available CPU cores without requiring manual configuration. The thread creation unit dynamically adapts to the hardware environment, allowing the system to self-optimize parallel processing performance while abstracting away the complexity of thread management from the programmer.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The processing task is automatically divided into multiple threads corresponding to different CPU cores. The parallel processing unit segments the workload and distributes it across available cores, enabling efficient utilization of multi-core processors while hiding the segmentation logic from the user.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the number of threads is increased to utilize more CPU cores, then processing throughput improves, but system resource management complexity increases

Engineering Contradiction:
ImprovethroughputVSAvoidresource management ease
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system queries the operating system to detect the number of available CPU cores and uses this feedback information to dynamically adjust the number of threads created. This feedback mechanism ensures that the parallel processing system adapts to the actual hardware resources available, optimizing throughput while automatically managing resource allocation without manual intervention.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The number of processing threads is dynamically changed based on the detected number of CPU cores. The system adjusts this critical parameter automatically, allowing optimal utilization of available resources while simplifying operation for users who don't need to manually tune thread counts.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If manual thread creation and management is required, then processing can be customized, but the burden on developers for performance tuning increases

Engineering Contradiction:
Improveprocessing customizationVSAvoiddeveloper burden
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The parallel processing unit provides a universal interface that automatically handles thread creation and management for different numbers of CPU cores. This multi-functional component can adapt to various hardware configurations and processing requirements without requiring separate implementation approaches, reducing developer burden while maintaining versatility.

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

Solution Approach 2:

The thread creation unit acts as an intermediary between the high-level processing logic and the underlying multi-core hardware. It translates processing requirements into appropriate thread configurations, shielding developers from the complexity of direct thread management while enabling efficient parallel execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10025603B2Parallel processing device, parallel processing method, and parallel processing program storage medium
Publication Date: 2018.07.17 NEC CORP
  • US10025603B2 patent drawing
  • US10025603B2 patent drawing
  • US10025603B2 patent drawing

AI summary

Provided is a parallel processing device whereby a plurality of single processes is efficiently and simply parallel processed by a plurality of processors. The parallel processing device includes: a first processor which executes, upon data which is included in data sets, a first program which defines a single process which is executed with the data as an input thereof, and outputs a first result; and includes a second processor which executes, upon the inputted data, a second program which defines a unit process and outputs a second result. A selection unit selects, based on a prescribed index which denotes either performance or function of the first processor and the second processor, a first partial set and a second partial set from the data set. A first processor control unit inputs into the first processor first data which is included in the first partial set. A second processor control unit inputs into the second processor second data which is included in the second partial set. The first and second programs are executed in parallel by the first and second processors.