Optimization of cache configuration for application design
First Claim
1. A device comprising:
- a multi-core processor communicatively coupled to one or more caches, each core, of the multi-core processor, to;
execute application code in a first cache environment to obtain a first result,the first cache environment being based on a first cache configuration that is associated with the application code,the first result including a first execution time associated with executing the application code in the first cache environment,determine a second cache configuration based on the first result,execute the application code in a second cache environment to obtain a second result,the second cache environment being based on the second cache configuration,the second result including a second execution time associated with executing the application code in the second cache environment,compare the first result, including the first execution time, with the second result including the second execution time,select one of the first cache configuration or the second cache configuration as a selected cache configuration for the application code based on comparing the first result with the second result,the first cache configuration being selected as the selected cache configuration for the application code when the first execution time is less than the second execution time, andthe second cache configuration being selected as the selected cache configuration for the application code when the second execution time is less than the first execution time, andconfigure the one or more caches based on the selected one of the first cache configuration or the second cache configuration.
0 Assignments
0 Petitions
Accused Products
Abstract
A device may execute application code in a first cache environment to obtain a first result. The first cache environment may be based on a first cache configuration that is associated with the application code. The device may determine a second cache configuration based on the first result and execute the application code in a second cache environment to obtain a second result. The second cache environment may be based on the second cache configuration. The device may select one of the first cache configuration or the second cache configuration as a selected cache configuration for the application code based on comparing the first result with the second result, and may configure the one or more caches based on the selected one of the first cache configuration or the second cache configuration.
-
Citations
22 Claims
-
1. A device comprising:
a multi-core processor communicatively coupled to one or more caches, each core, of the multi-core processor, to; execute application code in a first cache environment to obtain a first result, the first cache environment being based on a first cache configuration that is associated with the application code, the first result including a first execution time associated with executing the application code in the first cache environment, determine a second cache configuration based on the first result, execute the application code in a second cache environment to obtain a second result, the second cache environment being based on the second cache configuration, the second result including a second execution time associated with executing the application code in the second cache environment, compare the first result, including the first execution time, with the second result including the second execution time, select one of the first cache configuration or the second cache configuration as a selected cache configuration for the application code based on comparing the first result with the second result, the first cache configuration being selected as the selected cache configuration for the application code when the first execution time is less than the second execution time, and the second cache configuration being selected as the selected cache configuration for the application code when the second execution time is less than the first execution time, and configure the one or more caches based on the selected one of the first cache configuration or the second cache configuration. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. A method comprising:
-
executing application code in a first cache environment to obtain a first result, the first cache environment being based on a first cache configuration that is associated with the application code, the first result including a first execution time associated with executing the application code in the first cache environment, and the executing the application code in the first cache environment being performed by a multi-core processor; executing the application code in a second cache environment to obtain a second result, the second cache environment being based on a second cache configuration that is determined based on the first result, the second result including a second execution time associated with executing the application code in the second cache environment, the second cache environment differing from the first cache environment, and the executing the application code in the second cache environment being performed by the multi-core processor; comparing the first result, including the first execution time, with the second result including the second execution time, the comparing the first result with the second result being performed by the multi-core processor, where comparing the first result with the second result includes; determining whether the first execution time is less than the second execution time; and selecting one of the first cache configuration or the second cache configuration as a selected cache configuration for the application code, based on comparing the first result with the second result, the selecting being performed by the multi-core processor, the first cache configuration being selected as the selected cache configuration for the application code when the first execution time is less than the second execution time, and the second cache configuration being selected as the selected cache configuration for the application code when the first execution time is not less than the second execution time. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A device comprising:
a multi-core processor communicatively coupled to one or more caches, the multi-core processor to; execute the application code in a first cache environment to obtain a first result, the first cache environment being based on a first cache configuration, the first result including a first execution time associated with executing the application code in the first cache environment, determine a second cache configuration based on the first result, execute the application code in a second cache environment to obtain a second result, the second cache environment being based on the second cache configuration, the second result including a second execution time associated with executing the application code in the second cache environment, compare the first result with the second result, and select one of the first cache environment or the second cache environment as a selected cache environment based on comparing the first result with the second result, the first cache environment being selected as the selected cache environment when the first execution time is less than the second execution time, and the second cache environment being selected as the selected cache environment when the first execution time is not less than the second execution time. - View Dependent Claims (14, 15, 16, 17, 18)
-
19. A non-transitory computer-readable medium storing instructions, the instructions comprising:
one or more instructions executable by a multi-core processor to; execute application code in a first cache environment to obtain a first result, the first cache environment being based on a first cache configuration that is associated with the application code, and the first result including a first execution time associated with executing the application code in the first cache environment, determine a second cache configuration based on the first result, execute the application code in a second cache environment to obtain a second result, the second cache environment being based on the second cache configuration, and the second result including a second execution time associated with executing the application code in the second cache environment, compare the first result with the second result, select one of the first cache configuration or the second cache configuration as a selected cache configuration for the application code based on comparing the first result with the second result, the first cache configuration being selected as the selected cache configuration for the application code when the first execution time is less than the second execution time, and the second cache configuration being selected as the selected cache configuration for the application code when the first execution time is not less than the second execution time, and configure one or more caches based on the selected cache configuration. - View Dependent Claims (20)
-
21. A non-transitory computer-readable medium storing instructions, the instructions comprising:
one or more instructions executable by a multi-core processor to; perform a static cache analysis on application code to obtain a first result, execute the application code in a first cache environment to obtain a second result, the first cache environment being based on a first cache configuration, the second result including a first execution time associated with executing the application code in the first cache environment, determine a second cache configuration based on the first result and the second result, execute the application code in a second cache environment to obtain a third result, the second cache environment being based on the second cache configuration, the third result including a second execution time associated with executing the application code in the second cache environment, compare the second result with the third result, and select one of the first cache environment or the second cache environment as a selected cache environment based on comparing the second result with the third result, the first cache environment being selected as the selected cache environment when the first execution time is less than the second execution time, and the second cache environment being selected as the selected cache environment when the first execution time is not less than the second execution time. - View Dependent Claims (22)
Specification