annotate paper/compare.tex @ 9:e17bc730af1a

separate folder
author sugi
date Tue, 02 Apr 2013 20:02:48 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9
e17bc730af1a separate folder
sugi
parents:
diff changeset
1 \section{実験}
e17bc730af1a separate folder
sugi
parents:
diff changeset
2
e17bc730af1a separate folder
sugi
parents:
diff changeset
3 \subsection{実験環境}
e17bc730af1a separate folder
sugi
parents:
diff changeset
4 SEDAがコア数の少ないマシーンではうまく動作しないことを考慮して、メニコア環境で実験を行った。
e17bc730af1a separate folder
sugi
parents:
diff changeset
5
e17bc730af1a separate folder
sugi
parents:
diff changeset
6
e17bc730af1a separate folder
sugi
parents:
diff changeset
7 \begin{table}[htbp]
e17bc730af1a separate folder
sugi
parents:
diff changeset
8 \caption{実行環境の詳細}
e17bc730af1a separate folder
sugi
parents:
diff changeset
9 \label{tb:MacPro}
e17bc730af1a separate folder
sugi
parents:
diff changeset
10 \begin{center}
e17bc730af1a separate folder
sugi
parents:
diff changeset
11 \begin{tabular} {|l|l|}
e17bc730af1a separate folder
sugi
parents:
diff changeset
12 \hline
e17bc730af1a separate folder
sugi
parents:
diff changeset
13 {\bf CPU}&Intel(R) Xeon(R) X5650 @2.67GHz\\
e17bc730af1a separate folder
sugi
parents:
diff changeset
14 \hline
e17bc730af1a separate folder
sugi
parents:
diff changeset
15 {\bf 物理コア数}&12\\
e17bc730af1a separate folder
sugi
parents:
diff changeset
16 \hline
e17bc730af1a separate folder
sugi
parents:
diff changeset
17 {\bf 論理コア数}&24\\
e17bc730af1a separate folder
sugi
parents:
diff changeset
18 \hline
e17bc730af1a separate folder
sugi
parents:
diff changeset
19 {\bf CPU キャッシュ}&12MB\\
e17bc730af1a separate folder
sugi
parents:
diff changeset
20 \hline
e17bc730af1a separate folder
sugi
parents:
diff changeset
21 {\bf Memory}&16GB\\
e17bc730af1a separate folder
sugi
parents:
diff changeset
22 \hline
e17bc730af1a separate folder
sugi
parents:
diff changeset
23 \end{tabular}
e17bc730af1a separate folder
sugi
parents:
diff changeset
24 \end{center}
e17bc730af1a separate folder
sugi
parents:
diff changeset
25 \end{table}
e17bc730af1a separate folder
sugi
parents:
diff changeset
26
e17bc730af1a separate folder
sugi
parents:
diff changeset
27
e17bc730af1a separate folder
sugi
parents:
diff changeset
28 \subsection{実験概要}
e17bc730af1a separate folder
sugi
parents:
diff changeset
29 今回それぞれの改善案の効果を調査するために以下の3つの実験を行った。
e17bc730af1a separate folder
sugi
parents:
diff changeset
30 \subsubsection{SEDAの有無}
e17bc730af1a separate folder
sugi
parents:
diff changeset
31 LocalからData Segmentを取得するCode Segmentを10000回実行される時間を計測する。
e17bc730af1a separate folder
sugi
parents:
diff changeset
32 SEDAを使用した場合と、しない場合の2つの比較を行い、その効果を測定する。
e17bc730af1a separate folder
sugi
parents:
diff changeset
33
e17bc730af1a separate folder
sugi
parents:
diff changeset
34 \begin{table}[html]
e17bc730af1a separate folder
sugi
parents:
diff changeset
35 \caption{SEDAの有無の比較}
e17bc730af1a separate folder
sugi
parents:
diff changeset
36 \label{tb:result1}
e17bc730af1a separate folder
sugi
parents:
diff changeset
37 \begin{center}
e17bc730af1a separate folder
sugi
parents:
diff changeset
38 \begin{tabular}{|l|l|l|}
e17bc730af1a separate folder
sugi
parents:
diff changeset
39 \hline
e17bc730af1a separate folder
sugi
parents:
diff changeset
40 SEDA& あり & なし \\
e17bc730af1a separate folder
sugi
parents:
diff changeset
41 \hline
e17bc730af1a separate folder
sugi
parents:
diff changeset
42 実行時間 (ms)& 27.72 & 7.53 \\
e17bc730af1a separate folder
sugi
parents:
diff changeset
43 \hline
e17bc730af1a separate folder
sugi
parents:
diff changeset
44 \end{tabular}
e17bc730af1a separate folder
sugi
parents:
diff changeset
45 \end{center}
e17bc730af1a separate folder
sugi
parents:
diff changeset
46 \end{table}
e17bc730af1a separate folder
sugi
parents:
diff changeset
47 SEDAを使わずにコマンドを処理する方が約3.7倍差が見られた。(表\ref{tb:result1})
e17bc730af1a separate folder
sugi
parents:
diff changeset
48 \subsubsection{flipの効果の測定}
e17bc730af1a separate folder
sugi
parents:
diff changeset
49 Local にData Segmentを10000回追加するのにかかる時間を計測する。
e17bc730af1a separate folder
sugi
parents:
diff changeset
50 flipコマンドを使用して追加する場合と、putコマンドを使用して追加する場合の2つの比較を行う。
e17bc730af1a separate folder
sugi
parents:
diff changeset
51
e17bc730af1a separate folder
sugi
parents:
diff changeset
52 \begin{table}[html]
e17bc730af1a separate folder
sugi
parents:
diff changeset
53 \caption{flipの結果}
e17bc730af1a separate folder
sugi
parents:
diff changeset
54 \label{tb:result2}
e17bc730af1a separate folder
sugi
parents:
diff changeset
55 \begin{center}
e17bc730af1a separate folder
sugi
parents:
diff changeset
56 \begin{tabular}{|l|l|l|}
e17bc730af1a separate folder
sugi
parents:
diff changeset
57 \hline
e17bc730af1a separate folder
sugi
parents:
diff changeset
58 Command & flip & put \\
e17bc730af1a separate folder
sugi
parents:
diff changeset
59 \hline
e17bc730af1a separate folder
sugi
parents:
diff changeset
60 実行時間 (ms)& 61.12 & 65.24 \\
e17bc730af1a separate folder
sugi
parents:
diff changeset
61 \hline
e17bc730af1a separate folder
sugi
parents:
diff changeset
62 \end{tabular}
e17bc730af1a separate folder
sugi
parents:
diff changeset
63 \end{center}
e17bc730af1a separate folder
sugi
parents:
diff changeset
64 \end{table}
e17bc730af1a separate folder
sugi
parents:
diff changeset
65
e17bc730af1a separate folder
sugi
parents:
diff changeset
66 flipを使う方が若干ではあるが速度改善が見られる。(表\ref{tb:result2})
e17bc730af1a separate folder
sugi
parents:
diff changeset
67
e17bc730af1a separate folder
sugi
parents:
diff changeset
68 \subsubsection{bitonic sortにおける効果の測定}
e17bc730af1a separate folder
sugi
parents:
diff changeset
69 bitonic sortにより、100万の要素をもつ配列のSortにかかる時間を計測する。分割数は10個で行った。
e17bc730af1a separate folder
sugi
parents:
diff changeset
70
e17bc730af1a separate folder
sugi
parents:
diff changeset
71 \begin{table}[html]
e17bc730af1a separate folder
sugi
parents:
diff changeset
72 \caption{bitonic sortの結果}
e17bc730af1a separate folder
sugi
parents:
diff changeset
73 \label{tb:result3}
e17bc730af1a separate folder
sugi
parents:
diff changeset
74 \begin{center}
e17bc730af1a separate folder
sugi
parents:
diff changeset
75 \begin{tabular}{|l|l|l|}
e17bc730af1a separate folder
sugi
parents:
diff changeset
76 \hline
e17bc730af1a separate folder
sugi
parents:
diff changeset
77 & 改善前 & 改善後 \\
e17bc730af1a separate folder
sugi
parents:
diff changeset
78 \hline
e17bc730af1a separate folder
sugi
parents:
diff changeset
79 実行時間 (ms)& 199.38 & 184.64 \\
e17bc730af1a separate folder
sugi
parents:
diff changeset
80 \hline
e17bc730af1a separate folder
sugi
parents:
diff changeset
81 \end{tabular}
e17bc730af1a separate folder
sugi
parents:
diff changeset
82 \end{center}
e17bc730af1a separate folder
sugi
parents:
diff changeset
83 \end{table}
e17bc730af1a separate folder
sugi
parents:
diff changeset
84
e17bc730af1a separate folder
sugi
parents:
diff changeset
85
e17bc730af1a separate folder
sugi
parents:
diff changeset
86 \subsection{考察}
e17bc730af1a separate folder
sugi
parents:
diff changeset
87 実験の結果より今回の改善により、約10\%程Aliceの速度改善を行うことができた。(表\ref{tb:result3})この差のほとんどがSEDAによるものと推測される。
e17bc730af1a separate folder
sugi
parents:
diff changeset
88 LinkedBlockingQueueを使ったSEDAの実装は、コストが高くレスポンスを求めるには不向きであることがわかった。
e17bc730af1a separate folder
sugi
parents:
diff changeset
89 CeriumのようにスケジューラーによってCode SegmentにData Segmentをセットしたほうがレスポンスを向上できると思われる。