OPTIMIZATED FUNCTION ASSIGNMENT IN A MULTI-CORE PROCESSOR
First Claim
1. A system comprising:
- a computer processor;
an optimization module executing on the computer processor and configured to enable the computer processor to;
receive a user application, wherein the user application includes a set of functions;
simulate execution of different configurations of the set of functions on a multi-core microprocessor chip, wherein;
the multi-core microprocessor chip comprises a set of tiles arranged in a grid configuration, wherein each tile comprises a processor core and a corresponding router, wherein each router is communicatively coupled with at least one other router to form a network-on-chip and each router implements a deterministic static priority routing policy, andthe different configurations include execution of the set of functions by different groups of tiles;
monitor network traffic patterns of the execution of the different configurations;
rank the different configurations according to ranking criteria, wherein the ranking criteria is used to rank each of the different configurations based on the corresponding network traffic patterns; and
select an optimal configuration of the different configurations based on the ranking.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system including a computer processor; an optimization module executing on the computer processor and configured to enable the computer processor to: receive a user application, where the user application includes a set of functions; simulate execution of different configurations of the set of functions on a multi-core microprocessor chip, where: the multi-core microprocessor chip includes a set of tiles arranged in a grid configuration, where each tile includes a processor core and a corresponding router, where each router is communicatively coupled with at least one other router to form a network-on-chip and each router implements a deterministic static priority routing policy, and the different configurations include execution of the set of functions by different groups of tiles; monitor network traffic patterns of the execution of the different configurations; rank the different configurations according to ranking criteria, where the ranking criteria is used to rank each of the different configurations based on the corresponding network traffic patterns; and select an optimal configuration of the different configurations based on the ranking.
30 Citations
20 Claims
-
1. A system comprising:
-
a computer processor; an optimization module executing on the computer processor and configured to enable the computer processor to; receive a user application, wherein the user application includes a set of functions; simulate execution of different configurations of the set of functions on a multi-core microprocessor chip, wherein; the multi-core microprocessor chip comprises a set of tiles arranged in a grid configuration, wherein each tile comprises a processor core and a corresponding router, wherein each router is communicatively coupled with at least one other router to form a network-on-chip and each router implements a deterministic static priority routing policy, and the different configurations include execution of the set of functions by different groups of tiles; monitor network traffic patterns of the execution of the different configurations; rank the different configurations according to ranking criteria, wherein the ranking criteria is used to rank each of the different configurations based on the corresponding network traffic patterns; and select an optimal configuration of the different configurations based on the ranking. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method comprising:
-
receiving a user application, wherein the user application includes a set of functions; simulating execution of different configurations of the set of functions on a multi-core microprocessor chip, wherein; the multi-core microprocessor chip comprises a set of tiles arranged in a grid configuration, wherein each tile comprises a processor core and a corresponding router, wherein each router is communicatively coupled with at least one other router to form a network-on-chip and each router implements a deterministic static priority routing policy, and the different configurations include execution of the set of functions by different groups of tiles; monitoring network traffic patterns of the execution of the different configurations; ranking the different configurations according to ranking criteria, wherein the ranking criteria is used to rank each of the different configurations based on the corresponding network traffic patterns; and selecting an optimal configuration of the different configurations based on the ranking. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method comprising:
-
receiving a user application, wherein the user application includes a set of functions to be executed by a multi-core microprocessor chip, wherein the multi-core microprocessor chip comprises a set of tiles each including a processor core and a corresponding router, wherein each router is communicatively coupled with at least one other router to form a network-on-chip grid and each router implements a deterministic static priority routing policy; receiving an identification of a high priority function of the set of functions; identifying one or more tiles with high routing priority according to the static priority routing policy; and assigning execution of the high priority function to the one or more tiles with high routing priority. - View Dependent Claims (20)
-
Specification