Mercurial > hg > Papers > 2017 > suruga-sigos
changeset 7:ad41c4a44428
sigos_ver5
author | suruga |
---|---|
date | Fri, 21 Apr 2017 02:27:16 +0900 |
parents | 8cf4c8681595 |
children | 6b61e24c14c2 |
files | paper/.DS_Store paper/sigos.aux paper/sigos.bbl paper/sigos.blg paper/sigos.dvi paper/sigos.log paper/sigos.pdf paper/sigos.tex |
diffstat | 8 files changed, 54 insertions(+), 67 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/sigos.aux Fri Apr 21 01:50:26 2017 +0900 +++ b/paper/sigos.aux Fri Apr 21 02:27:16 2017 +0900 @@ -4,8 +4,8 @@ \newlabel{fig:PushPopDemerit}{{3}{3}} \newlabel{table:Diffetential API}{{1}{3}} \newlabel{fig:EditDifferencialTree}{{4}{3}} -\newlabel{fig:EditDifferencialTree}{{5}{4}} -\newlabel{fig:EditDifferencialTree}{{6}{4}} +\newlabel{fig:Differential_Interface_Traverser}{{5}{4}} +\newlabel{fig:Tree_ver2}{{6}{4}} \citation{*} \bibstyle{ipsjunsrt} \bibdata{sigos} @@ -15,6 +15,5 @@ \bibcite{opencl}{4} \bibcite{cuda}{5} \bibcite{gears}{6} -\bibcite{cbc-lola}{7} \newlabel{table:Diffetential API}{{2}{5}} \gdef\ipsj@lastpage{5}
--- a/paper/sigos.bbl Fri Apr 21 01:50:26 2017 +0900 +++ b/paper/sigos.bbl Fri Apr 21 02:27:16 2017 +0900 @@ -1,9 +1,8 @@ \begin{thebibliography}{1} \bibitem{cerium} -宮國 渡,河野真治,神里 晃,杉山千秋\:Cell 用の Fine-grain Task Manager - の実装,情報処理学会 - システムソフトウェアとオペレーティング・システム研究会(OS) (2008). +金川竜己,河野真治\:非破壊的木構造データベース Jungle とその評価,情報処理学会 + システムソフトウェアとオペレーティング・システム研究会(OS) (2015). \bibitem{alice} 照屋のぞみ,河野真治\:分散フレームワークAliceのPC画面配信システムへの応用,第57回プログラミング・シンポジウム @@ -25,8 +24,4 @@ の設計,情報処理学会システムソフトウェアとオペレーティング・システム研究会(OS) (2015). -\bibitem{cbc-lola} -TOKKMORI, K. and KONO, S.: Implementing Continuation based language in LLVM and - Clang, {\em LOLA 2015} (2015). - \end{thebibliography}
--- a/paper/sigos.blg Fri Apr 21 01:50:26 2017 +0900 +++ b/paper/sigos.blg Fri Apr 21 02:27:16 2017 +0900 @@ -12,48 +12,46 @@ Warning--Missing required argument author in cuda Warning--there's no number and/or volumegears Warning--Missing required argument pages in gears -Warning--there's no number and/or volumecbc-lola -Warning--Missing required argument pages in cbc-lola -You've used 7 entries, +You've used 6 entries, 2207 wiz_defined-function locations, - 563 strings with 4942 characters, -and the built_in function-call counts, 1207 in all, are: -= -- 63 -> -- 60 + 559 strings with 4816 characters, +and the built_in function-call counts, 982 in all, are: += -- 53 +> -- 45 < -- 0 -+ -- 21 -- -- 14 -* -- 91 -:= -- 183 -add.period$ -- 7 -call.type$ -- 7 ++ -- 16 +- -- 10 +* -- 71 +:= -- 150 +add.period$ -- 6 +call.type$ -- 6 change.case$ -- 0 chr.to.int$ -- 0 -cite$ -- 18 -duplicate$ -- 85 -empty$ -- 122 -format.name$ -- 20 -if$ -- 272 +cite$ -- 15 +duplicate$ -- 70 +empty$ -- 104 +format.name$ -- 12 +if$ -- 223 int.to.chr$ -- 0 -int.to.str$ -- 7 -missing$ -- 5 -newline$ -- 24 -num.names$ -- 6 -pop$ -- 25 +int.to.str$ -- 6 +missing$ -- 4 +newline$ -- 21 +num.names$ -- 5 +pop$ -- 19 preamble$ -- 1 purify$ -- 0 quote$ -- 0 -skip$ -- 48 +skip$ -- 41 stack$ -- 0 substring$ -- 0 -swap$ -- 2 -text.length$ -- 11 +swap$ -- 1 +text.length$ -- 9 text.prefix$ -- 0 top$ -- 0 type$ -- 0 -warning$ -- 11 -while$ -- 6 -width$ -- 8 -write$ -- 49 -is.kanji.str$ -- 41 -(There were 11 warnings) +warning$ -- 9 +while$ -- 5 +width$ -- 7 +write$ -- 42 +is.kanji.str$ -- 31 +(There were 9 warnings)
--- a/paper/sigos.log Fri Apr 21 01:50:26 2017 +0900 +++ b/paper/sigos.log Fri Apr 21 02:27:16 2017 +0900 @@ -1,4 +1,4 @@ -This is e-pTeX, Version 3.14159265-p3.7-160201-2.6 (utf8.euc) (TeX Live 2016) (preloaded format=platex 2017.4.10) 21 APR 2017 01:41 +This is e-pTeX, Version 3.14159265-p3.7-160201-2.6 (utf8.euc) (TeX Live 2016) (preloaded format=platex 2017.4.10) 21 APR 2017 02:26 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -160,12 +160,6 @@ ) (./dummy.tex) (./sigos.aux -LaTeX Warning: Label `fig:EditDifferencialTree' multiply defined. - - -LaTeX Warning: Label `fig:EditDifferencialTree' multiply defined. - - LaTeX Warning: Label `table:Diffetential API' multiply defined. ) @@ -250,16 +244,17 @@ /9 addNewChild( [] -File: ./pic/EditDifferencialTree.pdf Graphic file (type pdf) -<./pic/EditDifferencialTree.pdf> [3] -File: ./pic/EditDifferencialTree.pdf Graphic file (type pdf) - <./pic/EditDifferencialTree.pdf> +[3] +File: ./pic/Differential_Interface_Traverser.pdf Graphic file (type pdf) + <./pic/Differential_Interface_Traverser.pdf> +File: ./pic/Tree_ver2.pdf Graphic file (type pdf) + <./pic/Tree_ver2.pdf> [4] Overfull \hbox (18.31381pt too wide) in paragraph at lines 241--246 [][][] [] -[4] (./sigos.bbl -Overfull \hbox (58.50209pt too wide) in paragraph at lines 21--22 +(./sigos.bbl +Overfull \hbox (58.50209pt too wide) in paragraph at lines 20--21 []\OT1/cmr/m/n/9 : CUDA, https://developer.nvidia.com/category/zone/cuda- [] @@ -272,12 +267,12 @@ ) Here is how much of TeX's memory you used: - 3082 strings out of 493693 - 43101 string characters out of 6149787 + 3090 strings out of 493693 + 43373 string characters out of 6149787 145093 words of memory out of 5000000 - 6630 multiletter control sequences out of 15000+600000 + 6635 multiletter control sequences out of 15000+600000 17185 words of font info for 66 fonts, out of 8000000 for 9000 929 hyphenation exceptions out of 8191 30i,13n,49p,943b,329s stack positions out of 5000i,500n,10000p,200000b,80000s -Output written on sigos.dvi (5 pages, 35456 bytes). +Output written on sigos.dvi (5 pages, 35256 bytes).
--- a/paper/sigos.tex Fri Apr 21 01:50:26 2017 +0900 +++ b/paper/sigos.tex Fri Apr 21 02:27:16 2017 +0900 @@ -203,30 +203,30 @@ Editor が保持している木構造に最後に追加したノードが、新しい木の末尾ノードとなる。また、Differential Jungle Tree は、木の編集時複製を行わないため、 Index のアップデートは、 Editor が保持している木構造のデータを Index に追加するだけで良い。 \paragraph* {Differential Jungle Tree の検索} - Differential Jungle Tree は、末尾ノードを使って、現在の木構造を表現している。なので、過去の木に対して全探索を行なった場合、その版には無いはずのノードが取得できてしまう。例として、編集前の木である Tree ver1 と編集後の木である Tree ver2 があるとする(図\ref{fig:PushPopDemerit})。ここで、Tree ver1 に対して、全探索を行なった場合、本来Tree ver1 に存在しないノード3・4も検索対象に含まれてしまう。そこで、その版の木が持つ末尾ノード以下のSub Tree を検索対象から除外する、Differential Interface Traverser を実装した。Differential Interface Traverserを用いて木の全探索を行なった場合、Tree ver1 に存在しないノード3・4は検索対象から省かれる。 - %画像つくる + Differential Jungle Tree は、末尾ノードを使って、現在の木構造を表現している。なので、過去の木に対して全探索を行なった場合、その版には無いはずのノードが取得できてしまう。例として、編集前の木である Tree ver1 と編集後の木である Tree ver2 があるとする(図\ref{fig:Differential_Interface_Traverser})。ここで、Tree ver1 に対して、全探索を行なった場合、本来Tree ver1 に存在しないノード3・4も検索対象に含まれてしまう。そこで、その版の木が持つ末尾ノード以下のSub Tree を検索対象から除外する、Differential Interface Traverser を実装した。Differential Interface Traverserを用いて木の全探索を行なった場合、Tree ver1 に存在しないノード3・4は検索対象から省かれる。 + \begin{figure}[ht] \begin{center} - \includegraphics[width=70mm]{./pic/EditDifferencialTree.pdf} + \includegraphics[width=60mm]{./pic/Differential_Interface_Traverser.pdf} \end{center} \caption{複数の版の木の表現} - \label{fig:EditDifferencialTree} + \label{fig:Differential_Interface_Traverser} \end{figure} Index を使用した検索を行う場合、各版の木に対応した Index があるため、Default Tree と検索のアルゴリズムは変わらない。これらの実装により Differential Jungle Tree は木構造の構築・検索を行う。 \paragraph* {Differential Jungle Tree の検索} Differential Jungle Tree への Commit は、編集後の木のデータを持つ TreeContext を作り、編集前の木が持つ TreeContext と Atomic に入れ替えることで行われる。しかし、Differential Jungle Tree のCommit は、Default Jungle Tree の Commit と異なり、TreeContext の入れ替えと、 Editor が保持している木構造の末尾ノードへの Append の2つのプロセスからなる。 TreeContext の入れ替えに関しては、 Default Jungle Tree と同じように行い、末尾ノードへの Editor が持っている木構造の Append は、TreeContect の入れ替えが成功した後に行う。そうすることで、別Thread で行われている Commit と競合した際に、 TreeContext を入れ替えた Thread と別 Thread がAppend を行い、木の整合性が崩れることを回避している。 - また、過去の版の木に対して、編集を加えCommit を行なった場合、木の整合性が崩れてしまう問題もある。図()()を例に解説する。図()の過去の版の木 Tree ver1 に新しいノード5を追加・Commit を行うと、新しい木 Tree ver'2 が構築される。ここで、Tree ver'2 に対して全検索を行う。differential Jungle Tree に対する全検索は、末尾ノードよ上にあるノードを検索対象にする。しかしノード3・4という、本来存在しないはずのノードが検索対象に含まれてしまう。これは、過去の版の木である、 tree ver1 の末尾ノードが2つの子ノードを持っているせいで発生する。 + また、過去の版の木に対して、編集を加えCommit を行なった場合、木の整合性が崩れてしまう問題もある。図(\ref{fig:Differential_Interface_Traverser})(\ref{fig:Tree_ver2})を例に解説する。図()の過去の版の木 Tree ver1 に新しいノード5を追加・Commit を行うと、新しい木 Tree ver'2 が構築される。ここで、Tree ver'2 に対して全検索を行う。differential Jungle Tree に対する全検索は、末尾ノードよ上にあるノードを検索対象にする。しかしノード3・4という、本来存在しないはずのノードが検索対象に含まれてしまう。これは、過去の版の木である、 tree ver1 の末尾ノードが2つの子ノードを持っているせいで発生する。 この問題を解決するために、Differential Jungle Tree では、過去の木に対する変更を禁止している。具体的には。末尾ノードは子を1つしか持つことができないようにした。そうすることで木の整合性を保証している。 -%画像つくる + \begin{figure}[ht] \begin{center} - \includegraphics[width=70mm]{./pic/EditDifferencialTree.pdf} + \includegraphics[width=50mm]{./pic/Tree_ver2.pdf} \end{center} \caption{木の整合性が崩れる例} - \label{fig:EditDifferencialTree} + \label{fig:Tree_ver2} \end{figure} \section{Red Black Jungle Tree の実装}