Patents by Inventor Michihiro Horie

Michihiro Horie 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: 20230393821
    Abstract: A computer-implemented method according to one embodiment includes determining whether a predetermined write pattern and a predetermined read pattern exist in a program of an application. In response to a determination that the predetermined write pattern and the predetermined read pattern do not exist in the program, a memory fence is inserted before a variable in the program. A computer-implemented method according to another embodiment includes determining whether a predetermined write pattern exists in a program of an application. In response to a determination that the predetermined write pattern does not exist in the program, a memory fence is inserted after a variable in the program.
    Type: Application
    Filed: June 3, 2022
    Publication date: December 7, 2023
    Inventors: Michihiro Horie, Kazunori Ogata
  • Patent number: 11822471
    Abstract: Garbage collection methods and systems include determining that a condition for performing concurrent marking has been met, based on object write frequency. It is determined that an opportunity for performing concurrent marking has occurred, based on a stop-the-world event. Performance of concurrent marking is delayed until a future stop-the-world event, to prevent pre-write barriers.
    Type: Grant
    Filed: December 7, 2021
    Date of Patent: November 21, 2023
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michihiro Horie, Kazunori Ogata
  • Patent number: 11687449
    Abstract: A computer-implemented method is provided for reducing Compare And Swap (CAS) operations in a concurrent marking Garbage Collection (GC) process that operates on objects corresponding to a bit map of multiple blocks. The method includes finding, from among the objects, live objects that belong to a same block in the bit map from among the multiple blocks when traversing object trees of the objects for GC marking. The method further includes loading a latest value of the same block from the bitmap, updating the latest value by setting corresponding marking bits in the bit map, and updating the same block in the bit map with a single CAS operation.
    Type: Grant
    Filed: September 10, 2020
    Date of Patent: June 27, 2023
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michihiro Horie, Kazunori Ogata
  • Publication number: 20230176964
    Abstract: Garbage collection methods and systems include determining that a condition for performing concurrent marking has been met, based on object write frequency. It is determined that an opportunity for performing concurrent marking has occurred, based on a stop-the-world event. Performance of concurrent marking is delayed until a future stop-the-world event, to prevent pre-write barriers.
    Type: Application
    Filed: December 7, 2021
    Publication date: June 8, 2023
    Inventors: Michihiro Horie, Kazunori Ogata
  • Patent number: 11645200
    Abstract: Embodiments are disclosed for a method. The method includes determining that a thief thread attempted a work steal from a garbage collection (GC) owner queue. Additionally, the method includes determining that a number of tasks in the GC owner queue meets a predetermined threshold. Further, the method includes determining that the GC owner queue comprises a heavy-weight task. The method also includes moving the heavy-weight task to a top position of the GC owner queue.
    Type: Grant
    Filed: November 24, 2020
    Date of Patent: May 9, 2023
    Assignee: International Business Machines Corporation
    Inventors: Michihiro Horie, Kazunori Ogata, Mikio Takeuchi
  • Patent number: 11416390
    Abstract: A first object at a memory address is identified. A first index location in a bitmap that corresponds to that memory address is calculated. A bit is set at the first index location. A pointer to a child object within the first object is detected. A memory address of that child object is identified using the pointer. A second index location in the bitmap that corresponds to that memory address is calculated. A bit is set at the second index location. A bit is also set at a third index location, which is adjacent to the first index location.
    Type: Grant
    Filed: September 9, 2020
    Date of Patent: August 16, 2022
    Assignee: International Business Machines Corporation
    Inventors: Michihiro Horie, Kazunori Ogata
  • Publication number: 20220164282
    Abstract: Embodiments are disclosed for a method. The method includes determining that a thief thread attempted a work steal from a garbage collection (GC) owner queue. Additionally, the method includes determining that a number of tasks in the GC owner queue meets a predetermined threshold. Further, the method includes determining that the GC owner queue comprises a heavy-weight task. The method also includes moving the heavy-weight task to a top position of the GC owner queue.
    Type: Application
    Filed: November 24, 2020
    Publication date: May 26, 2022
    Inventors: Michihiro Horie, Kazunori Ogata, Mikio Takeuchi
  • Patent number: 11327793
    Abstract: Systems and methods for processing hierarchical tasks in a garbage collection mechanism are provided. The method includes determining chunks in a task queue. Each chunk is a group of child tasks created after processing one task. The method includes popping, by an owner thread, tasks from a top side of the task queue pointed at by a chunk in a first in first out (FIFO) pop. The method also includes stealing, by a thief thread, tasks from a chunk in an opposite side of the task queue.
    Type: Grant
    Filed: February 18, 2020
    Date of Patent: May 10, 2022
    Assignee: International Business Machines Corporation
    Inventors: Michihiro Horie, Kazunori Ogata, Mikio Takeuchi, Hiroshi Horii
  • Publication number: 20220129290
    Abstract: A computer-implemented method is provided for managing Garbage Collection (GC) safepoints. The method includes determining whether a GC safepoint for a target native method can be removed by checking a heap occupancy ratio prior to executing the target native method. The method further includes removing the GC safepoint responsive to the heap occupancy ratio prior to executing the target native method being less than a threshold occupancy amount percentage. The method also includes determining whether the GC safepoint for the target native method can be removed by checking a most recent GC pause time. The method additionally includes removing the GC safepoint responsive to the most recent GC pause time being shorter by a threshold pause time amount percentage than an execution time of the target native method.
    Type: Application
    Filed: October 28, 2020
    Publication date: April 28, 2022
    Inventors: Michihiro Horie, Kazunori Ogata, Hiroshi Horii
  • Publication number: 20220075721
    Abstract: A computer-implemented method is provided for reducing Compare And Swap (CAS) operations in a concurrent marking Garbage Collection (GC) process that operates on objects corresponding to a bit map of multiple blocks. The method includes finding, from among the objects, live objects that belong to a same block in the bit map from among the multiple blocks when traversing object trees of the objects for GC marking. The method further includes loading a latest value of the same block from the bitmap, updating the latest value by setting corresponding marking bits in the bit map, and updating the same block in the bit map with a single CAS operation.
    Type: Application
    Filed: September 10, 2020
    Publication date: March 10, 2022
    Inventors: Michihiro Horie, Kazunori Ogata
  • Publication number: 20220075720
    Abstract: A first object at a memory address is identified. A first index location in a bitmap that corresponds to that memory address is calculated. A bit is set at the first index location. A pointer to a child object within the first object is detected. A memory address of that child object is identified using the pointer. A second index location in the bitmap that corresponds to that memory address is calculated. A bit is set at the second index location. A bit is also set at a third index location, which is adjacent to the first index location.
    Type: Application
    Filed: September 9, 2020
    Publication date: March 10, 2022
    Inventors: Michihiro Horie, Kazunori Ogata
  • Publication number: 20220066816
    Abstract: A computer-implemented method, system, and computer program product are provided. The approach includes popping a first task from a queue of a garbage collection thread. The approach also includes identifying a second task from the popped first task, where the second task is associated with a bit of a bitmap and the bit is located at a location within the bitmap that has not yet been passed by a finger pointer. The approach also includes pushing the second task to the queue of the garbage collection thread.
    Type: Application
    Filed: August 26, 2020
    Publication date: March 3, 2022
    Inventors: Michihiro Horie, Kazunori Ogata
  • Patent number: 11163594
    Abstract: A computer-implemented method is provided for compilation rescheduling from among four compilation levels comprising level 1, level 2, level 3, and level 4 on a parallel distributed computing framework running processes for a plurality of jobs of a virtual machine. The method bypasses a program analysis overhead that includes measuring a compiled method execution time by identifying completed compilation levels of a Just In Time compilation. The method finds a repetition of a same process in the processes for the plurality of jobs of the virtual machine from profiles by comparing main class names, virtual machine parameters, and Jar file types therein.
    Type: Grant
    Filed: October 29, 2019
    Date of Patent: November 2, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michihiro Horie, Tatsuhiro Chiba, Kazunori Ogata, Hiroshi Horii
  • Publication number: 20210255894
    Abstract: Systems and methods for processing hierarchical tasks in a garbage collection mechanism are provided. The method includes determining chunks in a task queue. Each chunk is a group of child tasks created after processing one task. The method includes popping, by an owner thread, tasks from a top side of the task queue pointed at by a chunk in a first in first out (FIFO) pop. The method also includes stealing, by a thief thread, tasks from a chunk in an opposite side of the task queue.
    Type: Application
    Filed: February 18, 2020
    Publication date: August 19, 2021
    Inventors: Michihiro Horie, Kazunori Ogata, Mikio Takeuchi, Hiroshi Horii
  • Publication number: 20210124600
    Abstract: A computer-implemented method is provided for compilation rescheduling from among four compilation levels comprising level 1, level 2, level 3, and level 4 on a parallel distributed computing framework running processes for a plurality of jobs of a virtual machine. The method bypasses a program analysis overhead that includes measuring a compiled method execution time by identifying completed compilation levels of a Just In Time compilation. The method finds a repetition of a same process in the processes for the plurality of jobs of the virtual machine from profiles by comparing main class names, virtual machine parameters, and Jar file types therein.
    Type: Application
    Filed: October 29, 2019
    Publication date: April 29, 2021
    Inventors: Michihiro Horie, Tatsuhiro Chiba, Kazunori Ogata, Hiroshi Horii
  • Patent number: 10977087
    Abstract: A computer-implemented method, system, and computer program product are provided to reduce stealing in a processor. The method includes allocating a private space for a first thread in a memory. The method also includes generating a plurality of child tasks by the first thread responsive to processing a first task. The method additionally includes storing a portion of the plurality of child tasks in the private space removing the ability of other threads from popping the portion of the plurality of child tasks, with a remainder of the plurality of child tasks being stored in a public space. The method further includes popping the portion of the plurality of child tasks from the private space by the first thread.
    Type: Grant
    Filed: August 7, 2018
    Date of Patent: April 13, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michihiro Horie, Hiroshi Horii
  • Patent number: 10929054
    Abstract: Methods and systems for performing memory garbage collection include determining a size of N double-ended queues (“deques”) associated with N respective garbage collection threads, where N is three or greater. A task is popped from a deque out of the N deques having a largest size. Garbage collection is performed on the popped task.
    Type: Grant
    Filed: June 6, 2019
    Date of Patent: February 23, 2021
    Assignee: International Business Machines Corporation
    Inventors: Michihiro Horie, Kazunori Ogata, Hiroshi Horii
  • Publication number: 20200387322
    Abstract: Methods and systems for performing memory garbage collection include determining a size of N double-ended queues (“deques”) associated with N respective garbage collection threads, where N is three or greater. A task is popped from a deque out of the N deques having a largest size. Garbage collection is performed on the popped task.
    Type: Application
    Filed: June 6, 2019
    Publication date: December 10, 2020
    Inventors: Michihiro Horie, Kazunori Ogata, Hiroshi Horii
  • Patent number: 10846217
    Abstract: Methods and systems for performing garbage collection include issuing a memory fence that indicates that a number of tasks in a garbage collection deque, belonging to a first garbage collection thread, has decreased by more than one. A length of the garbage collection deque, after the memory fence is issued, is determined to be greater than zero. Multiple tasks are popped from the garbage collection deque responsive to the determination that the length of the garbage collection deque is greater than zero. Garbage collection is performed on the popped tasks.
    Type: Grant
    Filed: May 7, 2019
    Date of Patent: November 24, 2020
    Assignee: International Business Machines Corporation
    Inventors: Michihiro Horie, Kazunori Ogata, Mikio Takeuchi, Hiroshi Horii
  • Publication number: 20200356473
    Abstract: Methods and systems for performing garbage collection include issuing a memory fence that indicates that a number of tasks in a garbage collection deque, belonging to a first garbage collection thread, has decreased by more than one. A length of the garbage collection deque, after the memory fence is issued, is determined to be greater than zero. Multiple tasks are popped from the garbage collection deque responsive to the determination that the length of the garbage collection deque is greater than zero. Garbage collection is performed on the popped tasks.
    Type: Application
    Filed: May 7, 2019
    Publication date: November 12, 2020
    Inventors: Michihiro Horie, Kazunori Ogata, Mikio Takeuchi, Hiroshi Horii