著者
畑山 大地 山田 浩史
雑誌
研究報告システムソフトウェアとオペレーティング・システム(OS) (ISSN:21888795)
巻号頁・発行日
vol.2023-OS-159, no.5, pp.1-11, 2023-05-09

ECC-uncorrectable メモリエラーはコンピュータシステムの信頼性に大きく影響するが,近年では発生頻度が増加している.オペレーティングシステム(OS)がこうしたメモリエラーに遭遇すると,OS カーネル内のデータが破壊されることで OS は継続稼働が不可能となり,それまでに処理をしていたメモリ上のデータを損失してしまう.この ECC-uncorrectable メモリエラーによる影響を特に受けるのがファイルシステムである.なぜなら,ファイルシステムはバッキングストアへのアクセスによる性能劣化を避けるために,ダーティなデータをバッキングストアに逐次書き出さずに,メモリをキャッシュとして用いて,ある程度纏めてから書き出す手法を採用しているからである.ファイルシステムにはジャーナリング機能を有する場合もあるが,これはファイルシステムとしての整合性を保つことが目的である.アプリケーションからすると,ファイル内容の整合性が保たれていない.そのため,ECC-uncorrectable メモリエラーが検知されるタイミングによってはメモリ上のダーティなデータは同期される前に消失してしまう.本論文では,OS カーネル領域において ECC-uncorrectable メモリエラーが発生した場合でもダーティなデータを失わないファイルシステムを提案する.ECC-uncorrectable メモリエラーの発生箇所がファイルシステムが使用するオブジェクト内ならば修復処理を行い,メモリ上のダーティなデータを同期させる.提案手法を Linux 5.15.54 上に実装を行い,ECC-uncorrectable メモリエラーを模したフォールト下で実験を行った.実験結果として,低いオーバヘッドでダーティなデータを書き出すことを確認した.