发明名称 OFF-HEAP DIRECT-MEMORY DATA STORES, METHODS OF CREATING AND/OR MANAGING OFF-HEAP DIRECT-MEMORY DATA STORES, AND/OR SYSTEMS INCLUDING OFF-HEAP DIRECT-MEMORY DATA STORE
摘要 Certain example embodiments relate to a highly-concurrent, predictable, fast, self-managed, in-process space for storing data that is hidden away from the garbage collector and its related pauses. More particularly, certain example embodiments relate to improved memory management techniques for computer systems that leverage an off-heap direct-memory data store that is massively scalable and highly efficient. The off-heap store may be provided in connection with a Java-based environment, and garbage collection may be completely or nearly completely avoided for the off-heap store. The off-heap store may be integrated into a tiered storage solution in certain example embodiments.
申请公布号 US2014351549(A1) 申请公布日期 2014.11.27
申请号 US201414454017 申请日期 2014.08.07
申请人 Software AG USA, Inc. 发明人 HARRIS Steven T.;DENNIS Christopher;SUBBIAH Saravanan
分类号 G06F12/02 主分类号 G06F12/02
代理机构 代理人
主权项 1. A computer system, comprising: at least one processor; a non-transitory computer readable storage medium tangibly storing data; a software application executable by the at least one processor and programmed to make use of the data; and off-heap memory, dynamically allocated and directly managed by a memory manager, such that the off-heap memory is perceivable by the software application as being a part of local application tier memory and manageable, after initial allocation, independent of other memory managers of the computer system and of an operating system running on the computer system, wherein the off-heap memory is scalable up to a size of the computer system's memory, upon direction from the memory manager, and wherein the memory manager is configured to at least: (a) attempt to allocate first data containers in chunks of a preconfigured maximum size in response to a request for off-heap memory at a predetermined maximum size;(b) repeat said attempts to allocate first data containers until the off-heap memory is created at the predetermined size, or until an attempt fails, whichever comes first;(c) reduce the preconfigured maximum size and repeat (a)-(b) in response to an attempt to allocate first data containers failing;(d) receive a request for a region of the off-heap memory, the region having an associated size;(e) find, via a second data container source, an unused slice of the off-heap memory;(f) return a second data container indicative of the unused slice, the second data container being a wrapped first data container that includes a reference to the slice where data is to be stored and a reference to an allocator object that created the slice;(g) continue to return second data containers until the off-heap memory is exhausted; and(h) manage the returned second data containers from the off-heap memory as a logical address space storing data keys and values.
地址 Reston VA US