-
公开(公告)号:US20090063594A1
公开(公告)日:2009-03-05
申请号:US11846594
申请日:2007-08-29
IPC分类号: G06F17/30
CPC分类号: G06F12/0253
摘要: The number of CPU cycles required to reclaim object memory space in a memory management process is reduced by using a two phase approach. A data structure exists for each object that is to be loaded into object memory space. One part of the data structure is the object definition. The other part is a MM (Memory Management) immunity annotation or value that controls the frequency with which the object must actually be examined to determine if it is suitable for reclamation. On each iteration of the memory management process, the object's MM immunity value is tested to determine whether it is greater than a predetermined threshold. If greater than the threshold, the value is decremented, but the object is not actually examined for its suitability for removal. If the value equals the threshold, the object itself is examined. If it is found to be suitable, it is removed to reclaim the object memory space it previously occupied, If it is actually examined but is found not to be suitable for removal, the MM immunity value is reset to its original value or is otherwise adjusted to prevent examination of the object for a certain number of future iterations of the memory management process.
摘要翻译: 通过使用两相方法可以减少在内存管理过程中回收对象内存空间所需的CPU周期数。 对于要加载到对象内存空间的每个对象,都存在数据结构。 数据结构的一部分是对象定义。 另一部分是MM(内存管理)豁免注释或值,用于控制物体必须实际检查的频率,以确定是否适合回收。 在存储器管理过程的每次迭代中,测试对象的MM抗扰度值以确定其是否大于预定阈值。 如果大于阈值,则该值递减,但是实际上并没有检查该对象是否适用于删除。 如果该值等于阈值,则会检查对象本身。 如果发现是合适的,则将其删除以回收其以前占用的对象存储空间,如果实际检查但被发现不适合删除,则MM抗扰度值将重置为其原始值或以其他方式调整 以防止对对象进行一定数量的未来内存管理过程的迭代。
-
公开(公告)号:US08140597B2
公开(公告)日:2012-03-20
申请号:US11846594
申请日:2007-08-29
IPC分类号: G06F17/30
CPC分类号: G06F12/0253
摘要: The number of CPU cycles required to reclaim object memory space in a memory management process is reduced by using a two phase approach. A data structure exists for each object that is to be loaded into object memory space. One part of the data structure is the object definition. The other part is a MM (Memory Management) immunity annotation or value that controls the frequency with which the object must actually be examined to determine if it is suitable for reclamation. On each iteration of the memory management process, the object's MM immunity value is tested to determine whether it is greater than a predetermined threshold. If greater than the threshold, the value is decremented, but the object is not actually examined for its suitability for removal. If the value equals the threshold, the object itself is examined. If it is found to be suitable, it is removed to reclaim the object memory space it previously occupied, If it is actually examined but is found not to be suitable for removal, the MM immunity value is reset to its original value or is otherwise adjusted to prevent examination of the object for a certain number of future iterations of the memory management process.
摘要翻译: 通过使用两相方法可以减少在内存管理过程中回收对象内存空间所需的CPU周期数。 对于要加载到对象内存空间的每个对象,都存在数据结构。 数据结构的一部分是对象定义。 另一部分是MM(内存管理)豁免注释或值,用于控制物体必须实际检查的频率,以确定是否适合回收。 在存储器管理过程的每次迭代中,测试对象的MM抗扰度值以确定其是否大于预定阈值。 如果大于阈值,则该值递减,但是实际上并没有检查该对象是否适用于删除。 如果该值等于阈值,则会检查对象本身。 如果发现是合适的,则将其删除以回收其以前占用的对象存储空间,如果实际检查但被发现不适合删除,则MM抗扰度值将重置为其原始值或进行其他调整 以防止对对象进行一定数量的未来内存管理过程的迭代。
-
公开(公告)号:US08621171B2
公开(公告)日:2013-12-31
申请号:US13023426
申请日:2011-02-08
申请人: Peter Wiebe Burka , Jeffrey Michael Disher , Daryl James Maier , Aleksandar Micic , Ryan Andrew Sciampacone
发明人: Peter Wiebe Burka , Jeffrey Michael Disher , Daryl James Maier , Aleksandar Micic , Ryan Andrew Sciampacone
IPC分类号: G06F12/00
CPC分类号: G06F12/0269
摘要: 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.
摘要翻译: 用于压缩规划的计算机实现过程的说明性实施例从一组区域中选择源区域以形成所选择的源区域,使用来自所选源区域的信息来初始化处理数据,并且响应于当前目的地不为NULL的确定 而不是满,决定是否从目的地原子消费。 响应于从目的地原子消费的决定,计算机实施的过程计划撤离到消费范围并更新过程数据并且响应于源区域为空的确定,确定是否剩余更多的工作。 响应于确定更多的工作不会保留,计算机实现的过程将生成重定位表。
-
公开(公告)号:US08554807B2
公开(公告)日:2013-10-08
申请号:US13431973
申请日:2012-03-28
申请人: Peter Wiebe Burka , Jeffrey Michael Disher , Daryl James Maier , Aleksandar Micic , Ryan Andrew Sciampacone
发明人: Peter Wiebe Burka , Jeffrey Michael Disher , Daryl James Maier , Aleksandar Micic , Ryan Andrew Sciampacone
CPC分类号: G06F12/0269 , G06F17/30
摘要: 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.
摘要翻译: 描述了使用基于区域的垃圾收集器递增卸载类的技术。 这种技术的一个方面包括维护用于集合的记忆集合。 记住的集合指示类集的实例是否包含在内存中的一个或多个区域中,以及在哪些区域中包含实例。 在对存储器中的区域的子集执行增量垃圾收集过程之后,该技术检查所记住的集合以确定该类集合是否包括在该子集之外的区域中的实例。 如果记住的集合指示类集合包含区域子集之外的实例,则该技术将类集合标识为“活动”。 这将排除从区域子集卸载类集。
-
公开(公告)号:US08447793B2
公开(公告)日:2013-05-21
申请号:US13153402
申请日:2011-06-04
申请人: Peter Wiebe Burka , Jeffrey Michael Disher , Daryl James Maier , Aleksandar Micic , Ryan Andrew Sciampacone
发明人: Peter Wiebe Burka , Jeffrey Michael Disher , Daryl James Maier , Aleksandar Micic , Ryan Andrew Sciampacone
CPC分类号: G06F12/0253 , G06F9/45504
摘要: 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.
摘要翻译: 用于有效地实现基于区域的垃圾收集器的记忆集合的方法包括为对象堆中的每个区域维护记忆集卡列表(RSCL)。 RSCL中的每个卡标识对象堆中包含至少一个引用与RSCL相关联的区域中的对象的对象的区域。 该方法进一步建立识别对象堆中的区域的子集的集合集合,以执行部分垃圾收集。 在执行部分垃圾收集之前,该方法将卡从与集合集相关联的RSCL刷新到卡表,全局丢弃将要从所有RSCL重建的卡,并全局清除卡表。 然后,该方法将卡添加到RSCL中,以便在遍历集合集中的活动对象时发现的区域间引用。 还公开了相应的计算机程序产品和装置。
-
公开(公告)号:US08972680B2
公开(公告)日:2015-03-03
申请号:US13356010
申请日:2012-01-23
申请人: Peter Wiebe Burka , Jeffrey Michael Disher , Elijah El-Haddad , Aleksander Micic , Ryan Andrew Sciampacone
发明人: Peter Wiebe Burka , Jeffrey Michael Disher , Elijah El-Haddad , Aleksander Micic , Ryan Andrew Sciampacone
IPC分类号: G06F13/00
CPC分类号: G06F12/122 , G06F9/5022 , G06F12/0253 , G06F12/0833 , G06F12/1054 , G06F2209/501 , G06F2212/62 , G06F2212/65
摘要: An illustrative embodiment of a computer-implemented process for managing a staging area creates the staging area for identified candidate cold objects, moves the identified candidate objects into the staging area, tracks application access to memory comprising the staging area and determines whether frequency of use information for a specific object exceeds a predetermined threshold. Responsive to a determination that the frequency of use information for the specific object exceeds a predetermined threshold, move the specific object into a regular area and determine whether a current time exceeds a predetermined threshold. Responsive to a determination that the current time exceeds a predetermined threshold, the computer-implemented process moves remaining objects from the staging area to a cold area.
-
7.
公开(公告)号:US08769230B2
公开(公告)日:2014-07-01
申请号:US13431971
申请日:2012-03-28
申请人: Peter Wiebe Burka , Jeffrey Michael Disher , Daryl James Maier , Aleksandar Micic , Ryan Andrew Sciampacone
发明人: Peter Wiebe Burka , Jeffrey Michael Disher , Daryl James Maier , Aleksandar Micic , Ryan Andrew Sciampacone
IPC分类号: G06F12/00
CPC分类号: G06F12/0269
摘要: 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.
摘要翻译: 描述了在垃圾收集器中实现并行,单程压缩的方法。 在一个实施例中,这种方法包括为要压缩的多个区域进行规划阶段。 在规划阶段,该方法确定多个区域中的数据实体的新位置。 然后,该方法为多个区域执行移动阶段,以将数据实体移动到其新位置。 在移动阶段,该方法启动多个压缩线程以将数据实体移动到其新位置。 在执行时,压缩线程会动态构建要压缩的区域的依赖图。 依赖图保证没有任何数据实体被移动到其新位置,直到其重写的所有数据实体已被移动到其新位置。 本文还公开了相应的计算机程序产品和装置。
-
公开(公告)号:US08489653B2
公开(公告)日:2013-07-16
申请号:US13023447
申请日:2011-02-08
申请人: Peter Wiebe Burka , Jeffrey Michael Disher , Daryl James Maier , Aleksandar Micic , Ryan Andrew Sciampacone
发明人: Peter Wiebe Burka , Jeffrey Michael Disher , Daryl James Maier , Aleksandar Micic , Ryan Andrew Sciampacone
CPC分类号: G06F12/0269 , G06F17/30
摘要: 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.
-
公开(公告)号:US08473529B2
公开(公告)日:2013-06-25
申请号:US13047781
申请日:2011-03-14
申请人: Peter Wiebe Burka , Jeffrey Michael Disher , Daryl James Maier , Aleksandar Micic , Ryan Andrew Sciampacone
发明人: Peter Wiebe Burka , Jeffrey Michael Disher , Daryl James Maier , Aleksandar Micic , Ryan Andrew Sciampacone
IPC分类号: G06F17/30
CPC分类号: G06F12/0253 , G06F12/0269
摘要: 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.
摘要翻译: 用于可完成对象的单次通过标记的计算机实现的过程的说明性实施例标记强根,标记可终结根,并确定强工作堆是否为空。 响应于确定强大的工作堆栈是空的,计算机实现的过程确定一个可完成的工作堆栈是否为空。 响应于确定可完成的工作堆栈为空,同步线程,计算机实现的过程确定可完成的根,并合并标记映射以完成并行标记。
-
公开(公告)号:US08595462B2
公开(公告)日:2013-11-26
申请号:US13047786
申请日:2011-03-14
申请人: Peter Wiebe Burka , Jeffrey Michael Disher , Daryl James Maier , Aleksandar Micic , Ryan Andrew Sciampacone
发明人: Peter Wiebe Burka , Jeffrey Michael Disher , Daryl James Maier , Aleksandar Micic , Ryan Andrew Sciampacone
CPC分类号: G06F12/0269
摘要: 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.
摘要翻译: 用于并行复制垃圾收集器的动态测量和适应的计算机实现过程的说明性实施例初始化值和数据结构,接收抽真空组,确定是否需要新的复制块,并且响应于确定新的复制块是 需要,计算新的复制块的大小。 计算机实现的过程进一步从幸存者区域的列表中选择幸存者区域以形成选定的幸存者区域,将锁定放置在所选择的幸存者区域上,识别在所选择的幸存者区域上排队的线程数,响应于确定 争用值超过预定值,增加幸存者区域列表的大小,将块撤销到所选择的幸存者区域并且响应于不存在更多撤离块的确定终止。
-
-
-
-
-
-
-
-
-