研究概要

オペレーティングシステムやミドルウェアなど,情報システムの基盤となるシステムソフトウェアに関する研究を行っています.

研究テーマ

Dynamic Configuration Tuning of Working Database Management Systems

A database management system (DBMS) is a critical component in various systems. DBMSs record data related to our daily activities and analyze them to run services on the Internet. DBMSs have many configuration knobs that need to be set to appropriate values to achieve optimum performance. However, optimizing the tuning of knobs is difficult to achieve, even for experts. This paper describes a system that tunes the configuration of active DBMSs. The proposed system calculates the optimal values of the configuration knobs, tests them using the same SQL queries that the DBMS receives, and applies the optimal knob values to the DBMS. Thus the proposed system enables DBMSs to adapt to workload variation and perform efficiently.

カーネルの動作を記録しプロセスに提供する機構を用いたKSMの動作解析

仮想化を利用したクラウドコンピューティングでは,稼働する仮想マシン (VM) の 台数分同じ OS やミドルウェアが重複して動作することがある.このような環境では, 同一内容のメモリが多く存在するため,そのような冗長なメモリを除去は VM の集約 率の向上につながる.冗長なメモリを除去するための仕組みとしてメモリ重複排除技 術がある.メモリ重複排除とは, VM のメモリを定期的にスキャンし,内容の同じメモ リページを共有することで冗長なメモリを削減する技術である.メモリ重複排除技術 のオーバヘッドとなる処理やメモリ重複排除を行う環境ごとの特徴を詳細に解析する ことで効率的なメモリ重複排除を行うことができる.メモリ重複排除技術を含む,カー ネルのサブシステムを解析するためには,カーネルのサブシステムの動作や状態に関 するの情報を記録する必要がある.そこで,カーネルのサブシステムの情報を共有メ モリを用いてユーザプロセスに提供する機構を提案する.この機能により, KSM の各 処理の発生やそのときの状態を詳細に記録し,動作を解析することができる.

HDFS のためのディスク I/O を効率化するファイルシステムの構築

インターネットの普及とサービスの多様化により,生成されるデータは日々増大して いる.それに伴い処理するデータも大規模化している.これらのデータを処理するた めに並列分散処理フレームワークである Hadoop が用いられている. Hadoop は並列分 散処理フレームワークの Hadoop MapReduce と 分散ファイルシステムである Hadoop Distributed File System (HDFS) から構成される.本研究では, HDFS のためのディ スク I/O を効率化するファイルシステムを提案する.提案システムは, HDFS と同様 の大きなブロックサイズでデータを管理し,データ管理にかかるオーバヘッドを削減 する.また,今後読み込む可能性の高いファイルを,ディスク I/O が空いているとき に先読みする.提案システムと Linux の標準ファイルシステムである ext4 を比較し, 評価を行った.提案システムを使用することにより, MapReduce の Sort 処理の処理 時間を約 10.2% 短縮することができ,提案システムの有用性を示すことができた.

複数の機器を同時に管理可能なオペレーティングシステム

複数の機器を同時に管理可能なオペレーティングシステムの研究・開発を行っている.本システムでは,カーネルが管理する資源を抽象化することによって,複数の機器にまたがって単一のカーネルを動作させる.単一のシステムで複数の機器を同時に管理すると,すべての機器の資源や状態を考慮した一括管理が実現され,システム全体の効率化が可能となる.
また,各機器の位置を意識することなくその資源を利用することや,動的に新たな機器を追加したり一部の機器を切り放したりすることが可能である.さらに,機器の抽象化により,仮想的なデバイスを容易に実現できるようになるため,システムの運用を低コストで柔軟に行うことが可能となる.

(研究成果の展開例)

Java仮想マシンの性能向上や適用範囲の拡大に関する技術

複数のプロセッサを有効に利用できるJava仮想マシンにより,高性能のJava実行環境を実現する.これによって,Javaでは十分な実行速度が得られないといった従来の問題を解決する. また,実時間性を考慮したスケジューリングやガーベジコレクションを行うことによって,例えば組み込み分野など,Javaの適用範囲を広げる.