Patents by Inventor Marius Pirvu

Marius Pirvu 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: 11188354
    Abstract: Embodiments of the present invention comprise a class sharing orchestrator (CSO) operating as a subsystem of a container orchestrator. The CSO manages sharing of class data among containerized applications to improve startup performance, CPU consumption and memory footprint. The CSO stores application class data in a shared class cache (SCC). The CSO provides a compatible SCC to every deployed application running within the CSO's purview. The CSO collects SCC data from running applications, and processes the data offline to continuously improve the quality of SCCs provided to each deployment, while causing minimum impact to running applications. The CSO combines updates from running applications of a given type to generate an improved quality SCC for use by newly launched applications of the same type. The CSO comprises an SCC update mechanism that optimizes the size, and network traffic, associated with SCC data exchange, and guarantees SCC quality improves over time.
    Type: Grant
    Filed: September 23, 2020
    Date of Patent: November 30, 2021
    Assignee: International Business Machines Corporation
    Inventors: Anyang Yu, Dhruv Chopra, Alen Badel, Vijay Sundaresan, Marius Pirvu, Michael Dawson, Daniel Heidinga
  • Patent number: 10725914
    Abstract: An infrequently used method is selected for eviction from a code cache repository by accessing a memory management data structure from an operating system, using the data structure to identify a first set of pages that are infrequently referenced relative to a second set of pages, determining whether or not a page of the first set of pages is part of a code cache repository and includes at least one method, in response to the page of the first set of pages being part of the code cache repository and including at least one method, flagging the at least one method as a candidate for eviction from the code cache repository, determining whether or not a code cache storage space limit has been reached for the code cache repository, and, in response to the storage space limit being reached, evicting the at least one flagged method from the code cache repository.
    Type: Grant
    Filed: April 30, 2019
    Date of Patent: July 28, 2020
    Assignee: International Business Machines Corporation
    Inventor: Marius Pirvu
  • Patent number: 10445075
    Abstract: Using stored information about the compilation environment during compilation of a code segment to improve performance of just-in-time compilers. A set of characteristic(s) of a compilation environment is measured during compilation of a code segment. Information that may be relevant to how the compilation is performed is derived from at least one of the measured characteristics and stored in a persistent storage device. Upon a subsequent request to compile that code segment, the information is retrieved and used to change compilation behavior. The set of characteristic(s) relate to at least either compilation backlog or peak memory usage. The changed compilation behavior involves at least adjusting the scheduling of the subsequent compilation request or adjusting the compiler optimization level.
    Type: Grant
    Filed: June 8, 2017
    Date of Patent: October 15, 2019
    Assignee: International Business Machines Corporation
    Inventor: Marius Pirvu
  • Publication number: 20190258571
    Abstract: An infrequently used method is selected for eviction from a code cache repository by accessing a memory management data structure from an operating system, using the data structure to identify a first set of pages that are infrequently referenced relative to a second set of pages, determining whether or not a page of the first set of pages is part of a code cache repository and includes at least one method, in response to the page of the first set of pages being part of the code cache repository and including at least one method, flagging the at least one method as a candidate for eviction from the code cache repository, determining whether or not a code cache storage space limit has been reached for the code cache repository, and, in response to the storage space limit being reached, evicting the at least one flagged method from the code cache repository.
    Type: Application
    Filed: April 30, 2019
    Publication date: August 22, 2019
    Inventor: Marius Pirvu
  • Patent number: 10318421
    Abstract: An infrequently used method is selected for eviction from a code cache repository by accessing a memory management data structure from an operating system, using the data structure to identify a first set of pages that are infrequently referenced relative to a second set of pages, determining whether or not a page of the first set of pages is part of a code cache repository and includes at least one method, in response to the page of the first set of pages being part of the code cache repository and including at least one method, flagging the at least one method as a candidate for eviction from the code cache repository, determining whether or not a code cache storage space limit has been reached for the code cache repository, and, in response to the storage space limit being reached, evicting the at least one flagged method from the code cache repository.
    Type: Grant
    Filed: April 12, 2017
    Date of Patent: June 11, 2019
    Assignee: International Business Machines Corporation
    Inventor: Marius Pirvu
  • Publication number: 20180300243
    Abstract: An infrequently used method is selected for eviction from a code cache repository by accessing a memory management data structure from an operating system, using the data structure to identify a first set of pages that are infrequently referenced relative to a second set of pages, determining whether or not a page of the first set of pages is part of a code cache repository and includes at least one method, in response to the page of the first set of pages being part of the code cache repository and including at least one method, flagging the at least one method as a candidate for eviction from the code cache repository, determining whether or not a code cache storage space limit has been reached for the code cache repository, and, in response to the storage space limit being reached, evicting the at least one flagged method from the code cache repository.
    Type: Application
    Filed: April 12, 2017
    Publication date: October 18, 2018
    Inventor: Marius Pirvu
  • Publication number: 20170269915
    Abstract: Using stored information about the compilation environment during compilation of a code segment to improve performance of just-in-time compilers. A set of characteristic(s) of a compilation environment is measured during compilation of a code segment. Information that may be relevant to how the compilation is performed is derived from at least one of the measured characteristics and stored in a persistent storage device. Upon a subsequent request to compile that code segment, the information is retrieved and used to change compilation behavior. The set of characteristic(s) relate to at least either compilation backlog or peak memory usage. The changed compilation behavior involves at least adjusting the scheduling of the subsequent compilation request or adjusting the compiler optimization level.
    Type: Application
    Filed: June 8, 2017
    Publication date: September 21, 2017
    Inventor: Marius Pirvu
  • Patent number: 9710246
    Abstract: Using stored information about the compilation environment during compilation of a code segment to improve performance of just-in-time compilers. A set of characteristic(s) of a compilation environment is measured during compilation of a code segment. Information that may be relevant to how the compilation is performed is derived from at least one of the measured characteristics and stored in a persistent storage device. Upon a subsequent request to compile that code segment, the information is retrieved and used to change compilation behavior. The set of characteristic(s) relate to at least either compilation backlog or peak memory usage. The changed compilation behavior involves at least adjusting the scheduling of the subsequent compilation request or adjusting the compiler optimization level.
    Type: Grant
    Filed: December 8, 2015
    Date of Patent: July 18, 2017
    Assignee: International Business Machines Corporation
    Inventor: Marius Pirvu
  • Publication number: 20160085532
    Abstract: Using stored information about the compilation environment during compilation of a code segment to improve performance of just-in-time compilers. A set of characteristic(s) of a compilation environment is measured during compilation of a code segment. Information that may be relevant to how the compilation is performed is derived from at least one of the measured characteristics and stored in a persistent storage device. Upon a subsequent request to compile that code segment, the information is retrieved and used to change compilation behavior. The set of characteristic(s) relate to at least either compilation backlog or peak memory usage. The changed compilation behavior involves at least adjusting the scheduling of the subsequent compilation request or adjusting the compiler optimization level.
    Type: Application
    Filed: December 8, 2015
    Publication date: March 24, 2016
    Inventor: Marius Pirvu
  • Patent number: 9286089
    Abstract: Using stored information about the compilation environment during compilation of a code segment to improve performance of just-in-time compilers. A set of characteristic(s) of a compilation environment is measured during compilation of a code segment. Information that may be relevant to how the compilation is performed is derived from at least one of the measured characteristics and stored in a persistent storage device. Upon a subsequent request to compile that code segment, the information is retrieved and used to change compilation behavior. The set of characteristic(s) relate to at least either compilation backlog or peak memory usage. The changed compilation behavior involves at least adjusting the scheduling of the subsequent compilation request or adjusting the compiler optimization level.
    Type: Grant
    Filed: January 24, 2014
    Date of Patent: March 15, 2016
    Assignee: International Business Machines Corporation
    Inventor: Marius Pirvu
  • Patent number: 9268543
    Abstract: A process, a computer program product, and a computer system for efficient code cache management implemented by a just-in-time compiler are provided. Embodiments of the present invention provide a practical approach to compile effectively for methods that are frequently executed over a short time period but are subsequently not executed frequently. The disclosed approach reduces the detrimental effects of compilation of such infrequently executed methods on throughput and garbage collection pause times.
    Type: Grant
    Filed: September 23, 2014
    Date of Patent: February 23, 2016
    Assignee: International Business Machines Corporation
    Inventors: Patrick R. Doyle, Marcel Mitran, Marius Pirvu, Kevin A. Stoodley, Vijay Sundaresan
  • Publication number: 20150212838
    Abstract: Using stored information about the compilation environment during compilation of a code segment to improve performance of just-in-time compilers. A set of characteristic(s) of a compilation environment is measured during compilation of a code segment. Information that may be relevant to how the compilation is performed is derived from at least one of the measured characteristics and stored in a persistent storage device. Upon a subsequent request to compile that code segment, the information is retrieved and used to change compilation behavior. The set of characteristic(s) relate to at least either compilation backlog or peak memory usage. The changed compilation behavior involves at least adjusting the scheduling of the subsequent compilation request or adjusting the compiler optimization level.
    Type: Application
    Filed: January 24, 2014
    Publication date: July 30, 2015
    Applicant: International Business Machines Corporation
    Inventor: Marius Pirvu
  • Patent number: 8756603
    Abstract: A computer implemented method for categorizing a virtual machine stage. A data processing system starts a virtual machine. It sets factor-stage ranges, wherein for each combination factor and stage, a corresponding range is present, and wherein each range is as broad as a reset range. It sets a frequency for sampling virtual machine metrics and samples virtual machine metrics to form a plurality of virtual machine metrics for each factor. It applies a value to each range satisfied by each virtual machine metric, to form a plurality of stage-qualifying values corresponding to a range, and sums all stage-qualifying values for each stage, to form a stage likelihood. The data processing system further selects a stage corresponding a highest stage likelihood. The data processing system determines if the current range is different from a former range. The system expands each range corresponding to the current stage.
    Type: Grant
    Filed: July 2, 2012
    Date of Patent: June 17, 2014
    Assignee: International Business Machines Corporation
    Inventor: Marius Pirvu
  • Patent number: 8533712
    Abstract: A computer system and computer program product for categorizing a virtual machine stage. A data processing system starts a virtual machine. It sets factor-stage ranges, wherein for each combination factor and stage, a corresponding range is present, and wherein each range is as broad as a reset range. It sets a frequency for sampling virtual machine metrics and samples virtual machine metrics to form a plurality of virtual machine metrics for each factor. It applies a value to each range satisfied by each virtual machine metric, to form a plurality of stage-qualifying values corresponding to a range, and sums all stage-qualifying values for each stage, to form a stage likelihood. The data processing system further selects a stage corresponding a highest stage likelihood. The data processing system determines if the current range is different from a former range. The system expands each range corresponding to the current stage.
    Type: Grant
    Filed: October 1, 2010
    Date of Patent: September 10, 2013
    Assignee: International Business Machines Corporation
    Inventor: Marius Pirvu
  • Patent number: 8392898
    Abstract: Managing just-in-time compilation is provided. The process designates a set of compilation threads for exclusively performing compilation functions associated with an application. A set of computation threads is designated for executing the application. Processor cycles are dynamically allocated during runtime between the set of compilation threads and the set of computation threads to maintain a ratio of processor cycles consumed by the set of compilation threads to processor cycles consumed by the set of computation threads.
    Type: Grant
    Filed: February 6, 2012
    Date of Patent: March 5, 2013
    Assignee: International Business Machines Corporation
    Inventor: Marius Pirvu
  • Publication number: 20130014105
    Abstract: A computer implemented method for categorizing a virtual machine stage. A data processing system starts a virtual machine. It sets factor-stage ranges, wherein for each combination factor and stage, a corresponding range is present, and wherein each range is as broad as a reset range. It sets a frequency for sampling virtual machine metrics and samples virtual machine metrics to form a plurality of virtual machine metrics for each factor. It applies a value to each range satisfied by each virtual machine metric, to form a plurality of stage-qualifying values corresponding to a range, and sums all stage-qualifying values for each stage, to form a stage likelihood. The data processing system further selects a stage corresponding a highest stage likelihood. The data processing system determines if the current range is different from a former range. The system expands each range corresponding to the current stage.
    Type: Application
    Filed: July 2, 2012
    Publication date: January 10, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Marius Pirvu
  • Patent number: 8286152
    Abstract: Systems, methods, and computer products for just-in-time compilation for virtual machine environments for fast applications start-up and maximal run-time performance. Exemplary embodiments include a just in time compilation method for a virtual machine environment coupled to a memory, including identifying a program structure for compilation, creating a low optimization compiled version of the program structure that is relocatable in the memory, storing into a persistent cache the low optimization compiled version of the program structure that is relocatable and relocating the low optimization compiled version of the program structure into a virtual machine address space in the memory, wherein relocating the low optimization compiled version of the program structure includes transforming the low optimization compiled version to a compiled version with fixed addresses in the memory that can be executed.
    Type: Grant
    Filed: August 22, 2007
    Date of Patent: October 9, 2012
    Assignee: International Business Machines Corporation
    Inventors: Nikola Grcevski, Derek B. Inglis, Marius Pirvu, Mark G. Stoodley
  • Publication number: 20120144377
    Abstract: A computer implemented method, apparatus, and computer program product for managing just-in-time compilation. The process designates a set of compilation threads for exclusively performing compilation functions associated with an application. A set of computation threads is designated for executing the application. Processor cycles are dynamically allocated during runtime between the set of compilation threads and the set of computation threads to maintain a ratio of processor cycles consumed by the set of compilation threads to processor cycles consumed by the set of computation threads.
    Type: Application
    Filed: February 6, 2012
    Publication date: June 7, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Marius Pirvu
  • Publication number: 20120084776
    Abstract: A computer implemented method, system and computer program product for categorizing a virtual machine stage. A data processing system starts a virtual machine. It sets factor-stage ranges, wherein for each combination factor and stage, a corresponding range is present, and wherein each range is as broad as a reset range. It sets a frequency for sampling virtual machine metrics and samples virtual machine metrics to form a plurality of virtual machine metrics for each factor. It applies a value to each range satisfied by each virtual machine metric, to form a plurality of stage-qualifying values corresponding to a range, and sums all stage-qualifying values for each stage, to form a stage likelihood. The data processing system further selects a stage corresponding a highest stage likelihood. The data processing system determines if the current range is different from a former range. The system expands each range corresponding to the current stage.
    Type: Application
    Filed: October 1, 2010
    Publication date: April 5, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Marius Pirvu
  • Patent number: 8146065
    Abstract: A computer implemented method, apparatus, and computer program product for managing just-in-time compilation. The process designates a set of compilation threads for exclusively performing compilation functions associated with an application. A set of computation threads is designated for executing the application. Processor cycles are dynamically allocated during runtime between the set of compilation threads and the set of computation threads to maintain a ratio of processor cycles consumed by the set of compilation threads to processor cycles consumed by the set of computation threads.
    Type: Grant
    Filed: August 13, 2007
    Date of Patent: March 27, 2012
    Assignee: International Business Machines Corporation
    Inventor: Marius Pirvu