Proposal of GC Time Reduction Algorithm for Large Java Object Cache
スポンサーリンク
概要
- 論文の詳細を見る
Server memory size is continuously growing. To accelerate business data processing of Java-based enterprise systems, the use of large memory is required. One example of such use is the object cache for accelerating read access of a large volume of data. However, Java incorporates a garbage collection (GC) mechanism for reclaiming unused objects. A typical GC algorithm requires finding references from old objects to young objects for identifying unused objects. This means that enlarging the heap memory increases the time for finding references. We propose a GC time reduction algorithm for large object cache systems, which eliminates the need for finding the references from a specific object cache region. This algorithm premises to treat cached objects as immutable objects that only allow READ and REMOVE operations. It also divides the object cache in two regions. The first is a closed region, which contains only immutable objects. The other is an unclosed region, which contains mutable objects that have survived GC. Filling an unclosed region changes the region to closed. When modifying an immutable object, the object is copied to the unclosed region and the modification is applied to the copied object. This restricts references from the object cache region to the region for young objects and excludes changes to the objects in the closed region. Experimental evaluation showed that the proposed algorithm can reduce GC time by 1/4 and improve throughput by 40% compared to traditional generational GC algorithms.
著者
-
Miyata Yasushi
Yokohama Research Laboratory, Hitachi, Ltd.
-
Ohta Tomoya
Yokohama Research Laboratory, Hitachi, Ltd.
-
Obata Motoki
Yokohama Research Laboratory, Hitachi, Ltd.
-
Nishiyama Hiroyasu
Yokohama Research Laboratory, Hitachi, Ltd.
関連論文
- Proposal of GC Time Reduction Algorithm for Large Java Object Cache
- Proposal of GC Time Reduction Algorithm for Large Java Object Cache