Parallel Processing Device Core Allocation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If the number of threads is increased to utilize more CPU cores, then processing throughput improves, but system resource management complexity increases
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.
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.
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
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.
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.
Data Source
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.


