Multi-Core GEMM Scheduling with Grid Splitting to Cut I/O
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The optimization of General Matrix Multiplication (GEMM) on multi-core systems is challenging due to varying core organizations and storage configurations, leading to inefficiencies in task splitting and increased I/O bottlenecks, which affect performance.
Innovation Solution
A task scheduling method for multi-core systems that optimizes matrix multiplication-type operations by determining the number of schedulable computing units, splitting tasks using a row-column grid method, and minimizing data interaction with external circuits to improve parallel processing efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If task splitting is performed on multi-core systems with varying core organizations and storage configurations, then the system can support different architectures, but the task splitting efficiency deteriorates leading to increased I/O bottlenecks
Solution Approach 1:
The patent segments the matrix multiplication task into sub-tasks that are distributed across multiple computing units. Each computing unit processes a specific portion of the matrix operation, reducing the I/O burden on individual units while maintaining overall system efficiency. The task is divided into smaller chunks that can be processed independently and in parallel.
Solution Approach 2:
The patent optimizes task splitting by considering the specific characteristics of each computing unit's local storage capacity. Different computing units receive different amounts of data based on their local memory size, allowing each unit to operate at optimal efficiency without being constrained by uniform task allocation. This local optimization resolves the contradiction between adaptability and productivity.
2Productivity
If more computing units are utilized for parallel processing, then processing efficiency improves, but data interaction with external circuits increases causing I/O bottlenecks
Solution Approach 1:
The patent performs preliminary action by pre-loading data into the local storage of computing units before the actual parallel processing begins. Each computing unit receives and stores the necessary data portions in advance, based on its local storage capacity. This preliminary data preparation reduces the need for frequent external I/O operations during the parallel computation phase, thereby reducing energy loss from data interaction while maintaining high parallel processing efficiency.
3Ease of manufacture
If uniform task splitting is applied across all computing units, then implementation simplicity is maintained, but performance optimization is reduced due to varying storage capacities
Solution Approach 1:
The patent introduces dynamics into the task splitting process by making the data allocation flexible based on each computing unit's local storage capacity. Instead of uniform static allocation, the system dynamically adjusts the amount of data assigned to each computing unit according to its specific storage characteristics. This dynamic approach maintains reasonable implementation complexity while significantly improving processing performance by optimizing data utilization across heterogeneous computing units.
Data Source
Figure 1~2
Figure 3
Figure 4
AI summary
The present disclosure discloses a task scheduling method based on a multi-core system, a task scheduling apparatus and related products. The task scheduling apparatus is included as a processing apparatus in a combined processing apparatus, and the combined processing apparatus further includes an interface apparatus and a computing apparatus. The computing apparatus interacts with the processing apparatus to jointly complete a computing operation specified by a user. The combined processing apparatus further includes a storage apparatus, which is connected to the computing apparatus and the processing apparatus respectively and is configured to store data of the computing apparatus and the processing apparatus. The solution of the present disclosure provides a method for scheduling a matrix multiplication-type operation task on a multi-core system, which may effectively reduce data IO and improve processing efficiency.