comparison paper/conclusion.tex @ 43:aa6de0f67a0a

add files
author Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
date Tue, 04 Feb 2014 09:38:20 +0900
parents 345eacdf29e4
children fcf49a1241af
comparison
equal deleted inserted replaced
42:ff15fb78a3ae 43:aa6de0f67a0a
6 6
7 Haskell は、型推論と型安全により簡潔で信頼性の高いプログラムを書くことができる。 7 Haskell は、型推論と型安全により簡潔で信頼性の高いプログラムを書くことができる。
8 実装において、Haskellの表現力とコンパイル時に多くのエラーを捕まえるという特徴は、開発期間およびコード行数の短縮に繋がった。 8 実装において、Haskellの表現力とコンパイル時に多くのエラーを捕まえるという特徴は、開発期間およびコード行数の短縮に繋がった。
9 また、型安全により実行時に型エラーによってプログラムが終了するといったことがない。 9 また、型安全により実行時に型エラーによってプログラムが終了するといったことがない。
10 10
11 実装した並列データベースの読み込みと書き込みについて性能を計測し、読み込みに関して 98.96 \%という高い並列化率が確認できた。 11 読み込みに関して 12 コアで実行した場合、1 コアで実行した場合と比較して、10.77 倍 という性能向上率が確認でき、マルチコアプロセッサの性能を引き出すことができた。
12 また、掲示板ウェブアプリケーションを開発し、既存の Java の非破壊的木構造データベースとの比較をおこない、Java のおよそ 2 倍の性能を確認することができた。 12 また、Web 掲示板サービスを開発し、 既存の Java の非破壊的木構造データベースを用いた掲示板実装との比較をおこない、読み込みで 1.87 倍、書き込みで 2.3 倍の性能が確認できた。
13 13
14 \section{今後の課題} 14 \section{今後の課題}
15 非破壊的木構造データベース Jungle の今後の課題について述べる。 15 非破壊的木構造データベース Jungle の今後の課題について述べる。
16 16
17 \subsubsection{書き込み処理の並列度の上昇} 17 \subsubsection{書き込み処理の並列度の上昇}
18 データベースへの書き込み処理において 80.8 \%の並列度しか出ていない。 18 データベースへの書き込み処理において、12 スレッド時で 3.86 倍の性能向上しか達成できていない。
19 はじめに、プログラムの変更をせずに、GHC の IO マネージャーの改善によりどの程度並列度が向上するのかを調査する必要がある。 19 はじめに、プログラムの変更をせずに、GHC の IO マネージャーの改善によりどの程度並列度が向上するのかを調査する必要がある。
20 GHC の IO マネージャーの影響度を計測した後、変更処理の改善方法に調査する。 20 GHC の IO マネージャーの影響度を計測した後、変更処理の改善方法に調査する。
21 現在ソフトウェア・トランザクショナル・メモリを用いているが、他のスレッドセーフな参照型を用いて性能改善が行えないか確認する。 21 現在ソフトウェア・トランザクショナル・メモリを用いているが、他のスレッドセーフな参照型を用いて性能改善が行えないか確認する。
22 Haskell では、様々なスレッドセーフな参照型が用意されている。 22 Haskell では、様々なスレッドセーフな参照型が用意されている。
23 ロックが制限的だが、高速なIORef、ロックの使えるMVarなどである。 23 ロックが制限的だが、高速なIORef、ロックの使えるMVarなどである。
24 24
25 \subsubsection{分散データベースとしての実装} 25 \subsubsection{分散データベースとしての実装}
26 並列環境で実行できるが、今後は分散データベースとして実行できるようにしたい。 26 現在、並列環境で実行できるが、今後は分散データベースとして実行できるようにしたい。
27 トポロジーの形成機能や、サーバ間でのデータアクセスの仕組みを実装する必要がある。 27 トポロジーの形成機能や、サーバ間でのデータアクセスの仕組みを実装する必要がある。
28 サーバ間で木構造の変更を共有するには、木構造を何らかの情報に基づいて、マージする仕組みを導入する必要がある。 28 サーバ間で木構造の変更を共有するには、木構造を何らかの情報に基づいて、マージする仕組みを導入する必要がある。
29 29
30 \subsubsection{永続性の実装} 30 \subsubsection{永続性の実装}
31 非破壊的木構造データベース Jungle は、オンメモリ上で動作するデータベースである。 31 非破壊的木構造データベース Jungle は、オンメモリ上で動作するデータベースである。
32 並列性を損なわない形で、ディスクへの書き出しを実現したい。 32 並列性を損なわない形で、ディスクへの書き出しを実現したい。
33 簡単な実装としては、書き出しを担当するスレッドを作成するといったことが考えられる。 33 実装としては、書き出しを担当するスレッドを作成するといったことが考えられる。
34 34