论文标题

持久性和同步:朋友还是敌人?

Persistence and Synchronization: Friends or Foes?

论文作者

Fernando, Pradeep, Calciu, Irina, Gandhi, Jayneel, Kolli, Aasheesh, Gavrilovska, Ada

论文摘要

新兴的非挥发存储器(NVM)技术通过负载/存储接口承诺存储器速度速度可调地理持续存储。但是,直接操纵NVM数据的编程应用程序很复杂且容易出错。应用程序通常采用库来隐藏硬件的低级详细信息,并提供交易编程模型以实现崩溃的一致性。此外,通过使用同步,应用程序继续期望并发执行期间的正确性。为了实现这一目标,应用寻求众所周知的酸保证。但是,意识到这件礼物是交易系统的设计师,并具有一系列选择,如何结合几种低级技术,鉴于目标硬件功能和工作负载特征。 在本文中,我们对将现有碰撞一致性和同步方法相结合以实现性能和纠正NVM交易系统的影响进行了全面评估。我们考虑了对硬件交易内存(HTM)的支持以及持久域(瞬态或持久缓存)的边界的不同硬件特征。通过表征持续的交易系统,从其性质方面,我们可以更好地理解不同实施的权衡并获得更好的设计选择来提供酸保证。我们使用Intel Optane DC持久内存和模拟的真实硬件来评估硬件交易内存的持久版本,软件交易内存的持久版本以及撤消/重做记录。通过我们的实证研究,我们展示了影响交易系统中支持持久性成本的两个主要因素:持久域(瞬态或持续的缓存)和应用特征,例如交易规模和并行性。

Emerging non-volatile memory (NVM) technologies promise memory speed byte-addressable persistent storage with a load/store interface. However, programming applications to directly manipulate NVM data is complex and error-prone. Applications generally employ libraries that hide the low-level details of the hardware and provide a transactional programming model to achieve crash-consistency. Furthermore, applications continue to expect correctness during concurrent executions, achieved through the use of synchronization. To achieve this, applications seek well-known ACID guarantees. However, realizing this presents designers of transactional systems with a range of choices in how to combine several low-level techniques, given target hardware features and workload characteristics. In this paper, we provide a comprehensive evaluation of the impact of combining existing crash-consistency and synchronization methods for achieving performant and correct NVM transactional systems. We consider different hardware characteristics, in terms of support for hardware transactional memory (HTM) and the boundaries of the persistence domain (transient or persistent caches). By characterizing persistent transactional systems in terms of their properties, we make it possible to better understand the tradeoffs of different implementations and to arrive at better design choices for providing ACID guarantees. We use both real hardware with Intel Optane DC persistent memory and simulation to evaluate a persistent version of hardware transactional memory, a persistent version of software transactional memory, and undo/redo logging. Through our empirical study, we show two major factors that impact the cost of supporting persistence in transactional systems: the persistence domain (transient or persistent caches) and application characteristics, such as transaction size and parallelism.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源