comparison improvement.tex @ 5:2a0cb8fdecfc

add bb file
author sugi
date Mon, 01 Apr 2013 21:23:04 +0900
parents 715578f76084
children ae099fad4c1e
comparison
equal deleted inserted replaced
4:715578f76084 5:2a0cb8fdecfc
15 Localにおいてはput や peek に沿ったCommand を作成するステージ(Code Segmentが実行されているスレッド)、受け取ったCommandを処理するステージ、Code SegmentにData Segmentをセットするステージの三段のパイプラインで構成されている。これを全て同一のステージにまとめ、Localの環境下においてSEDAを使用せずに処理を行うように変更する。 15 Localにおいてはput や peek に沿ったCommand を作成するステージ(Code Segmentが実行されているスレッド)、受け取ったCommandを処理するステージ、Code SegmentにData Segmentをセットするステージの三段のパイプラインで構成されている。これを全て同一のステージにまとめ、Localの環境下においてSEDAを使用せずに処理を行うように変更する。
16 \subsection{Data Segmentの再構成} 16 \subsection{Data Segmentの再構成}
17 Data Segmentの更新におけるオーバーヘッドを減らす方法としてCeriumでも良好な結果を得ているflipを提案する。 17 Data Segmentの更新におけるオーバーヘッドを減らす方法としてCeriumでも良好な結果を得ているflipを提案する。
18 CeriumにおけるflipはInput Data SegmentとOutput Data SegmentをswapさせるAPIである。(ソースコード \ref{fig:flip}) 18 CeriumにおけるflipはInput Data SegmentとOutput Data SegmentをswapさせるAPIである。(ソースコード \ref{fig:flip})
19 19
20 \begin{table}[tb] 20 \begin{table}[html]
21 \lstinputlisting[label=fig:flip, caption=Ceriumにおけるflip]{source/Cerium_flip.cc} 21 \lstinputlisting[label=fig:flip, caption=Ceriumにおけるflip]{source/Cerium_flip.cc}
22 \end{table} 22 \end{table}
23 {\tt readbuf}がInput Data Segment、{\tt writebuf}がOutput Data Segmentである。 23 {\tt readbuf}がInput Data Segment、{\tt writebuf}がOutput Data Segmentである。
24 Output がinput の書き換えならばswapを行い、2つの領域を入れ替えることで無駄なmemcopyを防ぐことができる。 24 Output がinput の書き換えならばswapを行い、2つの領域を入れ替えることで無駄なmemcopyを防ぐことができる。
25 AliceにおいてもCeriumと同様にflipを実装することで、無駄なデータのコピーを防ぐ。 25 AliceにおいてもCeriumと同様にflipを実装することで、無駄なデータのコピーを防ぐ。