执行Java程序的事务性内存(含外文出处)
执行Java程序的事务性内存(含外文出处)(中文3600字,英文2600字)
摘要:并行编程是困难的,因为传统的基于锁的同步处理的复杂性。为了简化并行编程,已经有一些建议,直接在硬件中支持事务处理,并完全消除锁。虽然硬件支持事务有可能彻底改变并行程序写入的方式,最初的事务处理将被用于执行现有的并行程序。在本文中,我们调查使用事务处理执行现有的并行Java程序的影响。我们的研究结果显示有关事务处理可用于支持Java的多线程程序的各个方面,一旦Java虚拟机的问题已得到解决,基于锁的转化应用到事务处理主要是简单的。这些转换的应用程序实现的性能等于或有时比原来的基于锁的执行。
关键字:锁 事务处理 事务性内存
Executing Java programs with transactional memory
Abstract
Parallel programming is difficult due to the complexity of dealing with conventional lock-based synchronization. To simplify parallel programming, there have been a number of proposals to support transactions directly in hardware and eliminate locks completely. Although hardware support for transactions has the potential to completely change the way parallel programs are written, initially transactions will be used to execute existing parallel programs. In this paper we investigate the implications of using transactions to execute existing parallel Java programs. Our results show that transactions can be used to support all aspects of Java multithreaded programs, and once Java virtual machine issues have been addressed, the conversion of a lock-based application into transactions is largely straightforward. The performance that these converted applications achieve is equal to or sometimes better than the original lock-based implementation. [资料来源:http://doc163.com]
[资料来源:https://www.doc163.com]