Method and system for transparent dynamic optimization in a multiprocessing environment
First Claim
Patent Images
1. A method of transparent dynamic optimization in a multiprocessing system, comprising:
- monitoring execution of an application binary on a first processor with an execution monitor running on another processor of the system;
transparently optimizing one or more segments of the original application binary with a runtime optimizer executing on said another processor of the system; and
simultaneously modifying execution application binary replacing one or more segments with a recently optimized segment.
1 Assignment
0 Petitions
Accused Products
Abstract
A method (and system) of transparent dynamic optimization in a multiprocessing environment, includes monitoring execution of an application on a first processor with an execution monitor running on another processor of the system, and transparently optimizing one or more segments of the original application with a runtime optimizer executing on the another processor of the system.
-
Citations
45 Claims
-
1. A method of transparent dynamic optimization in a multiprocessing system, comprising:
-
monitoring execution of an application binary on a first processor with an execution monitor running on another processor of the system; transparently optimizing one or more segments of the original application binary with a runtime optimizer executing on said another processor of the system; and simultaneously modifying execution application binary replacing one or more segments with a recently optimized segment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method for a multiprocessor computing environment to perform simultaneous, dynamic optimization of an application with respect to its execution environment, comprising:
-
executing an instrumented copy of the application on a first processor in the system; monitoring the execution of the application with an execution monitor running on another processor of the system, said monitoring being conducted with reference to the execution characteristics produced by executing instrumentation code included in the instrumented copy of the application; optimizing one or more segments of the original application with a runtime optimizer executing on another processor of the system, said optimization being conducted with reference to execution characteristics gathered by the execution monitor, and without performance impact to the concurrently executing application; modifying the original execution application by replacing one or more segments with the recently optimized segment, said modification being conducted in a manner that is transparent to a user of the application.
-
-
19. A method for performing simultaneous, dynamic optimization of an application with respect to its execution environment, in a multiprocessor system, comprising:
-
monitoring each execution of a program or application running in a first processor, by an execution monitor, running in a separate processor or as a separate process running across multiple processors; creating, by binary code as it executes, a profile data of execution characteristics of said binary code, said binary code containing instrumentation code for monitoring performance; continuously evaluating, by said execution monitor, the profile data; and when a given threshold condition is satisfied, invoking a dynamic optimizer to optimize frequently executing code fragments, said optimized code fragments being inserted in the executing instruction stream for use in a subsequent execution thereof. - View Dependent Claims (20, 21, 22)
-
-
23. A method of transparent dynamic optimization in a shared multiprocessing (SMP) system, comprising:
-
executing an application binary on a first processor; monitoring, on another processor in the system, a behavior of the execution; and optimizing the execution of the application binary while the application binary is executing. - View Dependent Claims (24, 25)
-
-
26. A system for transparent dynamic optimization in a multiprocessing system, comprising:
-
an execution monitor for monitoring execution of an application binary on a first processor, said execution monitor running on another processor of the system, said execution monitor including a dynamic optimizer for simultaneously, with said monitoring, optimizing one or more segments of the original application binary, said optimizer executing on said another processor of the system. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44)
-
-
45. A machine-readable data storage medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform a method of transparent dynamic optimization in a multiprocessing system, comprising:
- monitoring execution of an application binary on a first processor with an execution monitor running on another processor of the system; and
transparently optimizing one or more segments of the original application binary with a runtime optimizer executing on said another processor of the system.
- monitoring execution of an application binary on a first processor with an execution monitor running on another processor of the system; and
Specification