# HG changeset patch # User Nobuyasu Oshiro # Date 1391066132 -32400 # Node ID 618adf0a9b2b09d44174d5083c2063484538af6b # Parent 34ac359f20f1a4a801a2f659fec3882b8fcda5c6 Added some figures diff -r 34ac359f20f1 -r 618adf0a9b2b paper/.DS_Store Binary file paper/.DS_Store has changed diff -r 34ac359f20f1 -r 618adf0a9b2b paper/chapter2.tex --- a/paper/chapter2.tex Wed Jan 29 21:11:36 2014 +0900 +++ b/paper/chapter2.tex Thu Jan 30 16:15:32 2014 +0900 @@ -345,7 +345,7 @@ -\section{Jungle ログによるデータの永続性} +\section{ログによるデータの永続性} % TreeOperationLog(ログ)をシリアライズ可能な形にしてデータをおくること % シリアライズできる形にしたものをそのままHDに書き出すだけでログの永続性は行える Jungle は非破壊でさらにオンメモリにデータを保持するため, 使用するメモリの容量が大きくなる. diff -r 34ac359f20f1 -r 618adf0a9b2b paper/chapter3.tex --- a/paper/chapter3.tex Wed Jan 29 21:11:36 2014 +0900 +++ b/paper/chapter3.tex Thu Jan 30 16:15:32 2014 +0900 @@ -131,18 +131,85 @@ DataSegmentを受けとるためのクラスである. arg1に対しsetKey APIを使うことで, 使用したいDataSegmentのキー"count"を登録することができる. これによりキー"count"に対してデータが登録された場合, そのデータを受け取りcsの計算が自動で始まる. +setKey APIの第一引数に渡している"local"はどのマシンのDataSegmentにアクセスするのかを指定している. +この場合は自分自身を表す"local"になる. + データの登録は\verb|ods.update|により行える. 上記のコード20行目ではupdateにより"count"をキーとして数値の0を登録している. updateがされるとcsの計算が始まり別スレッドにより8行目からの処理が行われる. updateによりキー"count"に登録された数値0はReceiverであるdsを使って取ることができる. -8行目から14行目では\verb|ds.asInteger()|により, "count"に登録したデータの中身を受け取りインクリメントし -最後には\verb|ods.update|を行っている. +8行目から14行目では\verb|ds.asInteger()|により, "count"に登録したデータの中身を受け取りインクリメントし出力する. +そして最後には\verb|ods.update|を行っている. 新たなTestCodeSegmentも生成しており, これはインクリメントされた"count"がupdateされることで実行される. +この一連の処理を"count"の数値が10以上になるまで行う. + +\begin{figure}[htpb] + \begin{center} + \includegraphics[scale=0.70]{figures/testcodesegment.pdf} + \caption{DataSegmentとCodeSegmentによるプログラムの例} + \label{fig:testcodesegment} + \end{center} +\end{figure} % Alice の他サーバノードへの"log"のputの問題 +\subsection{他サーバノードのDataSegmentへアクセス} +Aliceにおける基本的なプログラミングは述べた. +次はネットワークを介して他サーバノードのDataSegmentにアクセスするプログラムについて述べる. + +まず, Aliceにより2分木3ノードのトポロジーが形成された場合を想定する. +その時に実際に作られるトポロジーを図\ref{fig:remote_cs}に示す. +\begin{figure}[htpb] + \begin{center} + \includegraphics[scale=0.70]{figures/testcodesegment.pdf} + \caption{トポロジーの形成} + \label{fig:remote_cs} + \end{center} +\end{figure} +このトポロジー上で, 標準入力より入力されたメッセージを他サーバノードに送信 +するプログラムを考える. + +server node0, server node1, server node2 がそれぞれ接続しあっている. +矢印に付いている + +\begin{lstlisting}[frame=lrbt,label=src:,caption=メッセージを受け取り他のサーバに流すCodeSegment,numbers=left] +public class SendMessageCodeSegment extends CodeSegment { + + Receiver sendNodeList = ids.create(CommandType.PEEK); + public SendMessageCodeSegment() { + sendNodeList.setKey("_CLIST"); + } + @Override + public void run() { + @SuppressWarnings("unchecked") + List list = sendNodeList.asClass(List.class); + BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); + String message = null; + try { + System.out.println("Please enter your message"); + while((message = reader.readLine()) != null ) { + for(String node : list) { + ods.put(node, "message", message); + System.out.println("send message to "+node); + } + } catch (IOException e) { + e.printStackTrace(); + } +} +\end{lstlisting} + +\begin{lstlisting}[frame=lrbt,label=src:,caption=,numbers=left] + +\end{lstlisting} + +\begin{lstlisting}[frame=lrbt,label=src:,caption=,numbers=left] + +\end{lstlisting} + + + \section{ログのシリアライズ} ここでログのシリアライズについて述べる. diff -r 34ac359f20f1 -r 618adf0a9b2b paper/chapter4.tex --- a/paper/chapter4.tex Wed Jan 29 21:11:36 2014 +0900 +++ b/paper/chapter4.tex Thu Jan 30 16:15:32 2014 +0900 @@ -45,7 +45,8 @@ \subsection{weighttp} 最初の実験で1つのノードに負荷をかけるプログラムはウェブサーバの測定ツールであるweighttpを使用する. -weighttpは総リクエスト数, 同時接続数, ネイティブスレッド数をオプションとして指定することができる. +weighttpは総リクエスト数, 同時接続数, ネイティブスレッド数をオプションとして指定することができるC言語 +でかかれたプログラムである. \subsection{掲示板プログラム} @@ -69,6 +70,7 @@ Memory & 8GB \\ \hline OS & CentOS 5.8 \\ \hline HyperVisor & VMWare ESXi \\ \hline +JavaVM & Java(TM) SE Runtime Environment (build 1.7.0-b147) \\ \hline \end{tabular} \end{center} \end{table} @@ -83,6 +85,7 @@ Memory & 8GB \\ \hline OS & CentOS 5.8 \\ \hline HyperVisor & KVM \\ \hline +JavaVM & Java(TM) SE Runtime Environment (build 1.7.0-b147) \\ \hline \end{tabular} \end{center} \end{table} @@ -102,7 +105,6 @@ 論理コア数 & 24 \\ \hline Memory & 132GB \\ \hline OS & Fedora 16 \\ \hline -JavaVM & Java(TM) SE Runtime Environment (build 1.7.0-b147) \\ \hline \end{tabular} \end{center} \end{table} @@ -158,7 +160,40 @@ + \section{実験結果2} +学科の並列環境クラスタを用いて分散環境下での実験を行う +学科の提供するVMは48台だが, ブレードサーバ上で動くKVMから12台を利用し, 合計60台を使用する. +JungleとCassandraをそれぞれサーバノード10台, 20台, 30台で動かし, クライアントも10台, 20台, 30台 +と増やして負荷をかける. +KVM側はクライアント側だけに利用する. +weighttpに付けたオプションを以下の通りである. +\begin{lstlisting}[frame=lrbt,label=src:distributed_weighttp_op,caption=weighttpのオプション(実験2),numbers=left] +weighttp -n 50000 -c 200 -t 2 -k "http://url" +\end{lstlisting} +クライアント1台からはそれぞれ5万のHTTPリクエストが送られる. +実験1に比べ同時接続数とネイティブスレッド数が少ないのはVMの環境に合わせてあるからである. + +測定は読み込みと書き込みの両方を行う. +測定の結果をグラフにしたのを図\ref{fig:distributed_read_bench}, \ref{fig:distributed_write_bench}に示す. + +\begin{figure}[htpb] + \begin{center} + \includegraphics[scale=1.0]{figures/distributed_read_bench.pdf} + \caption{分散環境下における読み込みベンチマーク結果} + \label{fig:distributed_read_bench} + \end{center} +\end{figure} + +\begin{figure}[htpb] + \begin{center} + \includegraphics[scale=1.0]{figures/distributed_write_bench.pdf} + \caption{分散環境下における書き込みベンチマーク結果} + \label{fig:distributed_write_bench} + \end{center} +\end{figure} + + diff -r 34ac359f20f1 -r 618adf0a9b2b paper/figures/distributed_read_bench.pdf Binary file paper/figures/distributed_read_bench.pdf has changed diff -r 34ac359f20f1 -r 618adf0a9b2b paper/figures/distributed_read_bench.xbb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/figures/distributed_read_bench.xbb Thu Jan 30 16:15:32 2014 +0900 @@ -0,0 +1,8 @@ +%%Title: ./figures/distributed_read_bench.pdf +%%Creator: extractbb 20130405 +%%BoundingBox: 0 0 360 252 +%%HiResBoundingBox: 0.000000 0.000000 360.000000 252.000000 +%%PDFVersion: 1.3 +%%Pages: 1 +%%CreationDate: Thu Jan 30 11:32:05 2014 + diff -r 34ac359f20f1 -r 618adf0a9b2b paper/figures/distributed_write_bench.pdf Binary file paper/figures/distributed_write_bench.pdf has changed diff -r 34ac359f20f1 -r 618adf0a9b2b paper/figures/distributed_write_bench.xbb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/figures/distributed_write_bench.xbb Thu Jan 30 16:15:32 2014 +0900 @@ -0,0 +1,8 @@ +%%Title: ./figures/distributed_write_bench.pdf +%%Creator: extractbb 20130405 +%%BoundingBox: 0 0 360 252 +%%HiResBoundingBox: 0.000000 0.000000 360.000000 252.000000 +%%PDFVersion: 1.3 +%%Pages: 1 +%%CreationDate: Thu Jan 30 11:32:06 2014 + diff -r 34ac359f20f1 -r 618adf0a9b2b paper/figures/remote_codesegment.pdf Binary file paper/figures/remote_codesegment.pdf has changed diff -r 34ac359f20f1 -r 618adf0a9b2b paper/figures/testcodesegment.pdf Binary file paper/figures/testcodesegment.pdf has changed diff -r 34ac359f20f1 -r 618adf0a9b2b paper/figures/testcodesegment.xbb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/figures/testcodesegment.xbb Thu Jan 30 16:15:32 2014 +0900 @@ -0,0 +1,8 @@ +%%Title: ./figures/testcodesegment.pdf +%%Creator: extractbb 20130405 +%%BoundingBox: 0 0 522 158 +%%HiResBoundingBox: 0.000000 0.000000 522.000000 158.000000 +%%PDFVersion: 1.4 +%%Pages: 1 +%%CreationDate: Thu Jan 30 11:05:11 2014 + diff -r 34ac359f20f1 -r 618adf0a9b2b paper/gnuplot/read_makegraph.sh --- a/paper/gnuplot/read_makegraph.sh Wed Jan 29 21:11:36 2014 +0900 +++ b/paper/gnuplot/read_makegraph.sh Thu Jan 30 16:15:32 2014 +0900 @@ -3,7 +3,7 @@ set terminal postscript eps set output 'read_bench.eps' set title 'read benchmark(1,000,000 Requests)' -set xlabel 'nuber of nodes' +set xlabel 'number of nodes' set ylabel 'time(sec)' plot 'read_jungle.dat' title 'Jungle' lt rgb "blue" with linespoints, 'read_cassandra.dat' title "Cassandra Consistency Level Quorum" lt rgb "red" with linespoints, 'read_cassandra_one.dat' title "Cassandra Consistency Level ONE" lt rgb "red" with linespoints EOF diff -r 34ac359f20f1 -r 618adf0a9b2b paper/gnuplot/write_makegraph.sh --- a/paper/gnuplot/write_makegraph.sh Wed Jan 29 21:11:36 2014 +0900 +++ b/paper/gnuplot/write_makegraph.sh Thu Jan 30 16:15:32 2014 +0900 @@ -3,7 +3,7 @@ set terminal postscript eps set output 'write_bench.eps' set title 'write benchmark(1,000,000 Requests)' -set xlabel 'nuber of nodes' +set xlabel 'number of nodes' set ylabel 'time(sec)' plot 'write_jungle.dat' title 'Jungle' lt rgb "blue" with linespoints, 'write_cassandra.dat' title "Cassandra Consistency Level Quorum" lt rgb "red" with linespoints, 'write_cassandra_one.dat' title "Cassandra Consistency Level ONE" lt rgb "dark-red" with linespoints EOF diff -r 34ac359f20f1 -r 618adf0a9b2b paper/graffle/remote_codesegment.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/graffle/remote_codesegment.graffle Thu Jan 30 16:15:32 2014 +0900 @@ -0,0 +1,628 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGraffle + 139.18.0.187838 + + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {559, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2014-01-30 05:41:36 +0000 + Creator + Oshiro Nobuyasu + DisplayScale + 1 0/72 in = 1 0/72 in + GraphDocumentVersion + 8 + GraphicsList + + + Bounds + {{336, 187}, {75, 22}} + Class + ShapedGraphic + ID + 42 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 "parent"} + + Wrap + NO + + + Bounds + {{279.5, 224}, {75, 22}} + Class + ShapedGraphic + ID + 41 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 "child2"} + + Wrap + NO + + + Bounds + {{208.00003051757812, 224}, {75, 22}} + Class + ShapedGraphic + ID + 40 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 "child1"} + + Wrap + NO + + + Bounds + {{147.00002288818359, 187}, {75, 22}} + Class + ShapedGraphic + ID + 39 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 "parent"} + + Wrap + NO + + + Class + LineGraphic + ID + 35 + Points + + {371, 236} + {334, 188} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + Width + 2 + + + + + Class + LineGraphic + ID + 38 + Points + + {186, 238} + {223, 188} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + Width + 2 + + + + + Class + LineGraphic + ID + 37 + Points + + {237, 199} + {212.00002288818359, 242} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + Width + 2 + + + + + Class + LineGraphic + ID + 32 + Points + + {320, 199} + {353, 242.5} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + Width + 2 + + + + + Bounds + {{347, 251}, {69, 43.5}} + Class + ShapedGraphic + ID + 31 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 server\ +node2} + VerticalPad + 0 + + + + Bounds + {{143.00002288818359, 251}, {69, 43.5}} + Class + ShapedGraphic + ID + 30 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 server\ +node1} + VerticalPad + 0 + + + + Bounds + {{245.0000114440918, 151.7127685546875}, {69, 43.5}} + Class + ShapedGraphic + ID + 29 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 server\ +node0} + VerticalPad + 0 + + + + GridInfo + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + KeepToScale + + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2014-01-30 05:53:05 +0000 + Modifier + Oshiro Nobuyasu + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {595, 842} + + NSPrintReverseOrientation + + int + 0 + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + PrintOnePage + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + ExpandedCanvases + + + name + Canvas 1 + + + Frame + {{274, 136}, {693, 922}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 120 + VisibleRegion + {{0, 0}, {558, 783}} + Zoom + 1 + ZoomValues + + + Canvas 1 + 1 + 1 + + + + + diff -r 34ac359f20f1 -r 618adf0a9b2b paper/graffle/testcodesegment.graffle --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/graffle/testcodesegment.graffle Thu Jan 30 16:15:32 2014 +0900 @@ -0,0 +1,1031 @@ + + + + + ActiveLayerIndex + 0 + ApplicationVersion + + com.omnigroup.OmniGraffle + 139.18.0.187838 + + AutoAdjust + + BackgroundGraphic + + Bounds + {{0, 0}, {1118, 783}} + Class + SolidGraphic + ID + 2 + Style + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + BaseZoom + 0 + CanvasOrigin + {0, 0} + ColumnAlign + 1 + ColumnSpacing + 36 + CreationDate + 2014-01-30 01:28:11 +0000 + Creator + Oshiro Nobuyasu + DisplayScale + 1 0/72 in = 1.0000 in + GraphDocumentVersion + 8 + GraphicsList + + + Class + LineGraphic + Head + + ID + 52 + + ID + 53 + Points + + {479.18539428710938, 270.10638427734375} + {507.94716453552246, 270.10638427734375} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 46 + + + + Bounds + {{507.94716453552246, 248.35638427734375}, {69, 43.5}} + Class + ShapedGraphic + ID + 52 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 TestCode\ +Segment} + VerticalPad + 0 + + + + Bounds + {{384.37078857421875, 197}, {111, 16}} + Class + ShapedGraphic + ID + 51 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs28 \cf0 local\ +DataSegment} + + + + Bounds + {{325.10281372070312, 249.35638427734375}, {63.370786516853855, 16}} + Class + ShapedGraphic + ID + 49 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs28 \cf0 update} + + + + Bounds + {{79.943803937247708, 248.35638427734375}, {63.370786516853855, 16}} + Class + ShapedGraphic + ID + 48 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs28 \cf0 update} + + + + Class + LineGraphic + Head + + ID + 46 + + ID + 47 + Points + + {331.10280418395996, 270.10638427734375} + {407.68539427473729, 270.10638427734375} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 29 + Info + 7 + + + + Bounds + {{408.18539428710938, 233.60638427734375}, {70.5, 16}} + Class + ShapedGraphic + ID + 41 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs28 \cf0 "count"} + + + + Bounds + {{443.1853939215801, 255.18085236245014}, {23.391017913818359, 33.063829787234042}} + Class + ShapedGraphic + ID + 42 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 1} + + + + Class + LineGraphic + ID + 43 + Points + + {411.75000102868222, 289.81915023479053} + {475.12078754553607, 289.81915023479053} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 44 + Points + + {411.75000102868222, 252.60638427734375} + {475.12078754553607, 252.60638427734375} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + 0 + + + + + Bounds + {{408.18539428710938, 290.81915283203125}, {70.5, 16}} + Class + ShapedGraphic + ID + 45 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs28 \cf0 queue} + + + + Bounds + {{408.18539428710938, 230.60638427734375}, {70.5, 79}} + Class + ShapedGraphic + ID + 46 + Shape + Rectangle + Style + + stroke + + CornerRadius + 10 + + + + + Bounds + {{384.37078857421875, 221.85107421875}, {111, 104.14892578125}} + Class + ShapedGraphic + ID + 38 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + + + + Class + LineGraphic + Head + + ID + 29 + + ID + 30 + Points + + {230.56457012422052, 269.82216972907548} + {262.10280418395996, 270.10638427734375} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 7 + + + + Bounds + {{262.10280418395996, 248.35638427734375}, {69, 43.5}} + Class + ShapedGraphic + ID + 29 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 TestCode\ +Segment} + VerticalPad + 0 + + + + Class + LineGraphic + Head + + ID + 7 + + ID + 28 + Points + + {85.2584228515625, 270.10638427734375} + {159.06459810328084, 269.69787323480813} + + Style + + stroke + + HeadArrow + FilledArrow + Legacy + + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 13 + Info + 7 + + + + Bounds + {{159.56459045410156, 233}, {70.5, 16}} + Class + ShapedGraphic + ID + 14 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs28 \cf0 "count"} + + + + Bounds + {{16.2584228515625, 248.35638427734375}, {69, 43.5}} + Class + ShapedGraphic + ID + 13 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + {-0.5, -0.233518} + {-0.49144199999999999, 0.26006299999999999} + {0.50711799999999996, -0.22408600000000001} + {0.50711799999999996, 0.267179} + {-0.27431, -0.474028} + {0.27977999999999997, -0.47847800000000001} + {0.29393799999999998, 0.54304399999999997} + {-0.28623199999999999, 0.55380399999999996} + + Shape + Rectangle + Style + + shadow + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 main} + VerticalPad + 0 + + + + Bounds + {{194.56459008857229, 253.57446808510639}, {23.391017913818359, 33.063829787234042}} + Class + ShapedGraphic + ID + 12 + Shape + Rectangle + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs24 \cf0 0} + + + + Class + LineGraphic + ID + 11 + Points + + {163.12919719567441, 289.21276595744678} + {226.49998371252826, 289.21276595744678} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 9 + Points + + {163.12919719567441, 252} + {226.49998371252826, 252} + + Style + + stroke + + HeadArrow + 0 + Legacy + + LineType + 1 + TailArrow + 0 + + + + + Bounds + {{159.56459045410156, 290.2127685546875}, {70.5, 16}} + Class + ShapedGraphic + ID + 8 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs28 \cf0 queue} + + + + Bounds + {{159.56459045410156, 230}, {70.5, 79}} + Class + ShapedGraphic + ID + 7 + Shape + Rectangle + Style + + stroke + + CornerRadius + 10 + + + + + Bounds + {{140.5, 197}, {111, 16}} + Class + ShapedGraphic + ID + 4 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\ansi\ansicpg1252\cocoartf1265 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs28 \cf0 local\ +DataSegment} + + + + Bounds + {{139.31459045410156, 221.85107421875}, {111, 104.14892578125}} + Class + ShapedGraphic + ID + 3 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + + + + GridInfo + + GuidesLocked + NO + GuidesVisible + YES + HPages + 2 + ImageCounter + 1 + KeepToScale + + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + Animate + NO + circoMinDist + 18 + circoSeparation + 0.0 + layoutEngine + dot + neatoSeparation + 0.0 + twopiSeparation + 0.0 + + LinksVisible + NO + MagnetsVisible + NO + MasterSheets + + ModificationDate + 2014-01-30 02:17:11 +0000 + Modifier + Oshiro Nobuyasu + NotesVisible + NO + Orientation + 2 + OriginVisible + NO + PageBreaks + YES + PrintInfo + + NSBottomMargin + + float + 41 + + NSHorizonalPagination + + coded + BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG + + NSLeftMargin + + float + 18 + + NSPaperSize + + size + {595, 842} + + NSPrintReverseOrientation + + int + 0 + + NSRightMargin + + float + 18 + + NSTopMargin + + float + 18 + + + PrintOnePage + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UniqueID + 1 + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + ExpandedCanvases + + + name + Canvas 1 + + + Frame + {{403, 102}, {693, 922}} + ListView + + OutlineWidth + 142 + RightSidebar + + ShowRuler + + Sidebar + + SidebarWidth + 120 + VisibleRegion + {{45, 0}, {544, 768}} + Zoom + 1 + ZoomValues + + + Canvas 1 + 1 + 1 + + + + + diff -r 34ac359f20f1 -r 618adf0a9b2b paper/master_paper.pdf Binary file paper/master_paper.pdf has changed