NVRAMは電源オフ後もデータを保持し、RAMより高速でエネルギー効率が良いが、コストと入手性に課題があります。
NVRAMアルゴリズムは回復可能で高速な読み書きが可能であり、特殊な開発考慮事項があります。MutexとNonblockingアルゴリズムが例として挙げられます。
Mutexアルゴリズムは共有リソースへのアクセス競合を避けるためのもので、NVRAMではプロセスサポートのための拡張が必要です。開発にはエントリーセクションやリカバリーメカニズムが含まれます。
Nonblockingアルゴリズムはロックを使わずに共有データへのアクセスを可能にし、ロックフリーやウェイトフリーなどの特性を持ちます。CASプログラムの回復可能バージョンが一例で、線形化可能性などの概念が開発に関連しています。
from Non-Volatile Random Access Memory: Key Guidelines for Writing an Efficient NVRAM Algorithm.