Multi-Core Data Read Write Thread Grouping for Storage Delay
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-core computer systems, the large data transmission delay between cores significantly affects the completion time of data read/write operations, impacting the overall task completion time, particularly in real-time operating systems where timely processing is critical.
Innovation Solution
A method where a host device groups execution threads into thread groups and assigns indication identifiers to each group, allowing the storage device to directly transmit data read/write instructions to the corresponding thread groups using the Direct Memory Access (DMA) protocol, reducing signaling and data transmission delays.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data read/write operations are performed cooperatively by multiple cores in a multi-core system, then task execution capability is improved, but data transmission delay between cores increases
Solution Approach 1:
The patent segments the multi-core system into multiple independent execution thread groups, where each group can perform data read/write operations autonomously. By dividing the cooperative task into independent segments that can execute simultaneously without requiring inter-core data transmission, the system maintains high productivity while eliminating transmission delays.
Solution Approach 2:
The patent introduces an intermediary mechanism (the execution thread group management system) that coordinates data read/write operations between cores and storage devices. This intermediary handles the complexity of multi-core coordination, allowing cores to work in parallel without direct communication overhead, thus resolving the contradiction between cooperative execution and transmission delay.
2Productivity
If data read/write operations require cooperative execution across multiple cores, then processing capacity is improved, but completion time of data read/write operations increases
Solution Approach 1:
The patent divides the data read/write operation into independent execution thread groups that can operate simultaneously. Each group handles specific data operations autonomously, eliminating the sequential coordination overhead between cores. This segmentation allows the system to maintain high processing capacity while reducing the completion time of individual data read/write operations.
Solution Approach 2:
The patent performs preliminary grouping of execution threads into dedicated thread groups before data read/write operations begin. This preliminary organization establishes independent execution paths in advance, so that when data operations need to be performed, multiple cores can immediately execute in parallel without requiring real-time coordination, thus reducing completion time while maintaining processing capacity.
3Productivity
If execution threads are grouped and directed to specific cores for data read/write operations, then data transmission efficiency is improved, but system complexity increases
Solution Approach 1:
The patent creates execution thread groups that can be universally applied to different data read/write operations. The same grouping mechanism and indication identifier system work across all cores and storage devices in the system, providing a universal solution that improves data transmission efficiency without requiring complex, operation-specific customization for each scenario.
Solution Approach 2:
The patent introduces indication identifiers as a new parameter to track and manage execution thread groups. By changing the system state to include these identifiers in data read/write instructions, the system can efficiently route operations to appropriate cores and thread groups. This parameter change provides a simple, uniform mechanism that improves transmission efficiency while adding minimal complexity compared to more sophisticated routing schemes.
Data Source
AI summary
Embodiments of the present invention provide a data read/write method and apparatus, a storage device, and a computer system, so as to reduce completion time of a data read/write operation in a multi-core computer system. The method includes: determining, by a host device, N cores used for executing a target process, where the N cores are in a one-to-one correspondence with N execution threads included in the target process; grouping the N execution threads to determine M execution thread groups, and allocating an indication identifier to each execution thread group; and sending M data read/write instructions to a storage device, where each data read/write instruction includes an indication identifier of a corresponding execution thread group.


