# HG changeset patch # User Daichi TOMA # Date 1391298370 -32400 # Node ID 933bc5556fe07c5cbfeac7cd2e892a284954121a # Parent 29833dbed10f20509ed224a1458caf331ef3cff2 fix diff -r 29833dbed10f -r 933bc5556fe0 paper/abstract.tex --- a/paper/abstract.tex Sun Feb 02 07:43:11 2014 +0900 +++ b/paper/abstract.tex Sun Feb 02 08:46:10 2014 +0900 @@ -9,8 +9,8 @@ 並列にデータへアクセスする手法として、元となる木構造を変更することなく編集できる非破壊的木構造を用いる。 非破壊的木構造は、破壊的代入が存在しない Haskell と相性がよい。 -実装した並列データベースの読み込みと書き込みについて性能を計測し、読み込みに関して高い並列度が確認できた。 -また、簡単な掲示板ウェブアプリケーションを開発し、既存の Java の非破壊的木構造データベースとの比較をおこない、Java 以上の性能を確認することができた。 +実装した並列データベースの読み込みと書き込みについて性能を計測し、読み込みに関して 98.96 \% という高い並列度が確認できた。 +また、簡単な掲示板ウェブアプリケーションを開発し、既存の Java の非破壊的木構造データベースとの比較をおこない、Java のおよそ 2倍の性能を確認することができた。 \end{abstract} diff -r 29833dbed10f -r 933bc5556fe0 paper/conclusion.tex --- a/paper/conclusion.tex Sun Feb 02 07:43:11 2014 +0900 +++ b/paper/conclusion.tex Sun Feb 02 08:46:10 2014 +0900 @@ -1,6 +1,33 @@ \chapter{結論} \label{ch:conclusion} \section{まとめ} -まとめ +本研究では、関数型言語 Haskell を用いて並列データベースの実装をおこなった。 + +Haskell は、型推論と型安全により簡潔で信頼性の高いプログラムを書くことができる。 +実装において、Haskellの表現力とコンパイル時に多くのエラーを捕まえるという特徴は、開発期間およびコード行数の短縮に繋がった。 +また、型安全により実行時に不正にプログラムが終了するといったことがない。 + +実装した並列データベースの読み込みと書き込みについて性能を計測し、読み込みに関して 98.96 \%という高い並列度が確認できた。 +また、簡単な掲示板ウェブアプリケーションを開発し、既存の Java の非破壊的木構造データベースとの比較をおこない、Java のおよそ 2 倍の性能を確認することができた。 + \section{今後の課題} -今後の課題 +非破壊的木構造データベース Jungle の今後の課題について述べる。 + +\subsection{書き込み処理の並列度の上昇} +データベースへの書き込み処理において 80.8 \%の並列度しか出ていない。 +はじめに、プログラムの変更をせずに、GHC の IO マネージャーの改善によりどの程度並列度が向上するのかを調査する必要がある。 +GHC の IO マネージャーの影響度を計測した後、変更処理の改善方法に調査する。 +現在ソフトウェア・トランザクショナル・メモリを用いているが、他のスレッドセーフな参照型を用いて性能改善が行えないか確認する。 +Haskell では、様々なスレッドセーフな参照型が用意されている。 +ロックが制限的だが、高速なIORef、ロックの使えるMVarなどである。 + +\subsection{分散データベースとしての実装} +並列環境で実行できるが、今後は分散データベースとして実行できるようにしたい。 +トポロジーの形成機能や、サーバ間でのデータアクセスの仕組みを実装する必要がある。 +サーバ間で木構造の変更を共有するには、木構造を何らかの情報に基づいて、マージする仕組みを導入する必要がある。 + +\subsection{永続性の実装} +非破壊的木構造データベース Jungle は、オンメモリ上で動作するデータベースである。 +並列性を損なわない形で、ディスクへの書き出しを実現したい。 +簡単な実装としては、書き出しを担当するスレッドを作成するといったことが考えられる。 + diff -r 29833dbed10f -r 933bc5556fe0 paper/master_paper.pdf Binary file paper/master_paper.pdf has changed diff -r 29833dbed10f -r 933bc5556fe0 paper/thanx.tex --- a/paper/thanx.tex Sun Feb 02 07:43:11 2014 +0900 +++ b/paper/thanx.tex Sun Feb 02 08:46:10 2014 +0900 @@ -1,4 +1,9 @@ \chapter*{謝辞} \addcontentsline{toc}{chapter}{謝辞} -ありがとうございました。 +本研究を行うにあたり、日頃より多くの助言、ご指導いただきました河野真治助教授に心より感謝申し上げます。 + +本研究は、JST/CREST 研究領域「実用化を目指した組み込みシステム用ディペンダブル・ オペレーティングシステム」D-ADD 研究チームとして実施しました。 +研究の機会を与えてくださった、株式会社 Symphony の永山辰巳さんに感謝します。 + +また、データベースの実装にあたり、多くの議論にお付き合い頂いた大城信康さん、並列信頼研究室の全てのメンバーに感謝いたします.