changeset 51:20f33c43722d

add benchmark
author Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
date Mon, 10 Feb 2014 05:21:32 +0900
parents 37d54a95bf84
children 9a75333cc202
files paper/benchmark/read7.8/result.txt paper/benchmark/read7.8/result2.txt paper/benchmark/read7.8/result_with_qa.txt paper/benchmark/read7.8/result_with_qa_N12.txt paper/chapter4.tex paper/master_paper.pdf
diffstat 6 files changed, 131 insertions(+), 73 deletions(-) [+]
line wrap: on
line diff
--- a/paper/benchmark/read7.8/result.txt	Sun Feb 09 02:10:04 2014 +0900
+++ b/paper/benchmark/read7.8/result.txt	Mon Feb 10 05:21:32 2014 +0900
@@ -1,25 +1,48 @@
-./ParRead +RTS -K1G -N1 -qa
 N=1
-time: 61.17s
+time: 60.95s
 N=2
-time: 29.94s
+time: 30.83s
 N=3
-time: 21.09s
+time: 20.78s
 N=4
-time: 16.54s
+time: 15.49s
 N=5
-time: 13.13s
+time: 12.44s
 N=6
-time: 10.51s
+time: 10.33s
 N=7
-time: 9.41s
+time: 10.43s
 N=8
-time: 9.27s
+time: 10.31s
 N=9
-time: 8.41s
+time: 9.89s
 N=10
-time: 6.68s
+time: 9.04s
 N=11
-time: 6.63s
+time: 8.90s
 N=12
-time: 6.00s
+time: 8.49s
+N=13
+time: 7.70s
+N=14
+time: 6.89s
+N=15
+time: 6.48s
+N=16
+time: 5.82s
+N=17
+time: 5.81s
+N=18
+time: 5.77s
+N=19
+time: 6.63s
+N=20
+time: 6.54s
+N=21
+time: 6.87s
+N=22
+time: 6.63s
+N=23
+time: 6.46s
+N=24
+time: 8.21s
--- a/paper/benchmark/read7.8/result2.txt	Sun Feb 09 02:10:04 2014 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-N=1
-time: 61.00s
-N=2
-time: 33.95s
-N=3
-time: 20.94s
-N=4
-time: 16.10s
-N=5
-time: 12.62s
-N=6
-time: 10.72s
-N=7
-time: 9.07s
-N=8
-time: 8.79s
-N=9
-time: 7.37s
-N=10
-time: 8.46s
-N=11
-time: 6.35s
-N=12
-time: 5.88s
-N=13
-time: 6.89s
-N=14
-time: 6.12s
-N=15
-time: 5.66s
-N=16
-time: 5.81s
-N=17
-time: 5.55s
-N=18
-time: 5.54s
-N=19
-time: 5.47s
-N=20
-time: 5.48s
-N=21
-time: 5.20s
-N=22
-time: 5.24s
-N=23
-time: 4.84s
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/benchmark/read7.8/result_with_qa.txt	Mon Feb 10 05:21:32 2014 +0900
@@ -0,0 +1,48 @@
+N=1
+time: 61.00s
+N=2
+time: 33.95s
+N=3
+time: 20.94s
+N=4
+time: 16.10s
+N=5
+time: 12.62s
+N=6
+time: 10.72s
+N=7
+time: 9.07s
+N=8
+time: 8.79s
+N=9
+time: 7.37s
+N=10
+time: 8.46s
+N=11
+time: 6.35s
+N=12
+time: 5.88s
+N=13
+time: 6.89s
+N=14
+time: 6.12s
+N=15
+time: 5.66s
+N=16
+time: 5.81s
+N=17
+time: 5.55s
+N=18
+time: 5.54s
+N=19
+time: 5.47s
+N=20
+time: 5.48s
+N=21
+time: 5.20s
+N=22
+time: 5.24s
+N=23
+time: 4.84s
+N=24
+time: 125.09s
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/benchmark/read7.8/result_with_qa_N12.txt	Mon Feb 10 05:21:32 2014 +0900
@@ -0,0 +1,25 @@
+./ParRead +RTS -K1G -N1 -qa
+N=1
+time: 61.17s
+N=2
+time: 29.94s
+N=3
+time: 21.09s
+N=4
+time: 16.54s
+N=5
+time: 13.13s
+N=6
+time: 10.51s
+N=7
+time: 9.41s
+N=8
+time: 9.27s
+N=9
+time: 8.41s
+N=10
+time: 6.68s
+N=11
+time: 6.63s
+N=12
+time: 6.00s
--- a/paper/chapter4.tex	Sun Feb 09 02:10:04 2014 +0900
+++ b/paper/chapter4.tex	Mon Feb 10 05:21:32 2014 +0900
@@ -19,7 +19,7 @@
 物理コア数 & 12 \\ \hline
 論理コア数 & 24 \\ \hline
 Memory & 126GB \\ \hline
