Heavyweight and lightweight instrumentation
First Claim
1. A method for performing plural operations on an application, each of said operations using one of plural versions of a structural metadata description of the application, the method comprising:
- receiving a structural metadata description of the application;
performing a first operation on the application using the structural metadata description of the application, thereby generating overhead;
reducing the structural metadata description;
performing a second operation on the application using the reduced structural metadata description of the application, thereby generating less overhead than the step of performing the first operation.
2 Assignments
0 Petitions
Accused Products
Abstract
An instrumentation system performs operations such as profiling an application and partitioning and distributing units of the application using different versions of metadata describing the application. Performing an operation on an executing application generates overhead. Detailed metadata used in operations such as profiling create unnecessary overhead during other operations. By removing metadata detail unnecessary for a particular operation, an instrumentation system using reduced metadata generates less overhead for that particular operation. Different instrumentation packages include different versions of metadata for performing operations on the application.
166 Citations
36 Claims
-
1. A method for performing plural operations on an application, each of said operations using one of plural versions of a structural metadata description of the application, the method comprising:
-
receiving a structural metadata description of the application;
performing a first operation on the application using the structural metadata description of the application, thereby generating overhead;
reducing the structural metadata description;
performing a second operation on the application using the reduced structural metadata description of the application, thereby generating less overhead than the step of performing the first operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31)
-
-
12. A method for partitioning and distributing plural units of an application in a distributed computing environment, wherein the plural units communicate across strongly-typed, binary-standard interfaces, the method comprising:
-
receiving a structural metadata description of the application, wherein the structural metadata description comprises compiled interface-level type description;
executing the application;
during execution of the application, profiling the application using the structural metadata description, thereby generating overhead;
reducing the structural metadata description;
re-executing the application;
during re-execution of the application, performing an operation on the application using the reduced structural metadata description, thereby generating less overhead than the step of profiling the application.
-
-
25. A method for instrumenting an application program for automatic partitioning and distribution of plural units of the application program in a distributed computing environment, the method comprising:
-
linking a first instrumentation package to the application program, the first instrumentation package comprising a structural metadata description of the application;
executing the application, whereby the first instrumentation package using the structural metadata description profiles the application program, thereby generating overhead;
reducing the structural metadata description of the application;
linking a second instrumentation package to the application program, the second instrumentation package comprising the reduced structural metadata description; and
re-executing the application, whereby the second instrumentation package using the reduced structural metadata description enables distribution of the plural units of the application program through a distributed computing environment, thereby generating less overhead than the first instrumentation package.
-
-
32. A computer-readable medium having computer-executable modules comprising:
-
a first instrumentation package which performs a first set of functions comprising identifying plural units of an application program, measuring communication between the plural units, and determining a distribution plan, wherein the first instrumentation package comprises a first set of software modules, and whereby the first instrumentation package generates overhead; and
a second instrumentation package which performs a second set of functions comprising classifying plural units of the application program at run time and relocating one or more units of the plural units to enforce the distribution plan, wherein the second instrumentation package comprises a second set of software modules, and whereby the second instrumentation package generates less overhead than the first instrumentation package. - View Dependent Claims (33, 34, 36)
-
-
35. A computer-readable medium having computer-executable modules packageable into one or more instrumentation packages for an application program, the modules comprising:
-
an interface module which identifies and supports plural units of an application program;
an information module which receives information about events involving said plural units;
a classifier module which classifies said plural units;
a generator module which facilitates location of said plural units; and
a service module which provides low level services to the other modules, wherein the low level services comprise;
capturing a request to create one of the plural units;
invoking the classifier module;
invoking the interface module; and
invoking the generator module.
-
Specification