当前位置: X-MOL 学术Distrib. Comput. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Last-use opacity: a strong safety property for transactional memory with prerelease support
Distributed Computing ( IF 1.3 ) Pub Date : 2022-04-17 , DOI: 10.1007/s00446-022-00420-2
Konrad Siek 1, 2 , Paweł T. Wojciechowski 1
Affiliation  

Transaction Memory (TM) is a concurrency control abstraction that allows the programmer to specify blocks of code to be executed atomically as transactions. However, since transactional code can contain just about any operation attention must be paid to the state of shared variables at any given time. E.g., contrary to a database transaction, if a TM transaction reads a stale value it may execute dangerous operations, like attempt to divide by zero, access an illegal memory address, or enter an infinite loop. Thus serializability is insufficient, and stronger safety properties are required in TM, which regulate what values can be read, even by transactions that abort. Hence, a number of TM safety properties were developed, including opacity, and TMS1 and TMS2. However, such strong properties preclude using prerelease as a technique for optimizing TM, because they virtually forbid reading from live transactions. On the other hand, properties that do allow prerelease are either not strong enough to prevent any of the problems mentioned above (recoverability), or add additional conditions on transactions that prerelease variables that limit their applicability (elastic opacity, live opacity, virtual world consistency). This paper introduces last-use opacity and strong last-use opacity, a pair of new TM safety properties meant to be a compromise between strong properties like opacity and minimal ones like serializability. The properties eliminate all but a small class of benign inconsistent views and pose no stringent conditions on transactions.



中文翻译:

最后使用的不透明度:具有预发布支持的事务性内存的强大安全属性

事务内存(TM) 是一种并发控制抽象,它允许程序员指定代码块以原子方式作为事务执行。但是,由于事务代码几乎可以包含任何操作,因此必须注意任何给定时间共享变量的状态。例如,与数据库事务相反,如果 TM 事务读取过时的值,它可能会执行危险操作,例如尝试除以零、访问非法内存地址或进入无限循环。因此可串行化是不够的,并且在 TM 中需要更强大的安全属性,它规定了可以读取的值,即使是中止的事务也是如此。因此,开发了许多 TM 安全特性,包括不透明度,以及 TMS1 和 TMS2。然而,如此强大的特性排除了使用预发布作为优化 TM 的技术,因为它们实际上禁止读取实时交易。另一方面,允许预发布的属性要么不够强大,无法防止上述任何问题(可恢复性),要么在限制其适用性(弹性不透明度、实时不透明度、虚拟世界一致性)的预发布变量的事务上添加附加条件)。本文介绍了 last-use opacity 和 strong last-use opacity,这是一对新的 TM 安全属性,旨在在像 opacity 这样的强属性和像可序列化这样的最小属性之间进行折衷。这些属性消除了除了一小部分良性不一致的视图之外的所有视图,并且对事务没有严格的条件。允许预发布的属性要么不够强大,无法防止上述任何问题(可恢复性),要么在限制其适用性(弹性不透明度、实时不透明度、虚拟世界一致性)的预发布变量的事务上添加额外条件。本文介绍了 last-use opacity 和 strong last-use opacity,这是一对新的 TM 安全属性,旨在在像 opacity 这样的强属性和像可序列化这样的最小属性之间进行折衷。这些属性消除了除了一小部分良性不一致的视图之外的所有视图,并且对事务没有严格的条件。允许预发布的属性要么不够强大,无法防止上述任何问题(可恢复性),要么在限制其适用性(弹性不透明度、实时不透明度、虚拟世界一致性)的预发布变量的事务上添加附加条件。本文介绍了 last-use opacity 和 strong last-use opacity,这是一对新的 TM 安全属性,旨在在像 opacity 这样的强属性和像可序列化这样的最小属性之间进行折衷。这些属性消除了除了一小部分良性不一致的视图之外的所有视图,并且对事务没有严格的条件。本文介绍了 last-use opacity 和 strong last-use opacity,这是一对新的 TM 安全属性,旨在在像 opacity 这样的强属性和像可序列化这样的最小属性之间进行折衷。这些属性消除了除了一小部分良性不一致的视图之外的所有视图,并且对事务没有严格的条件。本文介绍了 last-use opacity 和 strong last-use opacity,这是一对新的 TM 安全属性,旨在在像 opacity 这样的强属性和像可序列化这样的最小属性之间进行折衷。这些属性消除了除了一小部分良性不一致的视图之外的所有视图,并且对事务没有严格的条件。

更新日期:2022-04-18
down
wechat
bug