Implementation and Comparison of Programming Tools for Persistent Memory

  • Henrique Guirelli UFABC
  • Emilio Francesquini UFABC
  • Alexandro Baldassin UNESP

Abstract


This article covers the development and comparative analysis of the programming interface of two libraries. The fstream library widely used in C ++ and PMDK, a library created by Intel to facilitate the development of systems using persistent memory and files mapped in memory. The use of fstream was simple, the library was used to serialize the data in binary format. In contrast, development with the PMDK required more effort. The development was affected by the lack of support for complex types such as strings, which required the creation of an intermediate layer. In this article we report the experience of using these tools and highlight the difficulties encountered.
Keywords: Languages, Compilers, and Tools for Parallel and Distributed Computing, Low Level Software for Parallel and Distributed Computing, Fault Tolerance

References

Chen, F., Koufaty, D. A., and Zhang, X. (2009). Understanding intrinsic characteristics and system implications of flash memory based solid state drives. ACM SIGMETRICS Performance Evaluation Review, 37(1):181–192.

Hu, X. and Matheus, A. (2018). Persistence parallelism optimization: A holistic approach from memory bus to rdma network. In IEEE/ACM International Symposium on Microarchitecture.

Rudoff, A. (2017). Persistent memory programming. Login: The Usenix Magazine, 42(2):34–40.

Scargall, S. (2020). Programming Persistent Memory: A Comprehensive Guide for Developers. Springer Nature.
Published
2021-05-06
GUIRELLI, Henrique; FRANCESQUINI, Emilio; BALDASSIN, Alexandro. Implementation and Comparison of Programming Tools for Persistent Memory. In: REGIONAL SCHOOL OF HIGH PERFORMANCE COMPUTING FROM SÃO PAULO (ERAD-SP), 12. , 2021, Evento Online. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2021 . p. 57-60. DOI: https://doi.org/10.5753/eradsp.2021.16705.

Most read articles by the same author(s)

<< < 1 2 3 4 > >>