Mercurial > hg > Papers > 2016 > kkb-master
comparison evaluation.tex @ 13:a6188b7c7278
revision
author | Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 16 Feb 2016 18:16:04 +0900 |
parents | |
children | 205805e6a6d8 |
comparison
equal
deleted
inserted
replaced
12:2d6755608f67 | 13:a6188b7c7278 |
---|---|
1 \chapter{Gears OS の評価} | |
2 現在の Gears OS には非破壊木構造を Red-Black Tree アルゴリズムに基づいて構築する Persistent Data Tree, CAS を用いてデータの一貫性を保証する TaskQueue, TaskQueue から Task を取得し並列に実行する Worker が実装されている。 | |
3 つまり、依存関係のない処理ならば並列処理することが可能である。 | |
4 | |
5 この章では依存関係のない簡単な例題を用いて Gears OS の評価を行う。 | |
6 | |
7 \section{Twice} | |
8 Twice は与えられた整数配列を2倍にする例題である。 | |
9 | |
10 以下の流れで処理は行われる。 | |
11 | |
12 \begin{itemize} | |
13 \item 配列サイズを元に index, alignment, 配列へのポインタを持つ Data Gear に分割。 | |
14 \item Data Gear を Persistent Data Tree に挿入。 | |
15 \item 実行する Code Gear(Twice) と実行に必要な Data Gear への key を持つ Task を生成。 | |
16 \item 生成した Task を TaskQueue に挿入。 | |
17 \item Worker の起動。 | |
18 \item Worker が TaskQueue から Task を取得。 | |
19 \item 取得した Task を元に必要な Data Gear を Persistent Data Tree から取得。 | |
20 \item 並列の処理される Code Gear(Twice) を実行。 | |
21 \end{itemize} | |
22 | |
23 \newpage | |
24 | |
25 Gears OS 上に Twice を実装し、要素数$2^{17}$*1000 のデータを640個の Task に分割してコア数を変更して測定を行なった。 | |
26 結果は表:\ref{table:twice}, 図:\ref{fig:twice}の通りである。 | |
27 | |
28 %% \begin{table}[!h] | |
29 %% \begin{center} | |
30 %% \small | |
31 %% \begin{tabular}[htpb]{|c||c|c|c|} | |
32 %% \hline | |
33 %% Processor & 64 Tasks(ms) & 640 Tasks(ms) & 6400 Tasks(ms) \\ | |
34 %% \hline | |
35 %% \hline | |
36 %% 1 CPU & 1245 & 1315 & 1973 \\ | |
37 %% \hline | |
38 %% 2 CPUs & 629 & 689 & 1118 \\ | |
39 %% \hline | |
40 %% 4 CPUs & 326 & 366 & 610 \\ | |
41 %% \hline | |
42 %% 8 CPUs & 165 & 189 & 327 \\ | |
43 %% \hline | |
44 %% 12 CPUs & 121 & 111 & 114 \\ | |
45 %% \hline | |
46 %% \end{tabular} | |
47 %% \caption{要素数$2^{17}$*1000 のデータに対する Twice} | |
48 %% \label{table:twice} | |
49 %% \end{center} | |
50 %% \end{table} | |
51 | |
52 \begin{table}[!h] | |
53 \begin{center} | |
54 \small | |
55 \begin{tabular}[htpb]{|c||c|c|c|} | |
56 \hline | |
57 Processor & Time(ms) \\ | |
58 \hline | |
59 \hline | |
60 1 CPU & 1315 \\ | |
61 \hline | |
62 2 CPUs & 689 \\ | |
63 \hline | |
64 4 CPUs & 366 \\ | |
65 \hline | |
66 8 CPUs & 189 \\ | |
67 \hline | |
68 12 CPUs & 111 \\ | |
69 \hline | |
70 \end{tabular} | |
71 \caption{要素数$2^{17}$*1000 のデータに対する Twice} | |
72 \label{table:twice} | |
73 \end{center} | |
74 \end{table} | |
75 | |
76 \begin{figure}[!h] | |
77 \begin{center} | |
78 \includegraphics[scale=0.9]{images/twice_640.pdf} | |
79 \end{center} | |
80 \caption{要素数$2^{17}$*1000 のデータに対する Twice} | |
81 \label{fig:twice} | |
82 \end{figure} | |
83 |