当前位置: X-MOL 学术Future Gener. Comput. Syst. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Extending the OpenCHK Model with advanced checkpoint features
Future Generation Computer Systems ( IF 7.5 ) Pub Date : 2020-06-19 , DOI: 10.1016/j.future.2020.06.003
Marcos Maroñas , Sergi Mateo , Kai Keller , Leonardo Bautista-Gomez , Eduard Ayguadé , Vicenç Beltran

One of the major challenges in using extreme scale systems efficiently is to mitigate the impact of faults. Application-level checkpoint/restart (CR) methods provide the best trade-off between productivity, robustness, and performance.

There are many solutions implementing CR at the application level. They all provide advanced I/O capabilities to minimize the overhead introduced by CR. Nevertheless, there is still room for improvement in terms of programmability and flexibility, because end-users must manually serialize and deserialize application state using low-level APIs, modify the flow of the application to consider restarts, or rewrite CR code whenever the backend library changes.

In this work, we propose a set of compiler directives and clauses that allow users to specify CR operations in a simple way. Our approach supports the common CR features provided by all the CR libraries. However, it can also be extended to support advanced features that are only available in some CR libraries, such as differential checkpointing, the use of HDF5 format, and the possibility of using fault-tolerance-dedicated threads.

The result of our evaluation revealed a high increase in programmability. On average, we reduced the number of lines of code by 71%, 94%, and 64% for FTI, SCR, and VeloC, respectively, and no additional overhead was perceived using our solution compared to using the backend libraries directly. Finally, portability is enhanced because our programming model allows the use of any backend library without changing any code.



中文翻译:

使用高级检查点功能扩展OpenCHK模型

有效使用极端规模系统的主要挑战之一是减轻故障的影响。应用程序级检查点/重新启动(CR)方法可在生产率,健壮性和性能之间提供最佳折衷。

有许多在应用程序级别实现CR的解决方案。它们都提供高级I / O功能,以最大程度地减少CR引入的开销。但是,由于最终用户必须使用低级API手动序列化和反序列化应用程序状态,修改应用程序流以考虑重新启动或在后端库时重写CR代码,因此在可编程性和灵活性方面仍有改进的余地。变化。

在这项工作中,我们提出了一组编译器指令和子句,使用户能够以简单的方式指定CR操作。我们的方法支持所有CR库提供的通用CR功能。但是,它也可以扩展为支持仅在某些CR库中可用的高级功能,例如差分检查点,使用HDF5格式以及使用容错专用线程的可能性。

我们的评估结果表明可编程性大大提高。平均而言,我们将FTI,SCR和VeloC的代码行数分别减少了71%,94%和64%,与直接使用后端库相比,使用我们的解决方案不会产生额外的开销。最后,可移植性得到了增强,因为我们的编程模型允许使用任何后端库而无需更改任何代码。

更新日期:2020-06-19
down
wechat
bug