Automatic generation of cache-optimized code
First Claim
Patent Images
1. A non-transitory computer-readable memory device that stores instructions, the instructions comprising:
- one or more instructions that, when executed by a processor, cause the processor to;
receive cache conditions and data of a software application;
determine related sections of code of the software application;
receive an input,the input specifying;
one or more particular related sections of code of the software application, andspecific cache conditions;
determine a cache management scheme based on the cache conditions;
align the determined related sections of the code and the particular related sections of the code based on the cache management scheme to create aligned code;
group that aligned code into one or more first sections;
distribute the grouped code into one or more second sections in a memory;
receive information regarding a section of the one or more second sections,the information being based on;
a size of the section, anda frequency of access of the section; and
lock, based on the received information, the section in a cache for a particular period of time.
1 Assignment
0 Petitions
Accused Products
Abstract
A system receives cache conditions and software information related to a software application, and automatically generates an optimal cache management scheme for the software application based on the received cache conditions and software information.
24 Citations
22 Claims
-
1. A non-transitory computer-readable memory device that stores instructions, the instructions comprising:
one or more instructions that, when executed by a processor, cause the processor to; receive cache conditions and data of a software application; determine related sections of code of the software application; receive an input, the input specifying; one or more particular related sections of code of the software application, and specific cache conditions; determine a cache management scheme based on the cache conditions; align the determined related sections of the code and the particular related sections of the code based on the cache management scheme to create aligned code; group that aligned code into one or more first sections; distribute the grouped code into one or more second sections in a memory; receive information regarding a section of the one or more second sections, the information being based on; a size of the section, and a frequency of access of the section; and lock, based on the received information, the section in a cache for a particular period of time. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. A system comprising:
a device, including a processor, to; receive software information, cache information, and optimization rules, the software information comprising related sections of code or data of a program, receive an input, the input specifying; particular related sections of the code or the data of the program, and particular cache conditions, generate a cache management scheme based on; the cache information, and the optimization rules, align the related sections of the code and the particular related sections of the code based on the cache management scheme to create aligned code; group that aligned code into one or more first sections; distribute the grouped code into one or more second sections in a memory; receive information regarding a section of the one or more second sections, the information being based on; a size of the section, and a frequency of access of the section; and lock, based on the received information, the section in a cache for a particular period of time. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15)
-
16. A method comprising:
-
receiving cache conditions and data of a software application, the receiving being performed by a computing device; determining related sections of code of the software application, the determining being performed by the computing device; receiving an input, the input specifying; one or more particular related sections of code of the software application, and specific cache conditions, and the receiving the input being performed by the computing device; determining a cache management scheme based on the cache conditions, the determining the cache management scheme being performed by the computing device; aligning the determined related sections of the code and the particular related sections of the code based on the cache management scheme to create aligned code, the aligning being performed by the computing device; grouping that aligned code into one or more first sections, the grouping being performed by the computing device; distributing the grouped code into one or more second sections in a memory, the distributing being performed by the computing device; receiving information regarding a section of the one or more second sections, the information being based on; a size of the section, and a frequency of access of the section, and the receiving the information being performed by the computing device; and locking, based on the received information, the section in a cache for a particular period of time, the locking being performed by the computing device. - View Dependent Claims (17, 18)
-
-
19. A device comprising:
-
a memory to store instructions; and a processor to execute the instructions to; receive software information, cache information, and optimization rules, the software information comprising related sections of code or data of a program, receive an input, the input specifying; particular related sections of the code or the data of the program, and particular cache conditions, generate a cache management scheme based on; the cache information, and the optimization rules, align the related sections of the code and the particular related sections of the code based on the cache management scheme to create aligned code; group that aligned code into one or more first sections; distribute the grouped code into one or more second sections in a memory; receive information regarding a section of the one or more second sections, the information being based on; a size of the section, and a frequency of access of the section; and lock, based on the received information, the section in a cache for a particular period of time. - View Dependent Claims (20, 21, 22)
-
Specification