Dynamic Transactional Transformation

CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE(2022)

引用 0|浏览128
暂无评分
摘要
Transactional data structures support threads executing a sequence of operations atomically. Dynamic transactions allow operands to be generated on the fly and allows threads to execute code in between the operations of a transaction, in contrast to static transactions which need to know the operands in advance. A framework called lock-free transactional transformation (LFTT) allows data structures to run high-performance transactions, but it only supports static transactions. We present dynamic transactional transformation, an extension to LFTT to add support for dynamic transactions and wait-free progress while retaining its speed. The thread-helping scheme of LFTT presents a unique challenge to dynamic transactions. We overcome this challenge by changing the input of LFTT from a list of operations to a function, forcing helping threads to always start at the beginning of the transaction, and allowing threads to skip completed operations through the use of a list of return values. We thoroughly evaluate the performance impact of support for dynamic transactions and wait-free progress and find that these features do not hurt the performance of LFTT for our test cases.
更多
查看译文
关键词
nonblocking, transactional data structures, transactional memory, wait-free, transactional transformation
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要