• 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