...
首页> 外文期刊>Computers, IEEE Transactions on >Multithreading in Java: Performance and Scalability on Multicore Systems
【24h】

Multithreading in Java: Performance and Scalability on Multicore Systems

机译:Java中的多线程:多核系统上的性能和可伸缩性

获取原文
获取原文并翻译 | 示例
           

摘要

The performance and scalability issues of multithreaded Java programs on multicore systems are studied in this paper. First, we examine the performance scaling of benchmarks with various numbers of processor cores and application threads. Second, by correlating low-level hardware performance data to JVM threads and system components, the detail analyses of performance and scalability are presented, such as the hardware stall events and memory system latencies. Third, the usages of memory resource are detailed to observe the potential bottlenecks. Finally, the JVM tuning techniques are proposed to alleviate the bottlenecks, and improve the performance and scalability. Several key findings are revealed through this study. First, the lock contentions usually lead to a strong limitation of scalability. Second, in terms of memory access latencies, the most of memory stalls are produced by L2 cache misses and cache-to-cache transfers. Finally, the overhead of minor garbage collections could be an important factor of throughput reductions. Based on these findings, the appropriate Java Virtual Machine (JVM) tuning techniques are examined in this study. We observe that the use of a parallel garbage collector and an appropriate ratio of young to old generation can alleviate the overhead of minor collection and improve the efficiency of garbage collections. Moreover, the cache utilizations could be enhanced with the use of thread-local allocation buffer, and then leads to the performance improvements significantly.
机译:本文研究了多核系统上多线程Java程序的性能和可伸缩性问题。首先,我们研究了具有各种数量的处理器核心和应用程序线程的基准的性能扩展。其次,通过将低级硬件性能数据与JVM线程和系统组件相关联,提供了性能和可伸缩性的详细分析,例如硬件停顿事件和内存系统等待时间。第三,详细介绍了内存资源的用法,以观察潜在的瓶颈。最后,提出了JVM调优技术以缓解瓶颈,并提高性能和可伸缩性。通过这项研究揭示了一些关键发现。首先,锁争用通常会导致可伸缩性的严格限制。其次,就内存访问延迟而言,大多数内存停顿是由L2缓存未命中和缓存到缓存的传输造成的。最后,次要垃圾回收的开销可能是吞吐量降低的重要因素。基于这些发现,在本研究中检查了适当的Java虚拟机(JVM)调优技术。我们观察到,使用并行垃圾收集器和适当的年轻与老一代比率可以减轻次要收集的开销并提高垃圾收集的效率。此外,可以通过使用线程本地分配缓冲区来提高缓存利用率,从而显着提高性能。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号