DocumentCode :
3335126
Title :
Evaluation and optimization of Java object ordering schemes
Author :
Ilham, Amil Ahmad ; Murakami, Kazuki
Author_Institution :
Dept. of Adv. Inf. Technol., Kyushu Univ., Fukuoka, Japan
fYear :
2011
fDate :
17-19 July 2011
Firstpage :
1
Lastpage :
6
Abstract :
Java is gaining popularity in software development. It is widely used in network computing and embedded systems because it offers several key advantages such as safe programming, code verification and checking, automatic memory management, and significant support from the computing industry. As the popularity of Java has rapidly increased, research on Java application performance is continuously of interest to the research community. This paper aims to evaluate and optimize the order of Java objects in memory in order to give a good impact on Java application performance. We evaluate how the order of Java objects in memory affects cache performance, DTLB performance and Java application execution time. This work is motivated by the facts that Java programs create many objects dynamically on the heap, access and mutate them during runtime. These objects might be spread across the memory since they are not necessarily resided in adjacent memory locations. To show how the order of objects in memory affects Java application performance, we use the garbage collector, automatic memory management in Java Virtual Machine (JVM), to reorganize the order of live objects during garbage collection time. We implemented two different object ordering schemes upon the invocation of copying garbage collector: Bread First (BF) scheme and Depth First (DF) scheme. Our experiment results show that Java execution time, cache misses and DTLB misses vary by 3-16%, 5-20% and 9-21% respectively due to BF and DF schemes. We optimize the order of frequently accessed objects and the results show that this optimized scheme has a better impact on Java application performance compared with the DF scheme.
Keywords :
Java; object-oriented programming; storage management; virtual machines; DTLB performance; Java application execution time; Java application performance; Java object ordering scheme; Java virtual machine; access object; bread first scheme; cache performance; depth first scheme; garbage collector; heap object; memory management; mutate object; software development; Benchmark testing; Java; Memory management; Object recognition; Optimization; Runtime; Virtual machining; Java; object; performance;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Electrical Engineering and Informatics (ICEEI), 2011 International Conference on
Conference_Location :
Bandung
ISSN :
2155-6822
Print_ISBN :
978-1-4577-0753-7
Type :
conf
DOI :
10.1109/ICEEI.2011.6021558
Filename :
6021558
Link To Document :
بازگشت