Proposal of GC Time Reduction Algorithm for Large Java Object Cache

Q4 Computer Science Journal of Information Processing Pub Date : 2012-08-20 DOI:10.2197/IPSJTRANS.5.145
Yasushi Miyata, M. Obata, Tomoya Ohta, H. Nishiyama
{"title":"Proposal of GC Time Reduction Algorithm for Large Java Object Cache","authors":"Yasushi Miyata, M. Obata, Tomoya Ohta, H. Nishiyama","doi":"10.2197/IPSJTRANS.5.145","DOIUrl":null,"url":null,"abstract":"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.","PeriodicalId":16243,"journal":{"name":"Journal of Information Processing","volume":"5 1","pages":"1359-1369"},"PeriodicalIF":0.0000,"publicationDate":"2012-08-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.2197/IPSJTRANS.5.145","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Information Processing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.2197/IPSJTRANS.5.145","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"Computer Science","Score":null,"Total":0}
引用次数: 2

Abstract

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.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
大型Java对象缓存GC时间缩减算法的提出
服务器内存大小持续增长。为了加速基于java的企业系统的业务数据处理,需要使用大内存。这种用法的一个例子是用于加速对大量数据的读访问的对象缓存。但是,Java集成了垃圾收集(GC)机制来回收未使用的对象。典型的GC算法需要查找从旧对象到年轻对象的引用,以标识未使用的对象。这意味着扩大堆内存会增加查找引用的时间。我们提出了一种用于大型对象缓存系统的GC时间减少算法,该算法消除了从特定对象缓存区域查找引用的需要。该算法的前提是将缓存对象视为只允许READ和REMOVE操作的不可变对象。它还将对象缓存划分为两个区域。第一个是封闭区域,它只包含不可变对象。另一个是未封闭区域,其中包含在GC中幸存下来的可变对象。填充未关闭区域将该区域更改为关闭区域。修改不可变对象时,将对象复制到未封闭区域,并将修改应用于被复制的对象。这将限制对象缓存区域对年轻对象区域的引用,并排除对封闭区域中对象的更改。实验结果表明,与传统分代GC算法相比,该算法的GC时间缩短了1/4,吞吐量提高了40%。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
Journal of Information Processing
Journal of Information Processing Computer Science-Computer Science (all)
CiteScore
1.20
自引率
0.00%
发文量
0
期刊最新文献
Container-native Managed Data Sharing Editor's Message to Special Issue of Computer Security Technologies for Secure Cyberspace Understanding the Inconsistencies in the Permissions Mechanism of Web Browsers An Analysis of Susceptibility to Phishing via Business Chat through Online Survey Analysis and Consideration of Detection Methods to Prevent Fraudulent Access by Utilizing Attribute Information and the Access Log History
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1