Back to results
US 12,547,403 B1Granted
Resource leak detection and reclamation in run-to-completion execution systems
AssigneeAmazon Technologies, Inc.
InventorsTodd Freed, David James Goodell, Schuyler David Thompson
Life of this patent
Estimating the term…
Abstract
Techniques for resource leak detection and reclamation are described. Application code executed by multiple processors is modified, during runtime, to insert an unconditional branch into the code leading to separate accounting code, which registers accesses to particular resources in a data structure. The unconditional branch is later removed and the data structure is analyzed to determine whether ones of the resources have been lost.
Claims20
A computer-implemented method comprising:
- receiving, at a computing device, a request to perform an accounting of a set of memory objects utilized within the computing device by processors of the computing device;
- modifying, in a memory utilized by the processors, an original application code to include a control flow instruction, wherein the modifying includes replacing a no-op instruction with an unconditional branch instruction;
- executing, by the processors, the modified application code, comprising executing the unconditional branch instruction to thereafter execute an accounting code, wherein the execution of the accounting code causes a data structure to be updated to indicate an access to a memory object from the set of memory objects, wherein the data structure comprises a bitmap with bit locations corresponding to locations of memory objects;
- after a period of time, reverting the modified application code back to the original application code;
- and
- transmitting a message including a result generated based at least in part on an analysis of the data structure.
3 more elements
A computer-implemented method comprising:
- modifying, in a memory utilized by one or more processors of a computing device, an original application code to include a control flow instruction;
- executing, by the one or more processors, the modified application code, comprising executing the control flow instruction to thereby execute an accounting code, wherein the execution of the accounting code causes a data structure to be updated to indicate an access to a memory object;
- after a period of time, reverting the modified application code back to the original application code;
- and
- transmitting a message including a result generated based at least in part on an analysis of the data structure.
2 more elements
A system comprising:
- a memory of a computing device;
- a plurality of processor cores of the computing device operating as worker processors executing an application, wherein the execution of the application involves utilizing the memory device;
- and
- a processor core of the computing device operating as a control processor, the computing device including instructions that upon execution by the control processor cause the control processor to:
- cause an original application code stored in the memory to be modified to include a control flow instruction, wherein the worker processors, upon executing the control flow instruction, begin execution of an accounting code, wherein the execution of the accounting code causes a data structure to be updated to indicate an access to a memory object;
- after a period of time, cause the modified application code to be reverted back to the original application code;
- and
- transmit a message including a result generated based at least in part on an analysis of the data structure.
5 more elements
Dependencies are inferred from the claim text.