Approximate Consistency in Transactional Memory

Approximate Consistency in Transactional Memory
复制标题

事务内存的近似一致性

DOI:
--
复制
发表时间:
2018
期刊:
International Journal of Networking and Computing
影响因子:
--
通讯作者:
C. Busch
C. Busch
中科院分区:
--
文献类型:
--
作者:
Basem Assiri;C. Busch

文献摘要

被引文献

相似文献

在事务性内存中,每个共享对象都可以被并发事务访问,这可能会导致冲突和中止。不透明性是一种精确的一致性属性,它将并发执行映射到合法的顺序执行,从而保持事件的实时顺序。然而,在大规模的网络和数据库应用程序中保持精确的一致性可能会导致大量的中断,特别是在内存更新频繁的系统中。实际上,高流产率会对性能产生巨大的负面影响。在实际应用程序中,有些系统不需要精确的一致性,特别是当数据不敏感时。因此,我们在这里引入事务性内存中近似一致性的概念。我们将K -opacity定义为一种宽松的一致性属性,允许事务读取最近写入对象的K个值中的一个(而不仅仅是最近的值)。这增加了吞吐量,并通过减少冲突的机会来降低中断率。在多版本事务性内存中,宽松的一致性允许在每K个对象更新一次时保存一个新对象版本,因此,将空间需求减少了K倍。实际上,我们将K -不透明度的概念应用于常规的读/写、计数和队列对象,这些对象是典型并发程序中使用的常见对象。我们使用编写器列表技术来跟踪事务和写入系统的数据,以控制错误率并防止错误传播。我们通过实验分析说明了我们的方法对性能的积极影响,其中更高的不透明度松弛(更高的K值)增加了吞吐量并显着降低了流产率。
In Transactional Memory each shared object can be accessed by concurrent transactions which may cause conflicts and aborts. Opacity is a precise consistency property which maps a concurrent execution to a legal sequential execution that preserves the real time order of events. However, having precise consistency in large scale network and database applications may result in a large rate of aborts, especially in systems that have frequent memory updates. Actually, high rate of aborts causes huge negative performance impact. In real applications, there are systems that do not require precise consistency especially when the data is not sensitive. Thus, we introduce here the notion of approximate consistency in transactional memory. We define K -opacity as a relaxed consistency property where transactions are allowed to read one of the K most recent written values to the objects (and not just the latest value only). This increases the throughput and reduces the abort rate by reducing the chance of conflicts. In multi-version transactional memory, the relaxed consistency allows to save a new object version once every K object updates, and hence, reduces space requirements by a factor of K . In fact, we apply the concept of K -opacity to regular read/write, count, and queue objects, which are common objects used in typical concurrent programs. We use the technique of writer lists to keep track of the transactions and the data being written to the system, in order to control the error rate and to prevent error propagation. We illustrate with an experimental analysis the positive impact of our approach on performance, where higher opacity relaxation (higher values of K ) increases the throughput and decreases the aborts rate significantly.