Evaluation and optimization of Java object ordering schemes

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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Ilham, A. A., Murakami, K.
Format: Tagungsbericht
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung: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.
ISSN:2155-6822
2155-6830
DOI:10.1109/ICEEI.2011.6021558