Patents by Inventor Aleksandar Micic
Aleksandar Micic 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).
-
Publication number: 20250103466Abstract: Dynamic trace sizing for tracing just-in-time compilation is provided. A trace of a program is generated during a tracing phase of the just-in-time compilation. The trace of the program is profiled to determine an estimated effective trace size prior to compiling the trace. Additional profiling is performed to determine a garbage collection time and consequently a total execution time of the program based on the estimated effective trace size determined prior to compiling the trace. It is determined whether to continue formation of the trace or trigger termination of the trace based on the garbage collection time of the program. Triggering the termination of the trace dynamically sizes the trace at runtime of the program.Type: ApplicationFiled: September 21, 2023Publication date: March 27, 2025Inventors: Joannah Nanjekye, David D. Bremner, Aleksandar Micic
-
Patent number: 12253930Abstract: An embodiment includes initiating a first cycle of a process using a first number of threads that operate in parallel to collectively execute the process and collect performance data. The embodiment aggregates the performance data and computes a first idle duration based at least in part on the aggregated performance data. The embodiment projects a thread-count recommendation based at least in part on a mathematical model that includes the first number of threads as an input number of threads, the first idle and cycle durations as input idle and cycle durations, respectively, and a second number of threads as an output variable representative of an output number of threads, where the output number of threads is determined as a function of the input idle duration. The embodiment initiates a second cycle of the process using the second number of threads output as a projection by the mathematical model.Type: GrantFiled: October 19, 2021Date of Patent: March 18, 2025Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Salman Zia Rana, Aleksandar Micic
-
Patent number: 11714676Abstract: A value profiling method, system and computer program product that leverages a guarded storage facility. During code execution, a first instruction is loaded. The first instruction has a first value designating a first region of memory and the first instruction is related to a first section of the code. A determination is made as to whether a guarded mode is enabled at the first region. Responsive to an enabled guarded mode at the first region, a secondary operation is triggered. The secondary operation is in addition to a primary operation of the first instruction. The primary operation is relative to the first region of the memory. The secondary operation causes a profiling of the first section of the code.Type: GrantFiled: January 3, 2020Date of Patent: August 1, 2023Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Joran S. C. Siu, Irwin D'Souza, Filip Jeremic, Aleksandar Micic, Evgenia Badiyanova
-
Publication number: 20230122295Abstract: An embodiment includes initiating a first cycle of a process using a first number of threads that operate in parallel to collectively execute the process and collect performance data. The embodiment aggregates the performance data and computes a first idle duration based at least in part on the aggregated performance data. The embodiment projects a thread-count recommendation based at least in part on a mathematical model that includes the first number of threads as an input number of threads, the first idle and cycle durations as input idle and cycle durations, respectively, and a second number of threads as an output variable representative of an output number of threads, where the output number of threads is determined as a function of the input idle duration. The embodiment initiates a second cycle of the process using the second number of threads output as a projection by the mathematical model.Type: ApplicationFiled: October 19, 2021Publication date: April 20, 2023Applicant: International Business Machines CorporationInventors: SALMAN Zia RANA, Aleksandar Micic
-
Patent number: 11204866Abstract: A first thread of a garbage collector can determine fields, in class metadata assigned to objects contained in a local memory, that are self-referencing fields. For a plurality of the objects, recursively, the first thread can determine whether the object has at least one child object, indicated by a self-referencing field of the object, that has not been assigned to a destination cache or a previously generated source cache. If so, the first thread can assign the child object to the destination cache to indicate that the child object is live. The first thread can add the destination cache to a global scan queue as a source cache. A second thread of the garbage collector can initiate object scanning on objects indicated in the first source cache. Memory locations where live objects are not located can be reclaimed.Type: GrantFiled: December 23, 2020Date of Patent: December 21, 2021Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Aleksandar Micic, Salman Zia Rana
-
Patent number: 11194714Abstract: A first thread of a garbage collector can determine fields, in class metadata assigned to objects contained in a local memory, that are self-referencing fields. For a plurality of the objects, recursively, the first thread can determine whether the object has at least one child object, indicated by a self-referencing field of the object, that has not been assigned to a destination cache or a previously generated source cache. If so, the first thread can assign the child object to the destination cache to indicate that the child object is live. The first thread can add the destination cache to a global scan queue as a source cache. A second thread of the garbage collector can initiate object scanning on objects indicated in the first source cache. Memory locations where live objects are not located can be reclaimed.Type: GrantFiled: March 31, 2020Date of Patent: December 7, 2021Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Aleksandar Micic, Salman Zia Rana
-
Publication number: 20210303462Abstract: A first thread of a garbage collector can determine fields, in class metadata assigned to objects contained in a local memory, that are self-referencing fields. For a plurality of the objects, recursively, the first thread can determine whether the object has at least one child object, indicated by a self-referencing field of the object, that has not been assigned to a destination cache or a previously generated source cache. If so, the first thread can assign the child object to the destination cache to indicate that the child object is live. The first thread can add the destination cache to a global scan queue as a source cache. A second thread of the garbage collector can initiate object scanning on objects indicated in the first source cache. Memory locations where live objects are not located can be reclaimed.Type: ApplicationFiled: December 23, 2020Publication date: September 30, 2021Inventors: Aleksandar Micic, Salman Zia Rana
-
Publication number: 20210303461Abstract: A first thread of a garbage collector can determine fields, in class metadata assigned to objects contained in a local memory, that are self-referencing fields. For a plurality of the objects, recursively, the first thread can determine whether the object has at least one child object, indicated by a self-referencing field of the object, that has not been assigned to a destination cache or a previously generated source cache. If so, the first thread can assign the child object to the destination cache to indicate that the child object is live. The first thread can add the destination cache to a global scan queue as a source cache. A second thread of the garbage collector can initiate object scanning on objects indicated in the first source cache. Memory locations where live objects are not located can be reclaimed.Type: ApplicationFiled: March 31, 2020Publication date: September 30, 2021Inventors: Aleksandar Micic, Salman Zia Rana
-
Patent number: 11080182Abstract: Systems and methods for object load introspection using guarded storage are disclosed. In embodiments, a computer-implemented method includes: determining objects of interest designated by a user; splitting a first subset of a predetermined memory heap into guarded regions based on a number of objects of interest; allocating each of the objects of interest to a respective one of the guarded regions and remaining objects to a second subset of the predetermined memory heap; executing a program; detecting one of the objects of interest is loaded from one of the guarded regions; generating a trap that transfers control of the executing the program to a signal handler, wherein the signal handler is designated to perform a user-defined task associated with the one of the objects of interest; and executing, by the signal handler of the computing device, the user-defined task.Type: GrantFiled: January 7, 2019Date of Patent: August 3, 2021Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Irwin D'Souza, Joran S. C. Siu, Filip Jeremic, Aleksandar Micic, Evgenia Badiyanova
-
Publication number: 20210208927Abstract: A value profiling method, system and computer program product that leverages a guarded storage facility. During code execution, a first instruction is loaded. The first instruction has a first value designating a first region of memory and the first instruction is related to a first section of the code. A determination is made as to whether a guarded mode is enabled at the first region. Responsive to an enabled guarded mode at the first region, a secondary operation is triggered. The secondary operation is in addition to a primary operation of the first instruction. The primary operation is relative to the first region of the memory. The secondary operation causes a profiling of the first section of the code.Type: ApplicationFiled: January 3, 2020Publication date: July 8, 2021Applicant: International Business Machines CorporationInventors: Joran S.C. Siu, Irwin D'Souza, Filip Jeremic, Aleksandar Micic, Evgenia Badiyanova
-
Patent number: 10877884Abstract: An approach for optimizing a copying of a data object in a concurrent copying garbage collection operation is provided. In an embodiment, a source copy of the data object to be copied as part of the garbage collection operation is identified. A copying of the source copy to a target location is initiated by a primary accessing thread. This initiating of the copying includes the creation of a temporary target object header for the target object in the target location that contains an indicator set to indicate that the copying is ongoing. As the copying is occurring, the execution of any other accessing threads that are attempting to use the data object are held for as long as the indicator indicates that the copying is ongoing. Once the copying has completed, the target object header is replaced with a copy of the source object header, resetting the indicator.Type: GrantFiled: January 9, 2018Date of Patent: December 29, 2020Assignee: International Business Machines CorporationInventors: Aleksandar Micic, Joran S. C. Siu, Irwin D'Souza, Filip Jeremic, Charles R. Gracie, Dmitri Pivkine
-
Patent number: 10747515Abstract: Objects are managed in a virtual machine. A frequency of access to fields in objects for an application is identified while the application runs in the virtual machine. An object in the objects is split into a hot object and a cold semi-object based on the frequency of access to the fields in the object as identified while the application runs in the virtual machine, wherein cache misses are reduced from splitting objects based of the frequency of access.Type: GrantFiled: January 25, 2019Date of Patent: August 18, 2020Assignee: International Business Machines CorporationInventors: Taees Eimouri, Kenneth Blair Kent, Aleksandar Micic
-
Publication number: 20200218651Abstract: Systems and methods for object load introspection using guarded storage are disclosed. In embodiments, a computer-implemented method includes: determining objects of interest designated by a user; splitting a first subset of a predetermined memory heap into guarded regions based on a number of objects of interest; allocating each of the objects of interest to a respective one of the guarded regions and remaining objects to a second subset of the predetermined memory heap; executing a program; detecting one of the objects of interest is loaded from one of the guarded regions; generating a trap that transfers control of the executing the program to a signal handler, wherein the signal handler is designated to perform a user-defined task associated with the one of the objects of interest; and executing, by the signal handler of the computing device, the user-defined task.Type: ApplicationFiled: January 7, 2019Publication date: July 9, 2020Inventors: Irwin D'SOUZA, Joran S.C. SIU, Filip JEREMIC, Aleksandar MICIC, Evgenia BADIYANOVA
-
Publication number: 20200142677Abstract: Objects are managed in a virtual machine. A frequency of access to fields in objects for an application is identified while the application runs in the virtual machine. An object in the objects is split into a hot object and a cold semi-object based on the frequency of access to the fields in the object as identified while the application runs in the virtual machine, wherein cache misses are reduced from splitting objects based of the frequency of access.Type: ApplicationFiled: January 25, 2019Publication date: May 7, 2020Inventors: Taees Eimouri, Kenneth Blair Kent, Aleksandar Micic
-
Patent number: 10606629Abstract: A first execution of an application is performed on a virtual machine. A set of virtual machine parameters associated with the first execution is determined. One or more command lines of the application are mapped to the set of virtual machine parameters. The mapping is stored in a cache. A second execution of the application is performed on the virtual machine. The second execution retrieves the set of virtual machine parameters from the cache.Type: GrantFiled: December 15, 2017Date of Patent: March 31, 2020Assignee: International Business Machines CorporationInventors: Daniel Heidinga, Peter D. Shipton, Aleksandar Micic, Devarghya Bhattacharya, Kenneth B. Kent
-
Patent number: 10585692Abstract: A first execution of an application is performed on a virtual machine. A set of virtual machine parameters associated with the first execution is determined. One or more command lines of the application are mapped to the set of virtual machine parameters. The mapping is stored in a cache. A second execution of the application is performed on the virtual machine. The second execution retrieves the set of virtual machine parameters from the cache.Type: GrantFiled: August 15, 2017Date of Patent: March 10, 2020Assignee: International Business Machines CorporationInventors: Daniel Heidinga, Peter D. Shipton, Aleksandar Micic, Devarghya Bhattacharya, Kenneth B. Kent
-
Publication number: 20190213125Abstract: An approach for optimizing a copying of a data object in a concurrent copying garbage collection operation is provided. In an embodiment, a source copy of the data object to be copied as part of the garbage collection operation is identified. A copying of the source copy to a target location is initiated by a primary accessing thread. This initiating of the copying includes the creation of a temporary target object header for the target object in the target location that contains an indicator set to indicate that the copying is ongoing. As the copying is occurring, the execution of any other accessing threads that are attempting to use the data object are held for as long as the indicator indicates that the copying is ongoing. Once the copying has completed, the target object header is replaced with a copy of the source object header, resetting the indicator.Type: ApplicationFiled: January 9, 2018Publication date: July 11, 2019Inventors: Aleksandar Micic, Joran S.C. Siu, Irwin D'Souza, Filip Jeremic, Charles R. Gracie, Dmitri Pivkine
-
Publication number: 20190056965Abstract: A first execution of an application is performed on a virtual machine. A set of virtual machine parameters associated with the first execution is determined. One or more command lines of the application are mapped to the set of virtual machine parameters. The mapping is stored in a cache. A second execution of the application is performed on the virtual machine. The second execution retrieves the set of virtual machine parameters from the cache.Type: ApplicationFiled: August 15, 2017Publication date: February 21, 2019Inventors: Daniel Heidinga, Peter D. Shipton, Aleksandar Micic, Devarghya Bhattacharya, Kenneth B. Kent
-
Publication number: 20190056967Abstract: A first execution of an application is performed on a virtual machine. A set of virtual machine parameters associated with the first execution is determined. One or more command lines of the application are mapped to the set of virtual machine parameters. The mapping is stored in a cache. A second execution of the application is performed on the virtual machine. The second execution retrieves the set of virtual machine parameters from the cache.Type: ApplicationFiled: December 15, 2017Publication date: February 21, 2019Inventors: Daniel Heidinga, Peter D. Shipton, Aleksandar Micic, Devarghya Bhattacharya, Kenneth B. Kent
-
Patent number: 9870317Abstract: A technique for incrementally unloading classes using a region-based garbage collector is described. One aspect of such a technique includes maintaining a remembered set for a class set. The remembered set indicates whether instances of the class set are contained in one or more regions in memory, and in which regions the instances are contained. Upon performing an incremental garbage collection process for a subset of the regions in memory, the technique examines the remembered set to determine whether the class set includes instances in regions outside of the subset. If the remembered set indicates that the class set includes instances outside of the subset of regions, the technique identifies the class set as “live.” This will preclude unloading the class set from the subset of regions.Type: GrantFiled: June 14, 2013Date of Patent: January 16, 2018Assignee: International Business Machines CorporationInventors: Peter Wiebe Burka, Jeffrey Michael Disher, Daryl James Maier, Aleksandar Micic, Ryan Andrew Sciampacone