- 著者
-
西田 耀
木村 啓二
- 雑誌
- 研究報告組込みシステム(EMB) (ISSN:2188868X)
- 巻号頁・発行日
- vol.2020-EMB-53, no.14, pp.1-6, 2020-02-20
アプリケーションの耐障害性を向上させる手法の一つにチェックポインティングがある.これまでに,アプリケーションを変更することなく透過的にチェックポイントを行う手法がいくつか発表されている.また,Non-volatile DIMM (NVDIMM) を状態の保存先として利用することで,主記憶に比べて 100 倍以上遅い外部記憶へのアクセスに依存することなくチェックポイントを行う手法が提案されている.しかし,DRAM で構成された主記憶から不揮発性の記憶装置に状態をコピーするという操作は依然存在しており,これがチェックポイントのオーバーヘッドの大部分を占めている.本研究では,アプリケーションを NVDIMM 上に直接マッピングして実行することで状態のコピーを最小限に抑え,さらにページテーブルも含めたプロセスのメモリ空間を二重化して一貫性を確保しつつチェックポインティングを行う,NDCKPT という手法を提案する.Linux Kernel に NDCKPT を実装し,Optane DC Persistent Memory を用いて評価を行った結果,メモリ消費量が 1MB 程度のアプリケーションでは,100ms 程度の高頻度でチェックポイントを行っても実行時間の増加を 1% 以下に抑えられることがわかった.また,数百 MB のメモリを消費するアプリケーションにおいては,NVDIMM 上で実行を行うオーバーヘッドが支配的で実行時間比で 2 倍から 3 倍以上となる一方,チェックポイントによって加わるオーバーヘッドは 20-30 秒間隔で 10% 前後となることがわかった.