Method and system for task allocation under a multi-level shared cache architecture
A technology of high-speed caching and task allocation, applied in the architecture with a single central processing unit, resource allocation, general-purpose stored program computer, etc. The effect of distribution efficiency
- Summary
- Abstract
- Description
- Claims
- Application Information
AI Technical Summary
Problems solved by technology
Method used
Image
Examples
Embodiment 1
[0050] A method for task allocation under a multi-level shared cache architecture, wherein the shared caches are all at the same level and the number is greater than 2, each shared cache is connected to the same number of cores, and each core can only allocate one task. Each task corresponds to a program, there is no data sharing between programs, and the program hotspots are loops. The number of tasks is greater than the number of shared caches and not greater than the number of all cores, that is, cores do not have hyperthreading when they are working.
[0051] Wherein, the task allocation can be performed in the same processor, or can be performed among multiple processors that share a cache.
[0052] The task assignment method includes the steps of:
[0053] 1) Extract the number of tasks, the number of cores connected to a single shared cache, and the number of shared caches; each task corresponds to a program, and for each program to be allocated, the corresponding foot...
Embodiment 2
[0061] A method for task allocation under the multi-level shared cache architecture based on embodiment 1, the difference is that step 2) is replaced by: 2A) calculate the locality parameter of each program, and then divide the program according to the size of the locality parameter of the program Sorting is performed to obtain a sorting sequence. At this time, each program is used as a sorting unit;
[0062] Wherein, the locality parameter of the program is the ratio of the footprint value of the program to the address sequence length value;
[0063] 2B) If the number of sorting units is greater than twice the number of shared caches, merge the sorting units at both ends of the sorting sequence into a subgroup; merge the remaining sorting units at both ends of the sorting sequence into a subgroup, and repeat until All sorting units form subgroups, or only one sorting unit is left; at this time, each subgroup is used as a new sorting unit, and if there are remaining sorting un...
Embodiment 3
[0070] A method for task allocation under a multi-level shared cache architecture, wherein, during task allocation, for each program to be allocated, the corresponding footprint value and address sequence length value are pre-calculated through off-line analysis. The first allocation method arranges and combines all tasks, enumerates all task allocation methods, calculates the locality parameters (footprint value / address sequence length value) of the task allocation method as the discriminant parameter, and selects the task with the smallest locality parameter The allocation method is used as the optimal task allocation method. The second algorithm directly calculates the locality parameter (footprint value / address sequence length value) of each task, and divides the tasks evenly through the size of the locality parameter to minimize the difference in locality parameters between tasks on each shared cache. What is obtained in this way is the optimal task allocation method.
...
PUM
Login to View More Abstract
Description
Claims
Application Information
Login to View More 


