# HG changeset patch # User Daichi TOMA # Date 1391341814 -32400 # Node ID 21f075c483ccee49c2e1369c0f9a5db1584ddbcd # Parent 500f12a9a2e680f34335ecc6ec8d7f2d2c30c615 fix diff -r 500f12a9a2e6 -r 21f075c483cc paper/chapter3.tex --- a/paper/chapter3.tex Sun Feb 02 20:43:20 2014 +0900 +++ b/paper/chapter3.tex Sun Feb 02 20:50:14 2014 +0900 @@ -187,7 +187,7 @@ \subsubsection{開発環境} 実装には、Haskell を用いる。 コンパイラは、Haskell の並列実行に対応した Glasgow Haskell Compiler (GHC) を用いる。 -GHC は、Haskell で最も広く使われているコンパイラである。\cite{ghc} +GHC は、Haskell で最も広く使われているコンパイラである\cite{ghc}。 並列実行のためのMonadや、スレッドセーフな参照型を提供している。 \subsubsection{全体の構造} diff -r 500f12a9a2e6 -r 21f075c483cc paper/chapter4.tex --- a/paper/chapter4.tex Sun Feb 02 20:43:20 2014 +0900 +++ b/paper/chapter4.tex Sun Feb 02 20:50:14 2014 +0900 @@ -127,7 +127,7 @@ \subsubsection{weighttp} ウェブアプリケーションの性能測定には、weighttpを用いる。 -weighttpはWebサーバの性能測定ツールで、マルチコアCPUを使ってテストできる。\cite{weighttp} +weighttpはWebサーバの性能測定ツールで、マルチコアCPUを使ってテストできる\cite{weighttp}。 また、livev を使うことで、モダンなポール・システムコールを利用し、測定性能を向上できるといった特徴を持つ。 同様の性能測定ツールには、Apache Benchやhttprefが存在するが非力であり、ボトルネックとなってしまうため使用しない。 @@ -252,7 +252,7 @@ Jungle へ登録する際に他のスレッドから登録があった場合に、ソフトウェア・トランザクショナル・メモリが処理をやり直すため、並列度が下がっていると思われるが、GHCの問題も考えられる。 GHC の IO マネージャーは、マルチスレッドでうまくスケールしないという問題があり、並列度が下がってしまう。 -GHCの次期バージョンではIO マネージャーが改善され、スケールするようになる見込みである。\cite{iomanager} +GHCの次期バージョンではIO マネージャーが改善され、スケールするようになる見込みである\cite{iomanager}。 非破壊的木構造データベース Jungle は、書き込みは並列化率が低くなってしまい並列実行に向いていない。 読み込みが高速なため、書き込みより読み込みが多用されるシステムに向いているといえる。 @@ -265,7 +265,7 @@ 木構造データベース Jungle と Haskell の HTTP サーバ Warp を用いて簡易掲示板システムを作成する。 \subsubsection{Warp を用いたウェブアプリケーションの構築} -Warp は、軽量・高速な HTTP サーバである。\cite{warp} +Warp は、軽量・高速な HTTP サーバである\cite{warp}。 Haskell の軽量スレッドを活かして書かれている。 Haskell のウェブフレームワークである Yesod のバックエンドとして用いられており、現在も開発が続けられている。 Warp のバージョンは 2.0.2 を用いる。 diff -r 500f12a9a2e6 -r 21f075c483cc paper/introduciton.tex --- a/paper/introduciton.tex Sun Feb 02 20:43:20 2014 +0900 +++ b/paper/introduciton.tex Sun Feb 02 20:50:14 2014 +0900 @@ -13,7 +13,7 @@ 非破壊的木構造では、排他制御をせずにデータへアクセスすることが可能でありスケーラビリティを確保できる。 データベースの実装には、純粋関数型言語 Haskell を用いる。 -Haskell は、モダンな型システムを持ち、型推論と型安全により簡潔で信頼性の高いプログラムを書くことが可能である。\cite{types} +Haskell は、モダンな型システムを持ち、型推論と型安全により簡潔で信頼性の高いプログラムを書くことが可能である\cite{types}。 また、Haskellは純粋であるため、関数は引数が同じならば必ず同じ値を返すことが保証されている。 これは、並列処理において並列化に適した部分が分かりやすくなるというメリットがあり、また状態に依存したバグから解放されることも意味する。 diff -r 500f12a9a2e6 -r 21f075c483cc paper/master_paper.pdf Binary file paper/master_paper.pdf has changed