Transitioning scientific applications to using non-volatile memory for resilience

Transitioning scientific applications to using non-volatile memory for resilience
复制标题

DOI:
10.1145/3357526.3357563
复制
发表时间:
2019-09
期刊:
Proceedings of the International Symposium on Memory Systems
影响因子:
--
通讯作者:
Brandon Nesterenko;Xinyu Liu;Qing Yi;Jishen Zhao;Jiange Zhang
Brandon Nesterenko;Xinyu Liu;Qing Yi;Jishen Zhao;Jiange Zhang
中科院分区:
其他
文献类型:
--
作者:
Brandon Nesterenko;Xinyu Liu;Qing Yi;Jishen Zhao;Jiange Zhang

文献摘要

被引文献

相似文献

科学应用程序经常长时间运行,并且因此在意外中断的情况下(例如,硬件故障)。新兴的非易失性存储器(NVRAM)的写入速度比传统的机械存储设备快40倍,为这一目的提供了一种有吸引力的介质。本文探讨了过渡的科学应用程序,Fluidanimate,使用NVRAM的容错的影响。特别是,我们评估了四种容错方法的性能影响和易用性:1)通过事务进行日志记录,2)通过写时复制操作进行多版本控制,以及3)通过IO操作进行检查点设置(例如,fwrite)在直接访问(DAX)文件系统上,以及4)利用DRAM高速缓存的检查点。我们的研究得出了三个关键发现。首先,需要对应用程序进行额外更改,以利用NVRAM提供的IO速度的增加。第二,当考虑单个进程时,这些方法缺乏性能可扩展性。第三,NVRAM可以通过允许单个节点出错并在系统的其余部分注意到之前自动恢复来提高分布式计算环境中的可靠性。
Scientific applications often run for long periods of time, and as a result, frequently save their internal states to storage media in cases of unexpected interruptions (e.g., hardware failures). Emerging non-volatile memory (NVRAM) can write up to 40× faster than traditional mechanical storage devices, providing an attractive medium for this purpose. This paper investigates the implications of transitioning a scientific application, Fluidanimate, to use NVRAM for fault tolerance. In particular, we evaluate the performance implications and ease-of-use of four fault-tolerance approaches: 1) logging through transactions, 2) multi-versioning through copy-on-write operations, and 3) checkpointing through IO operations (e.g., fwrite) on a direct access (DAX) filesystem and 4) checkpointing with a DRAM cache. Our study results in three key findings. First, additional changes to the application are required to take advantage of the increase in IO speed provided by NVRAM. Second, the performance scalability of the approaches lack when considering a single process. Third, NVRAM can increase reliability in a distributed computing environment by allowing individual nodes to error and automatically recover before the rest of the system notices.