StaticPersist: Compiler Support for PMEM Programming.

VMCAI(2023)

引用 0|浏览4
暂无评分
摘要
Persistent Memory (PMEM) programs present unique programmability challenges. An important challenge involves ensuring that programs with mixed volatile-memory and persistent-memory ensure an important reachability invariant: at no point in the program execution should a persistent memory region contain a pointer to a volatile memory region. Such invariants are difficult to detect through testing methodologies, as the corresponding failures show up only in the presence of crashes. Prior work has leveraged runtime support in managed languages like Java (e.g., AutoPersist [31]) to check these invariants at runtime. However, such proposals incur a significant runtime cost. We propose a compiletime analysis that checks and maintains such reachability invariants statically with high precision. We implement this compile-time analysis in tool called StaticPersist which identifies such reachability-invariant violations and proposes fixes in C/C++ code.
更多
查看译文
关键词
pmem programming,compiler support
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要