Early Experience on Transactional Execution of Java TM Programs Using Intel R © Transactional Synchronization Extensions

semanticscholar(2014)

引用 1|浏览14
暂无评分
摘要
This paper applies Intel R © Transactional Synchronization Extensions (Intel R © TSX) to elide Java monitor locks. By utilizing the transactional execution capability inside a Java Virtual Machine (JVM), applications running on top of the JVM transparently benefit without source or bytecode modifications. While others have previously examined transactional execution of Java programs, we find that the absence of a guarantee on eventual transactional commit requires a software fallback, and present a novel design where the fallback code harmoniously coexists with the JVM locking mechanism. We also find that if not used judiciously, a real implementation of hardware transactional memory can significantly degrade application performance. Therefore, we propose an adaptive algorithm that selectively deoptimizes transactional lock elision where necessary. Evaluation of the Intel TSX-enabled JVM with various Java workloads shows promising results. For workloads that utilize a significant number of coarse-grained monitors, transactional lock elision provides a substantial performance improvement: up to 1.18x on a standard Java benchmark suite. In contrast, on workloads with monitor locks that are hard to elide, our adaptive deoptimization approach prevents significant performance degradation from lock elision overheads.
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要