- 著者
-
石黒 駿
村上 じゅん
大山 恵弘
- 出版者
- 一般社団法人情報処理学会
- 雑誌
- 研究報告ハイパフォーマンスコンピューティング(HPC)
- 巻号頁・発行日
- vol.2013, no.11, pp.1-8, 2013-05-22
OS ノイズは,高性能計算アプリケーションの性能低下の大きな要因の一つである.OS ノイズの実体は,割り込み処理などの OS カーネルによるサービスの実行や,メモリ管理デーモンなどの各種デーモンの実行である.これらの動作は,アプリケーションによる計算を中断させ,計算時間を増大させる.OS ノイズは,多くのプロセスやスレッドが頻繁に同期するアプリケーションで大きく性能を低下させる.本論文では,メモリページの回収処理に伴う OS ノイズに着目し,その OS ノイズによる影響を低減する手法を提案する.Linux のディスク I/O では,通常はファイルデータはメモリ上にキャッシュされる.大量のディスク I/O を行った結果,キャッシュ用のメモリが足りなくなると,OS は特別なカーネルスレッドを起動し,近い将来に利用されないと思われるページを回収させる.このカーネルスレッドが頻繁に動作すると,その OS ノイズによりアプリケーションの性能が低下する.提案手法は,大量のディスク I/O が行われている場合に,ページ回収のカーネルスレッドに先行して,さらに大きな単位でページを回収する.これによりページ回収の回数が減り,OS ノイズによる影響が小さくなる.我々は提案手法に基づくシステムを実装し,実験を行った.その結果,その OS ノイズによる性能低下をほぼなくすことに成功した.OS noises are one of the major causes of performance degradation in applications of high performance computing. OS noises are execution of services by the operating system kernel such as interrupt handling or execution of various daemons such as a memory management daemon. These execution interrupts the computation of an application and increases the execution time. OS noises significantly degrade the performance of an application in which many processes or threads frequently synchronize with each other. In this paper, we focus on a OS noise caused by reclamation of memory pages and propose a method of reducing the effect of the OS noise. The disk I/O of Linux usually caches file data on memory. When numerous disk I/O occur and the OS runs out of memory for caching file data, the OS activates a special kernel thread that reclaims memory pages that are unlikely to be used in the near future. If the kernel thread is frequently activated, the performance of an application is degraded due to its OS noise. The proposed method reclaims memory pages in advance of the kernel thread for page reclamation. It reclaims more pages than the kernel thread, and thus reducing the frequency of page reclamation and the effect of the OS noise. We implemented a system based on the proposed method and conducted an experiment. Results of the experiment showed that the proposed method could almost eliminate the performance degradation caused by the OS noise.