Mercurial > hg > Papers > 2013 > toma-jssst
changeset 22:cbb44aa8867b
add comment
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 12 Sep 2013 14:57:01 +0900 |
parents | 896dc855b808 |
children | 426856180cc3 |
files | Slides/jssst.html |
diffstat | 1 files changed, 118 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/Slides/jssst.html Thu Sep 12 14:00:30 2013 +0900 +++ b/Slides/jssst.html Thu Sep 12 14:57:01 2013 +0900 @@ -46,11 +46,92 @@ <br> Sep 13, 2013 </p> + +<!-- + +スライドの構成が、だらだら書いただけになっている。物語になってない。読む人のことを考えてない。 +書いただけ。 + +何を一番伝えたいのか。この研究の成果は何か。目標は何で、何を得たのか。 + +悪いことを強調しない。成果を強調する。発表を聞いた人が「すごい成果だ」と幸せになれるように描く。 + +Jungle のイメージを説明するスライドがない + + Jungle とは何か? + Web appli の中で、Jungle をどう使うのか + どういうアプリに向いているのか + + Jungle とは何か? + + 改変履歴で接続された木の集合 + 木にはroot node にのみ名前があり、最新版にアクセスすることができる + 木のノードには、属性と属性の組があり、順序を持つ子ノードを持つ + 木の改変は、ノードの属性と属性値、子ノードの操作である + 改変は root node と改変するnode へのpathによって行われる + 改変すると新しい木が作られる + 最新版は、サーバ毎に異なる可能性がある + 木へのアクセスは並行して行われ、競合したアクセスは merge により解決される + + +それを書いてから、 + + Haskell で実装する利点 + +を説得力をもって書く + + 非破壊データベースは、破壊代入のないプログラミング言語と相性が良い + 関数型言語は並列処理と相性が良い + 並列処理のAPIは、モナドとして提供されている + 型推論があるので Java よりも簡潔に記述できる + 定理証明支援系との相性がよく信頼性の高いシステムソフトウェアができる可能性がある + +など + +それから、Haskell 上のJungle の API を列挙する + +そして、実験の流れを記述する + + 遅延評価の影響の除去 + Java 版との Signle server での比較 + + +遅延評価の影響を除去すると、Java と同程度の性能が出るという「成果」であることを強調する + +並列実行に関しては将来の課題だが、現状では2倍程度の性能しか出てない。 + + 予想される問題点を列挙する + それに対する解決策を列挙する + + やれよ! + + + + + + + + + + + + --> + </article> +<!-- indent が変。 +<article> +<h3> silde title </h3> + <p> slide body </p> + </article> + +みたいなのが普通でしょ? + +--> <article> <h3> はじめに +<!-- はじめにとか良くなくて、「データベースのHaskellによる実装」 とか、意味のあるタイトルを付ける --> </h3> <p> 本研究室では非破壊的木構造データベース Jungle の開発を行っている。 @@ -67,6 +148,7 @@ Haskell </h3> <p> +<!-- 前のスライド一緒で良い --> Haskell は、純粋関数型プログラミング言語である。 変数への代入は一度のみで、書き換えることはできない。 </p> @@ -98,6 +180,7 @@ <h3> 破壊的木構造 </h3> +<!-- これは不要 --> <ul> <li>木構造で保持するデータを直接書き換える <li>編集および参照する際にロックを行う必要がある @@ -141,9 +224,11 @@ <li>一度作成された木構造は破壊されることがない <li>破壊されることがないため、自由にコピーを行っても構わない <li>自由にコピーを行なっても構わないのでロックを必要としない +<!-- 「ので」 ここは繋がってない ---> </ul> <p> ロックを必要とせず、自由にコピーを行えるため、スケーラブルなシステムに有用である。 +<!-- コピーが行える → スケーラブルを説明してない ---> </p> </article> @@ -152,6 +237,9 @@ 非破壊的木構造データベース Jungle </h3> <p> +<!-- ここは唐突。Jungle が何かをもっとちゃんと説明しないと + この一連のスライドを何故説明するのか説明するスライドを用意する + ---> Jungle は複数の木を保持することができる。 木には名前がついており、名前を利用して判別を行う。 作成・編集・削除を行うことができる。 @@ -179,6 +267,7 @@ <p> getTreeByName 関数で名前を指定することで木構造を取得できる。 getRootNode 関数でルートノードを取得できる。 +<!-- ノードをじゃなくて、ノード --> </p> </article> @@ -191,6 +280,7 @@ また、putAttribute 関数で、ノードが持つ連想リストを編集できる。 </p> <p> +<!-- パスの説明が全然ない 1枚スライドを使って説明する --> どのノードを編集するかという情報は、ルートノードからのパスを渡すことで解決する。 木を編集したあと、updateTree 関数を用いて既存の Jungle に変更を加え新しい Jungle を作成する。 </p> @@ -209,10 +299,13 @@ <p> 非破壊的木構造であっても、どのノードが最新のルートノードなのかという情報が必要である。 スレッドセーフに取り扱う必要があるため、Haskell のソフトウェア・トランザクショナル・メモリを用いて管理している。 +<!-- つながってない。というか意味不明 + --> </p> </article> <article> +o <h3> 開発期間の短縮 </h3> @@ -222,6 +315,7 @@ </p> <p> これにより、関数型プログラミングではコードは短くなり、生産性が向上することが分かった。 +<!-- もっと、詳しく書きべきなんじゃないの? どこが短くなっているのか。ライブラリの構成とか ---> </p> </article> @@ -233,8 +327,8 @@ 非破壊的木構造データベース Jungle を用いて簡易掲示板システムを作成し、既存の Java 版との性能比較を行った。 </p> <p> - Haskell 版 Jungle の HTTP サーバには、Warp を用いた。 - Warpは、Haskell で書かれた軽量・高速な HTTP サーバである。 + Haskell 版 Jungle の HTTP サーバには、Warp を用いた。 <!--- ここに描くのは変だよね? --> + Warpは、Haskell で書かれた軽量・高速な HTTP サーバである。 <!-- Java 側は何を使ったの? Jetty だよね? --> </p> </article> @@ -296,6 +390,8 @@ <br clear="both"> <p> +<!-- グラフの数値が大きい方が良いのか小さい方が良いのかくらい書いた方が良い 。つまり縦軸横軸が何かということね ---> + 左が読み込み、右が書き込みの実験結果である。 </p> @@ -321,6 +417,10 @@ <img src="images/para.png", width="400px"> <p> 本研究とは別に、簡単な例題を並列で動かした場合でも期待する実行速度の向上は得られなかった。 +<!-- + このグラフのどこをどう読めば、そういう結論になるのか*まったく*わからない + どういうグラフなら「期待する」結果になるのか。 + --> 並列処理で速度向上を達成することは今後の課題である。 </p> </ul> @@ -329,9 +429,20 @@ <article> <h3> 遅延評価 +<!-- 唐突 --> </h3> <p> Haskell は遅延評価を行うが、書き込みの際に問題が生じる。 +<!-- いきなり negative な書き方をしない + Web Server の性能には並列実行が重要である + とかから始める + +この発表の流れがよく見えない +うだうだ、次のものが出てくる感じ。これでは、聞いている方が付いていいけない。 + +道案内のスライドが必要。それは、物語になってないから。 + + --> 何かしらの結果を表示するまで、簡約可能な式の状態で積まれたままとなる。 その際メモリを消費し、効率のよい領域に入りきらないサイズになると実行結果が遅くなる。 </p> @@ -343,6 +454,7 @@ </h3> <p> 評価を行ったあとに実行時間がどのように変わるかを示すために、実験方法を変更した。 +<!-- 文章が意味不明 「あとに」ってなんだよ --> 以下に示す。 </p> <ul> @@ -371,6 +483,7 @@ まとめ </h3> <ul> +<!-- 書いたことと、まとめがつながってない。遅延評価の話はいったどこにいった --> <li>Haskell による非破壊的木構造データベース Jungle を実装した <li>木構造データベース Jungle と、HTTP サーバ Warp を用いて、簡易掲示板システムを開発し、既存の Java の実装と同程度の性能を達成できた <li>Haskell 版 Jungle は、Java の実装と比較して開発期間およびコード行数は短くなった。 @@ -387,6 +500,9 @@ <li>木構造を永続化する仕組みの実装 <li>分散環境でJungleを効率よく利用するために、木構造をマージする仕組みを実装 </ul> + +<!--- 体言止めと、そうでないものを混ぜるのはダサい --> + </article> </body> </html>