• DocumentCode
    254649
  • Title

    Scaling Java Virtual Machine on a many-core system

  • Author

    Ganesan, K. ; Yao-Min Chen ; Xiaochen Pan

  • Author_Institution
    Oracle Corp., Austin, TX, USA
  • fYear
    2014
  • fDate
    10-12 Dec. 2014
  • Firstpage
    336
  • Lastpage
    339
  • Abstract
    In order to effectively leverage the abundant parallelism provided by large many-core enterprise servers, Java applications, libraries and the virtual machine need to be carefully architected to avoid single-thread bottlenecks. Among the challenges tackled in scaling a single Java Virtual Machine (JVM), we discuss the most rewarding ones including converting shared data objects to per-thread independent objects, applying scalable memory allocators, utilizing appropriate concurrency frameworks, parallelizing garbage collection phases and enhancing data affinity to CPUs through a NUMA aware garbage collector. In this paper, we use SPECjbb2013 to illustrate the importance of various scaling bottlenecks and demonstrate the performance gain from the discussed solutions.
  • Keywords
    Java; multiprocessing programs; multiprocessing systems; storage management; virtual machines; CPU; Java applications; Java virtual machine scaling; NUMA aware garbage collector; SPECjbb2013; concurrency frameworks; data affinity enhancement; garbage collection phase parallelization; many-core enterprise servers; many-core system; per-thread independent objects; performance gain; scalable memory allocators; shared data object conversion; Benchmark testing; Concurrent computing; Hardware; Java; Libraries; Program processors; Scalability;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Integrated Circuits (ISIC), 2014 14th International Symposium on
  • Conference_Location
    Singapore
  • Type

    conf

  • DOI
    10.1109/ISICIR.2014.7029556
  • Filename
    7029556