Garbage Collection (707/206) Patents (Class 707/999.206)
-
Patent number: 11630668Abstract: A processor including a pointer storage that stores pointer descriptors each including addressing information, an arithmetic logic unit (ALU) configured to execute an instruction which includes operand indexes each identifying a corresponding pointer descriptor, multiple address generation units (AGUs), each configured to translate addressing information from a corresponding pointer descriptors into memory addresses for accessing corresponding operands stored in a memory, and a smart cache. The smart cache includes a cache storage, and uses the memory addresses from the AGUs to retrieve and store operands from the memory into the cache storage, and to provide the stored operands to the ALU when executing the instruction. The smart cache replaces a register file used by a conventional processor for retrieving and storing operand information. The pointer operands include post-update capability that reduces instruction fetches. Wasted memory cycles associated with cache speculation are avoided.Type: GrantFiled: November 18, 2021Date of Patent: April 18, 2023Assignee: NXP B.V.Inventors: Kevin Bruce Traylor, Jayakrishnan Cheriyath Mundarath, Michael Andrew Fischer
-
Patent number: 11442966Abstract: A system and method of managing highly-volatile statistics of a multi-threaded application environment. The statistics are represented by one or more statistics objects. Each statistics object of the one or more statistics objects is prefixed with an object header having a version counter with an initial version count of zero. Each statistics object is associated with a statistics class instance, each statistics class instance being associated with an associative registry that is configured to allocate smallest possible objects of a size equal to or greater than to that of the statistics objects, the registry segmenting the statistics objects according to a size class. Each allocated statistics object is constructed in the object frame after the object header. Then, the object header of each allocated statistics object is initialized. Once allocated, objects can be deallocated.Type: GrantFiled: April 2, 2019Date of Patent: September 13, 2022Assignee: SAP SEInventor: Ivan Schreter
-
Patent number: 10282371Abstract: Systems and methods for utilizing probabilistic data structures to handle interrogations regarding whether or not objects might be stored in an object store of an object storage device are disclosed. More particularly, a controller of an object storage device includes control circuitry and a memory operative to store a probabilistic data structure. The probabilistic data structure has data related to the presence of data in an object store of the object storage device. The control circuitry is configured to receive an interrogation from a computing device for an object; utilize the probabilistic data structure to determine that the object is possibly stored in the object store or definitely not stored in the object store; and in response to a determination that the object is definitely not stored in the object store, respond to the interrogation that the object is not stored in the object store.Type: GrantFiled: December 2, 2014Date of Patent: May 7, 2019Assignee: Western Digital Technologies, Inc.Inventor: Blaine Gaither
-
Patent number: 10223232Abstract: A system writes to a replicated direct access storage device (DASD) a record of each step within a job as each step begins and as each step completes. The records are maintained on the replicated DASD for a predetermined period of time. The predetermined period of time is, for example, the greatest amount of lag in replication of all storage systems operating within the system. The records are stored, for example, in an open jobs and datasets (OJD) file, where the file itself is a dataset. The dataset is written to by an online task (e.g., OJDSTC) which gathers input from two sources. Upon job completion, the records are stored, for example, in an OJD journal and removed from the OJD file.Type: GrantFiled: May 19, 2015Date of Patent: March 5, 2019Assignee: TERACLOUD SAInventor: Paul J. Eckert
-
Patent number: 9928058Abstract: A classloader executing in an execution environment, such as a JAVA virtual machine or a software container, may be configured to generate class usage data describing the historical usage of classes by applications in the execution environment. Based upon the class usage data, one or more classes may be pre-loaded into a cache prior to receiving a request from an application to load the classes. If an application subsequently requests a class, the request may be satisfied using the class stored in the cache rather than by loading the class at the time the request is received. A probabilistic data structure, such as a Bloom filter, might also be utilized to determine whether a classloader can possibly load a requested class. Only if the classloader can possibly load the requested class will a search be made for the requested class in a classpath associated with the classloader.Type: GrantFiled: October 28, 2014Date of Patent: March 27, 2018Assignee: Amazon Technologies, Inc.Inventors: Kevin Michael Beranek, Keian Christopher, Vijay Ravindra Kulkarni, Samuel Leonard Moniz
-
Patent number: 9588778Abstract: Embodiments of the present invention disclose a method, system, and computer program product for a JNI object access system. A computer receives a JNI reference and obtains the pointer data and call site of the referenced object. The computer determines whether a record of the object and call site exist and, if not, the respective records are created. The computer applies a heuristic analysis of the object and call site in which it determines whether the object is larger than a threshold size, whether the object is part of a particular region of the heap, whether the call site is associated with a read-only or a read-write function, and whether the object or call site has caused more non-moving garbage collections than a threshold number. Based on the heuristic, the computer either copies the object data or pins the object and any non-moving garbage collections are recorded.Type: GrantFiled: June 29, 2015Date of Patent: March 7, 2017Assignee: International Business Machines CorporationInventors: Graham A. Chapman, Charles R. Gracie, Daniel J. Heidinga, Karl M. Taylor
-
Patent number: 9477576Abstract: A computer captures a thread state data of a first program. The computer generates a second program by applying a first program patch to the first program. The computer inserts additional code into a source code of the second program. The computer executes a first performance test using the second program and the inserted additional code. The computer monitors a first status of the second program and the inserted additional code that are under the first performance test. The computer determines a degree that a first deadlock state was prevented during the first performance test. The computer generates a first message based, at least in part, on the determined degree that the first deadlock state was prevented during the first performance test.Type: GrantFiled: April 11, 2013Date of Patent: October 25, 2016Assignee: International Business Machines CorporationInventors: David Granshaw, Samuel T. Massey, Daniel J. McGinnes, Martin A. Ross, Richard G. Schofield, Craig H. Stirling
-
Patent number: 9418004Abstract: Embodiments of the present invention disclose a method, system, and computer program product for a JNI object access system. A computer receives a JNI reference and obtains the pointer data and call site of the referenced object. The computer determines whether a record of the object and call site exist and, if not, the respective records are created. The computer applies a heuristic analysis of the object and call site in which it determines whether the object is larger than a threshold size, whether the object is part of a particular region of the heap, whether the call site is associated with a read-only or a read-write function, and whether the object or call site has caused more non-moving garbage collections than a threshold number. Based on the heuristic, the computer either copies the object data or pins the object and any non-moving garbage collections are recorded.Type: GrantFiled: October 29, 2015Date of Patent: August 16, 2016Assignee: International Business Machines CorporationInventors: Graham A. Chapman, Charles R. Gracie, Daniel J. Heidinga, Karl M. Taylor
-
Patent number: 9037828Abstract: A method for data storage, including configuring in a data storage system a volume storage pool as data storage resources available for allocation of volumes in the data storage system. The method also includes defining a threshold value for the volume storage pool. When the allocation of the volumes causes the threshold value to be crossed, the method includes performing an action for managing the volume storage pool.Type: GrantFiled: August 15, 2008Date of Patent: May 19, 2015Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Haim Helman, Omri Palmon, Ofir Zohar, Lior Segev
-
Patent number: 8965901Abstract: Aspects of the present invention are directed to system and methods for optimizing identification of locations within a search area using hash values. A hash value represents location information in a single dimension format. Computing points around some location includes calculating an identification boundary that surrounds the location of interest based on the location's hash value. The identification boundary is expanded until it exceeds a search area defined by the location and a distance. Points around the location can be identified based on having associated hash values that fall within the identification boundary. Hashing operations let a system reduce the geometric work (i.e. searching inside boundaries) and processing required, by computing straightforward operations on hash quantities (e.g. searching a linear range of geohashes), instead of, for example, point to point comparisons.Type: GrantFiled: March 1, 2011Date of Patent: February 24, 2015Assignee: MongoDB, Inc.Inventors: Dwight Merriman, Eliot Horowitz
-
Patent number: 8572748Abstract: A computer-implemented method and apparatus, adapted to receive a computer program, and dynamically analyze the computer program to determine flow of untrusted data with respect to a computer resource associated with the computer program. Based on the flow of untrusted data, the method and apparatus determine an abstraction of the computerized resource, and performing static analysis of the computer program with respect to the abstraction, wherein the static analysis is for identifying whether the computer program is susceptible to one or more possible security vulnerabilities.Type: GrantFiled: February 16, 2011Date of Patent: October 29, 2013Assignee: International Business Machines CorporationInventors: Marco Pistoia, Takaaki Tateishi, Omer Tripp
-
Patent number: 8281293Abstract: A computer implemented method, apparatus, and computer program product for copy-on-write optimization of immutable objects. An immutable object is marked as read-only to form a read-only object. The read-only object is formed to delay copying of the immutable object until a runtime determination is made that a write to the immutable object will be made. In response to an attempt to write to the read-only object, an internal value of the read-only object is copied to read-and-write storage using runtime information to form a writable copy of the read-only object. A set of references for the read-only object is updated to point to the writable copy of the read-only object. Delaying copying of the immutable object optimizes a copy-on-write of the immutable object.Type: GrantFiled: July 24, 2007Date of Patent: October 2, 2012Assignee: International Business Machines CorporationInventors: Mike Stephen Fulton, Nikola Grcevski, Derek Bruce Inglis
-
Patent number: 8073882Abstract: A method and computer-readable media for managing software object handles in a dual threaded or multi-threaded environment are provided. In a first version a software driven computational process drives a first thread, while a garbage collector process drives a second active computational thread within a host computer. The software driven computational process generates persistent software objects that are temporarily stored in a memory of the host. Each handle may include an object identifier of the handle itself, an open/closed flag and a pointer to a unique persistent object. The open/closed flag indicates whether the persistent object associated with a handle shall remain open and accessible for processing or may be selected for closure by the garbage collector process. A plurality of handle wrappers are each associated in a one-to-one correspondence with a unique handle.Type: GrantFiled: July 11, 2007Date of Patent: December 6, 2011Inventor: Mats Stefan Persson
-
Patent number: 7908441Abstract: Solutions to a value recycling problem facilitate implementations of computer programs that may execute as multithreaded computations in multiprocessor computers, as well as implementations of related shared data structures. Some exploitations allow non-blocking, shared data structures to be implemented using standard dynamic allocation mechanisms (such as malloc and free). Some exploitations allow non-blocking, indeed even lock-free or wait-free, implementations of dynamic storage allocation for shared data structures. In some exploitations, our techniques provide a way to manage dynamically allocated memory in a non-blocking manner without depending on garbage collection. While exploitations of solutions to the value recycling problem that we propose include management of dynamic storage allocation wherein values managed and recycled tend to include values that encode pointers, they are not limited thereto.Type: GrantFiled: January 10, 2003Date of Patent: March 15, 2011Assignee: Oracle America, Inc.Inventors: Mark S. Moir, Victor Luchangco, Maurice Herlihy
-
Patent number: 7822938Abstract: The techniques and mechanisms described herein are directed to a method for performing garbage collection based on the total memory consumed by managed objects on a heap. The total memory includes heap memory and unmanaged memory. The garbage collector accepts input that indicates the amount of unmanaged memory and associates this amount with the managed object. The garbage collector then adjusts a collection strategy for the managed object based on the input. The input is sent to the garbage collector if the allocated amount meets a certain criteria in comparison with the size of the managed object on the heap. The amount may be automatically disassociated with the managed object when the managed is destroyed or the garbage collector may receive another input that removes the amount from being associated with the managed object.Type: GrantFiled: October 20, 2004Date of Patent: October 26, 2010Assignee: Microsoft CorporationInventors: Patrick H. Dussud, Christopher S. George, Gang Peng
-
Patent number: 7756911Abstract: A method (and system) for executing a task includes executing a first task in which garbage is collected using a garbage collector, and executing a second task, the garbage collector being preemptable (e.g., preempted) by the second task.Type: GrantFiled: June 9, 2006Date of Patent: July 13, 2010Assignee: International Business Machines CorporationInventors: David Francis Bacon, Perry Sze-Din Cheng, David Paul Grove, Daniel J. Spoonhower
-
Patent number: 7734618Abstract: A request logging component formulates an index that could have been utilized by a query to a database, if the index had existed. The request logging component stores the formulated query as an unsatisfied request. The index creation component creates the index of the database from the unsatisfied request.Type: GrantFiled: June 30, 2006Date of Patent: June 8, 2010Assignee: Microsoft CorporationInventors: James Charles Kleewein, F. Soner Terek, Narasimhan Sundararajan
-
Patent number: 7707232Abstract: A method and system for garbage collecting managed and unmanaged memory that is no longer referenced. The time between allocations is compared with a threshold to determine if the garbage collector needs to collect unused memory. Unmanaged memory referenced by objects in the unused managed memory may be freed during the collection.Type: GrantFiled: May 13, 2005Date of Patent: April 27, 2010Assignee: Microsoft CorporationInventors: Cedric Patrick Dussud, Yin Xie