Method and system for improving the concurrency and parallelism of mark-sweep-compact garbage collection
    21.
    发明申请
    Method and system for improving the concurrency and parallelism of mark-sweep-compact garbage collection 审中-公开
    改进标记扫描小型垃圾收集的并发性和并行性的方法和系统

    公开(公告)号:US20050198088A1

    公开(公告)日:2005-09-08

    申请号:US10793707

    申请日:2004-03-03

    CPC classification number: G06F16/2308

    Abstract: An arrangement is provided for using only one bit vector per heap block to improve the concurrency and parallelism of mark-sweep-compact garbage collection in a managed runtime system. A heap may be divided into a number of heap blocks. Each heap block has only one bit vector used for marking, compacting, and sweeping, and in that bit vector only one bit is needed per word or double word in that heap block. Both marking and sweeping phases may proceed concurrently with the execution of applications. Because all information needed for marking, compacting, and sweeping is contained in a bit vector for a heap block, multiple heap blocks may be marked, compacted, or swept in parallel through multiple garbage collection threads. Only a portion of heap blocks may be selected for compaction during each garbage collection to make the compaction incremental to reduce the disruptiveness of compaction to running applications and to achieve a fine load-balance of garbage collection process.

    Abstract translation: 提供了一种仅对每个堆块使用一个位向量来提高被管理的运行时系统中标记扫描紧凑垃圾收集的并发性和并行性的布置。 堆可以分为多个堆块。 每个堆块只有一个位向量用于标记,压缩和扫描,并且在该位向量中,该堆块中每个字或双字只需要一个位。 标记和扫描阶段都可以与应用程序的执行同时进行。 因为标记,压缩和扫描所需的所有信息都包含在堆块的位向量中,所以可以通过多个垃圾回收线程并行地标记,压缩或扫描多个堆块。 在每个垃圾收集期间,只能选择一部分堆块进行压缩,以使压缩增量减少压缩对运行应用程序的破坏性,并实现垃圾收集过程的精细负载平衡。

    Bit vector toggling for concurrent mark-sweep garbage collection
    23.
    发明申请
    Bit vector toggling for concurrent mark-sweep garbage collection 有权
    位矢量切换并发标记扫描垃圾回收

    公开(公告)号:US20050114413A1

    公开(公告)日:2005-05-26

    申请号:US10719443

    申请日:2003-11-21

    CPC classification number: G06F12/0269 Y10S707/99944 Y10S707/99957

    Abstract: An arrangement is provided for using bit vector toggling to achieve concurrent mark-sweep garbage collection in a managed runtime system. A heap may be divided into a number of heap blocks. Each heap block may contain a mark bit vector pointer, a sweep bit vector pointer, and two bit vectors of which one may be initially pointed to by the mark bit vector pointer and used for marking and the other may be initially pointed to by the sweep bit vector pointer and used for sweeping. At the end of the marking phase for a heap block, the bit vector used for marking and the bit vector used for sweeping may be toggled so that marking phase and sweeping phase may proceed concurrently and both phases may proceed concurrently with mutators.

    Abstract translation: 提供了一种使用位向量切换在托管运行时系统中实现同时标记扫描垃圾收集的布置。 堆可以分为多个堆块。 每个堆块可以包含标记位向量指针,扫描位矢量指针和两个位向量,其中可以由标记位向量指针最初指向并用于标记的两个位向量,另一个可以由扫描开始指向 位向量指针并用于扫描。 在堆块的标记阶段结束时,可以切换用于标记的位向量和用于扫描的位向量,以便同时进行标记相位和扫描阶段,并且两个阶段可以与变异器同时进行。

Patent Agency Ranking