@techreport{oai:ipsj.ixsq.nii.ac.jp:00234357, author = {岡崎, 孝祐 and 山田, 浩史}, issue = {2}, month = {May}, note = {アプリケーションの信頼性に大きな影響を及ぼすメモリエラーの中でも,特に ECC-uncorrectable メモリエラー(EMEs)はアプリケーションに甚大な被害を及ぼす.EMEs が発生したメモリにプロセスがアクセスを試みると,アプリケーションはオペレーティングシステム(OS)により即座に終了される.Java 等のマネージド言語で開発されることが多いインメモリ処理フレームワークでは,EMEs に遭遇した際のダウンタイムが長いという問題がある.インメモリ処理フレームワークはメモリを大量に用いて処理を行うため EMEs に遭遇すると大量のデータが失われ,データの復元に長い時間がかかり,ダウンタイムが長くなる.本研究では,Java アプリケーションが EMEs に遭遇しても,継続実行できる手法を提案する.アプリケーションの継続実行を可能にすることで,長いダウンタイムを回避しアプリケーションの信頼性を向上させる.提案手法では,EMEs が発生した異常なメモリオブジェクトを破棄し,残した正常なオブジェクトを用いてメモリ上データ構造の再構成を行う.本研究では,提案手法を OpenJDK 21,Linux 6.2.1 上に実装し,ケーススタディとして Linked List,Chain Hash,B+-tree のリカバリハンドラを実装,データ構造の修復を評価した.結果として,すべてのケーススタディにおいて使用するメモリ量はデフォルトと比較して 2 倍以下におさまり,継続実行が可能であった.}, title = {ECC-uncorrectableメモリエラーに耐性を有するJavaアプリケーション}, year = {2024} }