-OS & Fedora 14 \\ \hline
+OS & Fedora 19 \\ \hline
 \end{tabular}
 \end{center}
 \caption{学科が提供するブレードサーバの仕様}
@@ -41,7 +41,7 @@
 \begin{center}
 \begin{tabular}{|c||c|} \hline
 言語 & バージョン \\ \hline \hline
-Haskell & Glasgow Haskell Compiler, Version 7.6.3 \\ \hline
+Haskell & Glasgow Haskell Compiler, Version 7.8 RC1 \\ \hline
 Java & Java(TM) SE Runtime Environment (build 1.7.0\_51-b13) \\ \hline
 \end{tabular}
 \end{center}
@@ -69,21 +69,29 @@
 非破壊的木構造データベース Jungle の読み込みの計測結果を表\ref{tab:par_read}に示す. 
 
 CPUコア数を増やしていくと, 実行時間が短くなっていることが分かる. 
-シングルスレッドで実行した場合と比較して, 2 スレッドで 1.79 倍, 12 スレッドで 10.77 倍の性能向上が見られる. 
-実際の計測では, 13 スレッド以上は, 12スレッドより速くなることもあるが, 遅くなる場合もあるなど安定しない結果となっている. 
+シングルスレッドで実行した場合と比較して, 2 スレッドで 1.97 倍, 12 スレッドで 7.17 倍の性能向上が見られる. 
+13スレッド以上のハイパースレッディングを用いた計測は, 16スレッド実行時に実行時間が最も短くなる.
+しかし, それ以降遅くなったりするなど安定しない結果となっている.
+
+Haskell では並列実行時にOSの親和性機能を使ってOSスレッドをCPUコアに固定することができる.
+OSスレッドをCPUコアに固定するには, 実行時に-qaオプションを付けてプログラムを起動する.
+OSの親和性機能を使った場合、2 スレッドで 1.80 倍, 12 スレッドで 10.37 倍の性能向上が見られ, 12スレッド時の性能向上率が大幅に伸びている.
+並列に読み込む場合、スレッドを同じプロセッサ上で実行させると性能が向上することがわかる.
+しかし、24 スレッドで実行する場合、実行時間が大幅に伸びている.
+スレッドがCPUに固定されるため, 性能計測以外のプログラムが実行される場合にうまくスケジューリングが行われないためだと考えられる.
 
 \begin{table}[!htbp]
 \begin{center}
-\begin{tabular}{|c||r|} \hline
-CPU数 & 実行時間 \\ \hline
-1 & 59.77 s\\ \hline
-2 & 33.36 s\\ \hline
-4 & 15.63 s\\ \hline
-8 & 8.10 s\\ \hline
-12 & 5.55 s\\ \hline
-16 & 5.65 s\\ \hline
-20 & 5.23 s\\ \hline
-24 & 5.77 s\\ \hline
+\begin{tabular}{|c||r|r|} \hline
+  CPU数 & 通常実行 & qaオプションあり\\ \hline
+  1 & 60.95 s & \\ 61.00 s \hline
+  2 & 30.83 s & \\ 33.95 s \hline
+  4 & 15.49 s & \\ 16.10 s \hline
+  8 & 10.31 s & \\ 8.79 s \hline
+  12 & 8.49 s & \\ 5.88 s \hline
+  16 & 5.82 s & \\ 5.81 s \hline
+  20 & 6.54 s & \\ 5.48 s \hline
+  24 & 8.21 s & \\ 125.09 s \hline
 \end{tabular}
 \end{center}
 \caption{読み込みの計測結果}
Binary file paper/master_paper.pdf has changed