IP Library Patent Application 13853791
Patent Application
App. No. 13/853,791

Runtime Memory Settings Derived from Trace Data

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
13/853,791
Abstract

An analysis system may perform network analysis on data gathered from an executing application. The analysis system may identify relationships between code elements and use tracer data to quantify and classify various code elements. In some cases, the analysis system may operate with only data gathered while tracing an application, while other cases may combine static analysis data with tracing data. The network analysis may identify groups of related code elements through cluster analysis, as well as identify bottlenecks from one to many and many to one relationships. The analysis system may generate visualizations showing the interconnections or relationships within the executing code, along with highlighted elements that may be limiting performance.

Claims (36)

1 . A method performed by a computer processor, said method comprising:

tracing an application and gathering performance data for a plurality of code elements related to said application;

determining a first memory setting for a first code element by analyzing said performance data and identifying said first code element as causing a performance effect on said application;

while executing said application, determining that said first code element is to be executed and causing said first code element to be executed with said first memory setting.

2 . The method of claim 1 , said first code element being contained within said application.

3 . The method of claim 2 , said plurality of code elements comprising at least one of a group composed of:

a function defined in said application;

a function defined in a library called by said application;

a method;

a process; and

a thread.

4 . The method of claim 1 , said first code element being an operating system function.

5 . The method of claim 4 , said operating system function being delivered through a virtual machine.

6 . The method of claim 5 , said virtual machine being a process virtual machine.

7 . The method of claim 5 , said virtual machine being a system virtual machine.

8 . The method of claim 4 , said first code element being a memory allocator.

9 . The method of claim 8 , said first setting causing said memory allocator to select a first memory domain when allocating said first code element.

10 . The method of claim 9 , said first memory domain being selected when a second code element shares a common memory object with said first memory domain.

11 . The method of claim 10 , said performance data comprising lock contention data.

12 . The method of claim 11 , said lock contention being determined by identifying locks placed on said common memory object.

13 . The method of claim 11 , said lock contention being determined by identifying dependencies between a plurality of said code elements.

14 . A system comprising:

a processor;

an analyzer operating on said processor, said analyzer that:

traces an application and gathering performance data for a plurality of code elements related to said application;

determines a first memory setting for a first code element by analyzing said performance data and identifies said first code element as causing a performance effect on said application;

determines a first processor setting for said first code element by analyzing said performance data; and

causes said first code element to be executed with said processor setting.

15 . The system of claim 14 , said first code element being executed on a second processor.

16 . The system of claim 15 , said second processor being on a second system.

17 . The system of claim 16 , said analyzer that further:

creates a runtime configuration and transfers said runtime configuration to said second system.

18 . The system of claim 17 , said runtime configuration being in the form of a file.

19 . The system of claim 14 further comprising:

a runtime environment that executes said first code element with said processor setting.

20 . The system of claim 19 , said runtime environment being a virtual machine executing on said system.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2015
From: CONCURIX CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 036139/0069 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2013
From: GARRETT, CHARLES D.; GOUNARES, ALEXANDER G.; LI, YING; KRAJEC, RUSSELL S.
To: CONCURIX CORPORATION
Reel/Frame 031280/0165 →