Optimization of native buffer accesses in Java applications on hybrid systems
First Claim
1. A non-transitory computer readable storage medium storing a program of instructions executable by a machine to perform a method of managing a buffer in a hybrid system, comprising:
- selecting a first buffer management method from a plurality of buffer management methods;
capturing statistics associated with access to the buffer in the hybrid system running under the first buffer management method;
analyzing the captured statistics;
identifying a second buffer management method based on the analyzed captured statistics;
determining whether the second buffer management method is more optimal than the first buffer management method;
in response to determining that the second buffer management method is more optimal than the first buffer management method, invoking the second buffer management method; and
repeating the capturing, the analyzing, the identifying and the determining,wherein at least one of the plurality of buffer management methods comprises reserving a region of free address space at a same or different virtual address in each of nodes of the hybrid system, and responsive to receiving a request for a new native buffer from a node of the hybrid system, allocating the new native buffer on the node and marking the virtual address of each of other nodes of the hybrid system with a guard page wherein the guard page provides an alarm for memory page access to the virtual address.
1 Assignment
0 Petitions
Accused Products
Abstract
Managing buffers in a hybrid system, in one aspect, may comprise selecting a first buffer management method from a plurality of buffer management methods; capturing statistics associated with access to the buffer in the hybrid system running under the initial buffer management method; analyzing the captured statistics; identifying a second buffer management method based on the analyzed captured statistics; determining whether the second buffer management method is more optimal than the first buffer management method; in response to determining that the second buffer management method is more optimal than the first buffer management method, invoking the second buffer management method; and repeating the capturing, the analyzing, the identifying and the determining.
-
Citations
15 Claims
-
1. A non-transitory computer readable storage medium storing a program of instructions executable by a machine to perform a method of managing a buffer in a hybrid system, comprising:
-
selecting a first buffer management method from a plurality of buffer management methods; capturing statistics associated with access to the buffer in the hybrid system running under the first buffer management method; analyzing the captured statistics; identifying a second buffer management method based on the analyzed captured statistics; determining whether the second buffer management method is more optimal than the first buffer management method; in response to determining that the second buffer management method is more optimal than the first buffer management method, invoking the second buffer management method; and repeating the capturing, the analyzing, the identifying and the determining, wherein at least one of the plurality of buffer management methods comprises reserving a region of free address space at a same or different virtual address in each of nodes of the hybrid system, and responsive to receiving a request for a new native buffer from a node of the hybrid system, allocating the new native buffer on the node and marking the virtual address of each of other nodes of the hybrid system with a guard page wherein the guard page provides an alarm for memory page access to the virtual address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system managing a memory buffer, comprising:
-
a hybrid system comprising at least a first machine running a native code and a second machine running a managed code; and a module operable to run on the hybrid system and further operable to select a first buffer management method from a plurality of buffer management methods, capture statistics associated with access to the buffer in the hybrid system running under the first buffer management method, analyze the captured statistics, identify a second buffer management method based on the analyzed captured statistics, and determine whether the second buffer management method is more optimal than the first buffer management method, the module further operable, in response to determining that the second buffer management method is more optimal than the first buffer management method, to invoke the second buffer management method, wherein at least one of the plurality of buffer management methods comprises reserving a region of free address space at a same or different virtual address in each of nodes of the hybrid system, and responsive to receiving a request for a new native buffer from a node of the hybrid system, allocating the new native buffer on the node and marking the virtual address of each of other nodes of the hybrid system with a guard page wherein the guard page provides an alarm for memory page access to the virtual address. - View Dependent Claims (12, 13, 14, 15)
-
Specification