Patents by Inventor Peter W. Burka

Peter W. Burka has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9092237
    Abstract: An illustrative embodiment for serialization of pre-initialized objects receives a source code definition of a class, identifies a set of constants associated with the class in the source code to form a set of identified constants, creates a result object corresponding to each constant in the set of identified constants, and compiles the source code into a compiled form of the class. The illustrative embodiment further serializes each result object into a resource file associated with the class to form a set of serialized objects and replaces, in the compiled form of the class, each reference to a respective constant associated with the class from the set of identified constants with a corresponding dynamic instruction using a respective serialized object in the set of serialized objects.
    Type: Grant
    Filed: August 20, 2012
    Date of Patent: July 28, 2015
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Peter W. Burka, Daniel J. Heidinga, Karl M. Taylor, Olivier P. Thomann
  • Patent number: 9015691
    Abstract: A method includes loading a software class containing class information for a lock state. The method includes allocating an instance of a software object derived from the software class, wherein the allocating includes allocating of a lock word as part of the instance of the software object. The lock word defines whether the object is locked by a thread of multiple threads. The method includes observing activity relative to the instance of the software object. The method includes responsive to observing the activity relative to the instance of the software object that indicates that the lock state of the instance of the software object is non-locking, removing the lock word from the instance of the software object.
    Type: Grant
    Filed: December 27, 2013
    Date of Patent: April 21, 2015
    Assignee: International Business Machines Corporation
    Inventor: Peter W. Burka
  • Patent number: 8849875
    Abstract: At least one region of a heap that includes memory allocations is analyzed, using age and occupancy criteria, across a number of local garbage collection cycles using a processor executing a region-based garbage collector. Based upon the analyzed age and occupancy criteria of the at least one region, at least one stable region in age and occupancy is identified among the at least one region of the heap across the number of local garbage collection cycles. Maintenance of a remembered set (RS) of external references into the at least one stable region is temporarily stopped for each identified stable region during at least one additional local garbage collection cycle.
    Type: Grant
    Filed: October 15, 2013
    Date of Patent: September 30, 2014
    Assignee: International Business Machines Corporation
    Inventors: Peter W. Burka, Aleksandar Micic, Ryan A. Sciampacone
  • Patent number: 8805885
    Abstract: Under the present invention, a hierarchical tree and corresponding Least Recently Used (LRU) list are provided. Both include a predetermined quantity of nodes that are associated with invariant data objects. The nodes of the tree typically include a set of pointers that indicate a position/arrangement of the associated invariant data objects in the LRU list, and a set of pointers that indicate a logical relationship among the other nodes.
    Type: Grant
    Filed: October 30, 2007
    Date of Patent: August 12, 2014
    Assignee: International Business Machines Corporation
    Inventors: Peter W. Burka, Barry M. Genova
  • Publication number: 20140115570
    Abstract: A method includes loading a software class containing class information for a lock state. The method includes allocating an instance of a software object derived from the software class, wherein the allocating includes allocating of a lock word as part of the instance of the software object. The lock word defines whether the object is locked by a thread of multiple threads. The method includes observing activity relative to the instance of the software object. The method includes responsive to observing the activity relative to the instance of the software object that indicates that the lock state of the instance of the software object is non-locking, removing the lock word from the instance of the software object.
    Type: Application
    Filed: December 27, 2013
    Publication date: April 24, 2014
    Applicant: International Business Machines Corporation
    Inventor: Peter W. Burka
  • Patent number: 8707285
    Abstract: Embodiments include a method comprising loading a software class containing class information for a lock state. The method includes allocating an instance of a software object derived from the software class, wherein the allocating includes allocating of a lock word as part of the instance of the software object. The lock word defines whether the object is locked by a thread of multiple threads. The method includes observing activity relative to the instance of the software object. The method also includes, responsive to observing the activity relative to the instance of the software object that indicates that the lock state of the instance of the object is non-locking, removing the lock word from the instance of the object.
    Type: Grant
    Filed: December 31, 2010
    Date of Patent: April 22, 2014
    Assignee: International Business Machines Corporation
    Inventor: Peter W. Burka
  • Patent number: 8688754
    Abstract: At least one region of a heap that includes memory allocations is analyzed, using age and occupancy criteria, across a number of local garbage collection cycles using a processor executing a region-based garbage collector. Based upon the analyzed age and occupancy criteria of the at least one region, at least one stable region in age and occupancy is identified among the at least one region of the heap across the number of local garbage collection cycles. Maintenance of a remembered set (RS) of external references into the at least one stable region is temporarily stopped for each identified stable region during at least one additional local garbage collection cycle.
    Type: Grant
    Filed: September 19, 2012
    Date of Patent: April 1, 2014
    Assignee: International Business Machines Corporation
    Inventors: Peter W. Burka, Aleksandar Micic, Ryan A. Sciampacone
  • Publication number: 20140082029
    Abstract: At least one region of a heap that includes memory allocations is analyzed, using age and occupancy criteria, across a number of local garbage collection cycles using a processor executing a region-based garbage collector. Based upon the analyzed age and occupancy criteria of the at least one region, at least one stable region in age and occupancy is identified among the at least one region of the heap across the number of local garbage collection cycles. Maintenance of a remembered set (RS) of external references into the at least one stable region is temporarily stopped for each identified stable region during at least one additional local garbage collection cycle.
    Type: Application
    Filed: September 19, 2012
    Publication date: March 20, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Peter W. Burka, Aleksandar Micic, Ryan A. Sciampacone
  • Publication number: 20140082030
    Abstract: At least one region of a heap that includes memory allocations is analyzed, using age and occupancy criteria, across a number of local garbage collection cycles using a processor executing a region-based garbage collector. Based upon the analyzed age and occupancy criteria of the at least one region, at least one stable region in age and occupancy is identified among the at least one region of the heap across the number of local garbage collection cycles. Maintenance of a remembered set (RS) of external references into the at least one stable region is temporarily stopped for each identified stable region during at least one additional local garbage collection cycle.
    Type: Application
    Filed: October 15, 2013
    Publication date: March 20, 2014
    Applicant: International Business Machines Corporation
    Inventors: Peter W. Burka, Aleksandar Micic, Ryan A. Sciampacone
  • Publication number: 20140009314
    Abstract: A method for efficiently computing a hash value for a string is disclosed. In one embodiment, such a method includes receiving an original string comprising multiple characters. The method computes an original hash value for the original string. The method produces an updated string by performing at least one of the following updates on the original string: adding leading/trailing characters to the original string; removing leading/trailing characters from the original string, and modifying characters of the original string while preserving the length of the original string. The method then computes an updated hash value for the updated string by performing at least one operation on the original hash value, wherein the at least one operation takes into account the updates that were made to the original string. A corresponding apparatus and computer program product are also disclosed.
    Type: Application
    Filed: July 6, 2012
    Publication date: January 9, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Peter D. Bain, Peter W. Burka, Charles R. Gracie
  • Publication number: 20130139134
    Abstract: An illustrative embodiment for serialization of pre-initialized objects receives a source code definition of a class, identifies a set of constants associated with the class in the source code to form a set of identified constants, creates a result object corresponding to each constant in the set of identified constants, and compiles the source code into a compiled form of the class. The illustrative embodiment further serializes each result object into a resource file associated with the class to form a set of serialized objects and replaces, in the compiled form of the class, each reference to a respective constant associated with the class from the set of identified constants with a corresponding dynamic instruction using a respective serialized object in the set of serialized objects.
    Type: Application
    Filed: August 20, 2012
    Publication date: May 30, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Peter W. Burka, Daniel J. Heidinga, Karl M. Taylor, Olivier P. Thomann
  • Publication number: 20130042235
    Abstract: At least one literal value data structure within a literal pool data structure that is capable of being resolved by run-time initialization within a virtual runtime environment is defined by a processor within a memory storage area. A run-time reference to one of the at least one literal value data structure within the literal pool data structure is detected. A determination is made as to whether a literal value at the one of the at least one literal value data structure is resolved and run-time accessible. The literal value at the one of the at least one literal value data structure within the literal pool data structure is resolved during run-time in response to determining that the literal value is not resolved. The resolved literal value is returned.
    Type: Application
    Filed: August 10, 2011
    Publication date: February 14, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Peter W. Burka, Daniel J. Heidinga, Karl M. Taylor
  • Publication number: 20120310998
    Abstract: A method for efficiently implementing a remembered set for a region-based garbage collector includes maintaining, for each region in an object heap, a remembered set card list (RSCL). Each card in the RSCL identifies an area in the object heap that includes at least one object that references an object in the region associated with the RSCL. The method further establishes a collection set identifying a subset of regions in the object heap on which to perform partial garbage collection. Prior to performing the partial garbage collection, the method flushes cards from RSCLs associated with the collection set to the card table, globally discards cards that are about to be rebuilt from all RSCLs, and globally cleans the card table. The method then adds cards to the RSCLs for inter-region references discovered while traversing live objects in the collection set. A corresponding computer program product and apparatus are also disclosed.
    Type: Application
    Filed: June 4, 2011
    Publication date: December 6, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Peter W. Burka, Jeffrey M. Disher, Daryl J. Maier, Aleksandar Micic, Ryan A. Sciampacone
  • Publication number: 20120239710
    Abstract: An illustrative embodiment of a computer-implemented process for single pass marking of finalizable objects marks strong roots, marks finalizable roots and determines whether a strong work stack is empty. Responsive to a determination the strong work stack is empty the computer-implemented process determines whether a finalizable work stack is empty. Responsive to a determination the finalizable work stack is empty, synchronize threads, the computer-implemented process finalizes finalizable roots and merges mark maps to finish parallel marking.
    Type: Application
    Filed: March 14, 2011
    Publication date: September 20, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Peter W. Burka, Jeffrey M. Disher, Daryl J. Maier, Aleksandar Micic, Ryan A. Sciampacone
  • Publication number: 20120239709
    Abstract: A method for performing garbage collection on an object heap is described. In one embodiment, such a method includes performing a copy phase on an object heap by copying live objects from a source space to a destination space. An abort condition is generated when copying an object from the source space to the destination space fails due to insufficient space. In response to the abort condition, tracing work and reference updating associated with the copy phase are terminated. A mark phase is then initiated that marks live objects in the source space. This mark phase resumes tracing work and reference updating terminated by the copy phase in order to avoid or minimize the repetition of work performed by the copy phase. A corresponding computer program product and system are also described.
    Type: Application
    Filed: March 14, 2011
    Publication date: September 20, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Peter W. Burka, Jeffrey M. Disher, Daryl J. Maier, Aleksandar Micic, Ryan A. Sciampacone
  • Publication number: 20120239711
    Abstract: A method for performing garbage collection on an object heap is described. In one embodiment, such a method includes performing a copy phase on an object heap by copying live objects from a source space to a destination space. An abort condition is generated when copying an object from the source space to the destination space fails due to insufficient space. In response to the abort condition, tracing work and reference updating associated with the copy phase are terminated. A mark phase is then initiated that marks live objects in the source space. This mark phase resumes tracing work and reference updating terminated by the copy phase in order to avoid or minimize the repetition of work performed by the copy phase. A corresponding computer program product and system are also described.
    Type: Application
    Filed: March 28, 2012
    Publication date: September 20, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Peter W. Burka, Jeffrey M. Disher, Daryl J. Maier, Aleksandar Micic, Ryan A. Sciampacone
  • Publication number: 20120239901
    Abstract: An illustrative embodiment of a computer-implemented process for dynamic measurement and adaptation of a parallel copying garbage collector initializes values and data structures, receives an evacuate set, determines whether a new copy block is required and responsive to a determination that a new copy block is required, calculates a size of the new copy block. The computer-implemented process further selects a survivor region from a list of survivor regions to form a selected survivor region, places a lock on the selected survivor region, identifies a number of threads enqueued on the selected survivor region, responsive to a determination that a contention value exceeds a predetermined value, increases a size of the list of survivor regions, evacuates blocks to the selected survivor region and responsive to a determination that more evacuate blocks do not exist, terminates.
    Type: Application
    Filed: March 14, 2011
    Publication date: September 20, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Peter W. Burka, Jeffrey M. Disher, Daryl J. Maier, Aleksandar Micic, Ryan A. Sciampacone
  • Patent number: 8266607
    Abstract: A method for lock reservation using cooperative multithreading is provided. The method includes analyzing code containing async points to support cooperative multithreading. The method also includes identifying a class of code as a candidate for reservation via determining locking properties within the code as a function of locations of async points within the code, and generating reserving code that reserves the shared object when code performing the reservation is considered hot code. The method further includes performing runtime monitoring of reservation performance to detect a contention level for the shared object, and removing the reservation when the runtime monitoring determines that a low level of contention exists.
    Type: Grant
    Filed: August 27, 2007
    Date of Patent: September 11, 2012
    Assignee: International Business Machines Corporation
    Inventors: Peter W. Burka, Nikola Grcevski, Charles B. Hall, Zhong L. Wang
  • Publication number: 20120203991
    Abstract: An illustrative embodiment of a computer-implemented process for compaction planning selects a source region from a set of regions to form a selected source region, initializes process data using information from the selected source region and responsive to a determination that a current destination is not NULL and not full, determines whether to atomically consume from a destination. Responsive to a determination to atomically consume from a destination, the computer-implemented process plans to evacuate into a consumed extent and updates the process data and responsive to a determination that the source region is empty, determines whether more work remains. Responsive to a determination that more work does not remain, the computer-implemented process generates a relocation table.
    Type: Application
    Filed: February 8, 2011
    Publication date: August 9, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Peter W. Burka, Jeffrey M. Disher, Daryl J. Maier, Aleksandar Micic, Ryan A. Sciampacone
  • Publication number: 20120203994
    Abstract: A method to implement parallel, single-pass compaction in a garbage collector is described. In one embodiment, such a method includes conducting a planning phase for multiple regions to be compacted. During the planning phase, the method determines new locations for data entities in the multiple regions. The method then performs a move phase for the multiple regions to move the data entities to their new locations. During the move phase, the method initiates multiple compaction threads to move the data entities to their new locations. While executing, the compaction threads dynamically build a dependency graph of the regions being compacted. The dependency graph guarantees that no data entity is moved to its new location until all data entities that it overwrites have been moved to their new locations. A corresponding computer program product and apparatus are also disclosed herein.
    Type: Application
    Filed: March 28, 2012
    Publication date: August 9, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Peter W. Burka, Jeffrey M. Disher, Daryl J. Maier, Aleksandar Micic, Ryan A. Sciampacone