comparison paper/evaluation.tex @ 75:da3b145398a4

Fix
author Tatsuki IHA <innparusu@cr.ie.u-ryukyu.ac.jp>
date Fri, 09 Feb 2018 15:27:41 +0900
parents ed207d6c511a
children 44f592c43324
comparison
equal deleted inserted replaced
74:ba0d87600522 75:da3b145398a4
177 Go 言語 は Google社が開発しているプログラミング言語である。 177 Go 言語 は Google社が開発しているプログラミング言語である。
178 Go 言語によるTwice の実装例を\coderef{go}に示す。 178 Go 言語によるTwice の実装例を\coderef{go}に示す。
179 179
180 \lstinputlisting[caption=Go 言語での Twice, label=code:go]{./src/go.go} 180 \lstinputlisting[caption=Go 言語での Twice, label=code:go]{./src/go.go}
181 181
182 Go は並列実行を ``go function(argv)'' のような構文で行う。 182 Go 言語は並列実行を ``go function(argv)'' のような構文で行う。
183 この並列実行を goroutine と呼ぶ。 183 この並列実行を goroutine と呼ぶ。
184 184
185 Go は goroutin 間のデータ送受信をチャネルというデータ構造で行う。 185 Go 言語は goroutin 間のデータ送受信をチャネルというデータ構造で行う。
186 チャネルによるデータの送受信は ``\textless-'' を使って行われる。 186 チャネルによるデータの送受信は ``\textless-'' を使って行われる。
187 例えばチャネルのデータ構造であるchannel に対して ``channel \textless- data'' とすると、 data を channel に送信を行う。 187 例えばチャネルのデータ構造であるchannel に対して ``channel \textless- data'' とすると、 data を channel に送信を行う。
188 ``\textless- channel'' とすると、 channel から送信されたデータを1つ取り出す。 188 ``\textless- channel'' とすると、 channel から送信されたデータを1つ取り出す。
189 channel にデータが送信されていない場合はchannel にデータが送信されるまで実行をブロックする。 189 channel にデータが送信されていない場合はchannel にデータが送信されるまで実行をブロックする。
190 Go 言語はチャネルにより、データの送受信が簡潔に書ける。 190 Go 言語はチャネルにより、データの送受信が簡潔に書ける。
192 192
193 Gears OS では goroutine は par goto 文とほぼ同等に扱うことが出来る。 193 Gears OS では goroutine は par goto 文とほぼ同等に扱うことが出来る。
194 また、Code Gear は par goto 文で書き出す Output Data Gear を指定して実行するため、Data Gear の書き出し元が推測しやすい。 194 また、Code Gear は par goto 文で書き出す Output Data Gear を指定して実行するため、Data Gear の書き出し元が推測しやすい。
195 195
196 Go 言語での OpenMP と同様に Twice を実装しGears OS と比較を行う。 196 Go 言語での OpenMP と同様に Twice を実装しGears OS と比較を行う。
197 こちらも実行環境は \tabref{powerEdge}、 $2^{27}$ のデータに対して行い、Gears OS Go言語両方とも配列を64個のTask、 goroutineに分割して並列実行を行った。 197 こちらも実行環境は \tabref{powerEdge}、 $2^{27}$ のデータに対して行い、Gears OS、Go 言語両方とも配列を64個のTask、 goroutineに分割して並列実行を行った。
198 198
199 \newpage 199 \newpage
200 200
201 \begin{figure}[htbp] 201 \begin{figure}[htbp]
202 \begin{center} 202 \begin{center}