String Deduplication for Java']Java-based Middleware in Virtualized Environments

被引:1
作者
Horie, Michihiro [1 ]
Ogata, Kazunori [1 ]
Kawachiya, Kiyokuni [1 ]
Onodera, Tamiya [1 ]
机构
[1] IBM Res Tokyo, Tokyo, Japan
关键词
Measurement; Performance; !text type='Java']Java[!/text; Memory reduction; String allocation; Calling context; String sharing;
D O I
10.1145/2674025.2576210
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
To increase the memory efficiency in physical servers is a significant concern for increasing the number of virtual machines (VM) in them. When similar web application service runs in each guest VM, many string data with the same values are created in every guest VMs. These duplications of string data are redundant from the viewpoint of memory efficiency in the host OS. This paper proposes two approaches to reduce the duplication in Java string in a single Java VM (JVM) and across JVMs. The first approach is to share string objects across JVMs by using a read-only memory-mapped file. The other approach is to selectively unify string objects created at runtime in the web applications. This paper evaluates our approach by using the Apache Day Trader and the DaCapo benchmark suite. Our prototype implementation achieved 7% to 12% reduction in the total size of the objects allocated over the lifetime of the programs. In addition, we observed the performance of Day Trader was maintained even under a situation of high density guest VMs in a KVM host machine.
引用
收藏
页码:177 / 188
页数:12
相关论文
共 18 条
[1]  
[Anonymous], IBM STYLE INTRO IBM
[2]  
[Anonymous], 2009, P LINUX S, P19
[3]   The DaCapo benchmarks: Java']Java benchmarking development and analysis [J].
Blackburn, Stephen M. ;
Garner, Robin ;
Hoffmann, Chris ;
Khan, Asjad M. ;
McKinley, Kathryn S. ;
Bentzur, Rotem ;
Diwan, Amer ;
Feinberg, Daniel ;
Frampton, Daniel ;
Guyer, Samuel Z. ;
Hirzel, Martin ;
Hosking, Antony ;
Jump, Maria ;
Lee, Han ;
Moss, J. Eliot B. ;
Phansalkar, Aashish ;
Stefanovic, Darko ;
VanDrunen, Thomas ;
von Dincklage, Daniel ;
Wiedermann, Ben .
ACM SIGPLAN NOTICES, 2006, 41 (10) :169-190
[4]  
CHIBA S, 2005, P 19 EUR C OBJ OR PR, V3586, P121
[5]  
Chis AE, 2011, LECT NOTES COMPUT SC, V6813, P383, DOI 10.1007/978-3-642-22655-7_18
[6]  
Clayberg Eric, 2008, ECLIPSE PLUG INS, P107
[7]  
Gosling J., 2005, Java Language Specification, Vthird
[8]  
Grcevski Nikola., 2004, VIRTUAL MACHINE RES, P151
[9]   Analysis and Reduction of Memory Inefficiencies in Java']Java Strings [J].
Kawachiya, Kiyokuni ;
Ogata, Kazunori ;
Onodera, Tamiya .
ACM SIGPLAN NOTICES, 2008, 43 (10) :385-401
[10]  
Kiczales G., 2001, ECOOP 2001 - Object-Oriented Programming. 15th European Conference. Proceedings (Lecture Notes in Computer Science Vol.2072), P327