IP Library › Granted Patent US 10,698,708
Granted Patent B2
US 10,698,708 · App. 12/849,122 · Granted Jun 30, 2020

Optimizing just-in-time compilation in a network of nodes

Inventors: Thorsten Kramp (Zurich, CH); Tamas Visegrady (Zurich, CH)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F9/4552
View Patent ↗
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 10,698,708
App. No.
12/849,122
Granted
Jun 30, 2020
Kind
B2
Abstract

A bytecode construction, a method, and a system for optimizing just in time compilation. The bytecode includes several regions wherein a region is a logical sequence of one or more bytecode blocks and the bytecode is annotated with region hints embedded therein. The region hints have a bytecode structure and are designed for instructing a just-in-time, or JIT, runtime environment for JIT compilation of the regions by JIT compilers implemented at nodes of a network. A method and a system for implementing the bytecode construction are also presented.

Claims (43)

1. A system architecture for maximizing performance of a network of interconnected computing nodes, comprising:

a non-transitory computer-readable storage medium operatively coupled to and communicating with a processor device, the processor device being configured for:

constructing a bytecode configured to maximize performance of wireless sensors in the network of interconnected computing nodes, the bytecode comprising:

at least one region which is a logical sequence of one or more bytecode blocks; and

a region hint embedded in the bytecode, the region hint comprising a bytecode structure configured for instructing a just-in-time (JIT) runtime environment for JIT compilation of a region by JIT compilers implemented at the nodes of the network;

generating and storing, using one or more of the interconnected computing nodes, one or more JIT profiles generated based on the region hint; and

minimizing data transport processing requirements by migrating only the JIT profiles between one or more of the nodes.

2. The system architecture of claim 1 , wherein the region hint logically precedes respective regions with respect to processing by the JIT environment, wherein the JIT environment processes the bytecode in a single pass.

3. The system architecture of claim 1 , wherein a forward jump from a region terminates within said region.

4. The system architecture of claim 1 , wherein the hints are embedded as non-functional instructions for the JIT compiler, such that a target node which lacks JIT compilation can ignore the hints.

5. The system architecture of claim 1 , wherein the bytecode is processed in a single pass, and is further annotated with:

backwards jump hints, designed to instruct a dispatch of backwards jumps through the JIT environment; and

jump-target hints which designate an entry point within a given region.

6. The system architecture of claim 5 , wherein the bytecode is annotated with:

one or more region hints;

one or more backwards jump hints; and

one or more jump-target hints.

7. A method for maximizing performance of a network of interconnected computing nodes which share a same just-in-time (JIT) runtime environment and which independently implement JIT compilers for compiling bytecode, the method comprising:

constructing a bytecode configured to maximize performance of wireless sensors in the network of interconnected computing nodes, the bytecode comprising:

at least one region which is a logical sequence of one or more bytecode blocks; and

a region hint embedded in the bytecode, the region hint comprising a bytecode structure configured for instructing the JIT runtime environment for JIT compilation of the regions by JIT compilers implemented at the nodes of the network;

generating and storing, using one or more of the interconnected computing nodes, one or more JIT profiles generated based on the region hint; and

minimizing data transport processing requirements by migrating only the JIT profiles between one or more of the nodes.

8. The method of claim 7 , further comprising:

annotating bytecode with one or more region hints to obtain the bytecode construction.

9. The method of claim 8 , further comprising:

parsing the annotated bytecode in order to identify hints and instruct the compilation of bytecode according to the identified hints, wherein the JIT runtime environment processes the bytecode in a single pass.

10. The method of claim 9 , further comprising:

collecting statistics at a first node of the network;

migrating data pertaining to the collected statistics from the first node to a second node of the network;

compiling bytecode at the second node according to the migrated data; and

wherein the hints are further adapted for instructing the JIT runtime environment to collect statistics about the hints.

11. The method of claim 8 , wherein the first and second nodes share a local network.

12. The method of claim 9 , wherein the first node is an instrumentation node specifically adapted to implement the collecting of the statistics.

13. The method of claim 10 wherein the second node is a node at which collecting statistics is not implemented.

14. The method of claim 10 , further comprising compiling at the second node if an execution profile in the data migrated is found to be compatible with the second node.

15. A system for maximizing performance of a network of interconnected computing nodes which share a common Just In Time (JIT) runtime environment and implement JIT compilers for independently compiling bytecode, the network comprising a computer program product comprising a non-transitory computer-readable storage medium having program instructions embodied therewith configured to implement a method comprising the steps of:

constructing a bytecode, stored in a non-transitory computer readable storage medium, configured to maximize performance of wireless sensors in the network of interconnected computing nodes, the bytecode comprising:

at least one region which is a logical sequence of one or more bytecode blocks; and

a region hint embedded in the bytecode, the region hint comprising a bytecode structure configured for instructing the JIT runtime environment for JIT compilation of the regions by JIT compilers implemented at the nodes of the network;

generating and storing, using one or more of the interconnected computing nodes, one or more JIT profiles generated based on the region hint; and

minimizing data transport processing requirements by migrating only the JIT profiles between one or more of the nodes.

16. The system of claim 15 , wherein the network is a heterogeneous network.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2010
From: KRAMP, THORSTEN; VISEGRADY, TAMAS
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 025131/0906 →
Priority Claims (1)
EP 09167198 · Aug 4, 2009 · regional
Continuity (1)
Related Publication 20110035735A1 · Feb 10, 2011