Optimizing just-in-time compiling for a java application executing on a compute node
First Claim
Patent Images
1. A method of optimizing just-in-time (‘
- JIT’
) compiling for a software application executing on a compute node, the compute node having installed upon it a Virtual Machine (‘
VM’
) capable of supporting the software application, the method comprising;
identifying, by an application manager, a particular portion of the software application;
assigning, by the application manager, a JIT level to the particular portion of the software application, including;
establishing the JIT level for the particular portion of the software application in dependence upon a historic JIT profile for the particular portion of the software application and previous execution performance of the particular portion of the software application, wherein the previous execution performance for the particular portion includes a previous performance value and a number of times the particular portion was invoked, wherein the historic JIT profile specifies JIT levels previously used when jitting various portions of the software application;
determining whether the previous performance value for the particular portion is below a performance threshold and whether the number of times the particular portion was invoked exceeds a repetition threshold; and
incrementing the JIT level if the previous performance value is below the performance threshold and the number of times the portion was invoked exceeds a repetition threshold; and
jitting, by the VM installed on the compute node, the particular portion of the software application in dependence upon the JIT level assigned to that particular portion of the software application.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, systems, and products are disclosed for optimizing just-in-time (‘JIT’) compiling for a application executing on a compute node, the compute node having installed upon it a Virtual Machine (‘VM’) capable of supporting the application, that include: identifying, by an application manager, a particular portion of the application; assigning, by the application manager, a JIT level to the particular portion of the application; and jitting, by the VM installed on the compute node, the particular portion of the application in dependence upon the JIT level assigned to that particular portion of the ava application.
-
Citations
15 Claims
-
1. A method of optimizing just-in-time (‘
- JIT’
) compiling for a software application executing on a compute node, the compute node having installed upon it a Virtual Machine (‘
VM’
) capable of supporting the software application, the method comprising;identifying, by an application manager, a particular portion of the software application; assigning, by the application manager, a JIT level to the particular portion of the software application, including; establishing the JIT level for the particular portion of the software application in dependence upon a historic JIT profile for the particular portion of the software application and previous execution performance of the particular portion of the software application, wherein the previous execution performance for the particular portion includes a previous performance value and a number of times the particular portion was invoked, wherein the historic JIT profile specifies JIT levels previously used when jitting various portions of the software application; determining whether the previous performance value for the particular portion is below a performance threshold and whether the number of times the particular portion was invoked exceeds a repetition threshold; and incrementing the JIT level if the previous performance value is below the performance threshold and the number of times the portion was invoked exceeds a repetition threshold; and jitting, by the VM installed on the compute node, the particular portion of the software application in dependence upon the JIT level assigned to that particular portion of the software application. - View Dependent Claims (2, 3, 4, 5)
- JIT’
-
6. A compute node capable of optimizing just-in-time (‘
- JIT’
) compiling for a software application, the compute node having installed upon it a Virtual Machine (‘
VM’
) capable of supporting the software application, the compute node comprising a computer processor and computer memory operatively coupled to the computer processor, the computer memory for the compute node having disposed within it computer program instructions capable of;identifying a particular portion of the software application; assigning, by the application manager, a JIT level to the particular portion of the software application, including; establishing the JIT level for the particular portion of the software application in dependence upon a historic JIT profile for the particular portion of the software application and previous execution performance of the particular portion of the software application, wherein the previous execution performance for the particular portion includes a previous performance value and a number of times the particular portion was invoked, wherein the historic JIT profile specifies JIT levels previously used when jitting various portions of the software application; determining whether the previous performance value for the particular portion is below a performance threshold and whether the number of times the particular portion was invoked exceeds a repetition threshold; and incrementing the JIT level if the previous performance value is below the performance threshold and the number of times the portion was invoked exceeds a repetition threshold; and jitting, by the VM installed on the compute node, the particular portion of the software application in dependence upon the JIT level assigned to that particular portion of the software application. - View Dependent Claims (7, 8, 9, 10)
- JIT’
-
11. A computer program product for optimizing just-in-time (‘
- JIT’
) compiling for a software application executing on a compute node, the compute node having installed upon it a Virtual Machine (‘
VM’
) capable of supporting the software application, the computer program product disposed upon a computer readable, recordable storage medium, wherein the recordable storage medium is not a signal, the computer program product comprising computer program instructions capable of;identifying, by an application manager, a particular portion of the software application; assigning, by the application manager, a JIT level to the particular portion of the software application, including; establishing the JIT level for the particular portion of the software application in dependence upon a historic JIT profile for the particular portion of the software application and previous execution performance of the particular portion of the software application, wherein the previous execution performance for the particular portion includes a previous performance value and a number of times the particular portion was invoked, wherein the historic JIT profile specifies JIT levels previously used when jitting various portions of the software application; determining whether the previous performance value for the particular portion is below a performance threshold and whether the number of times the particular portion was invoked exceeds a repetition threshold; and incrementing the JIT level if the previous performance value is below the performance threshold and the number of times the portion was invoked exceeds a repetition threshold; and jitting, by the VM installed on the compute node, the particular portion of the software application in dependence upon the JIT level assigned to that particular portion of the software application. - View Dependent Claims (12, 13, 14, 15)
- JIT’
Specification