view paper/introduction.tex @ 47:bd1f1aa3825f default tip

fix
author Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
date Thu, 15 May 2014 10:55:23 +0900
parents 6f6f482b9f12
children
line wrap: on
line source

\section{研究背景と目的}

当研究室では、Task 単位で記述する並列プログラミングフレームワーク、Cerium の開発を行っている。

ファイルの読み込み等の I/O を含むプログラムは、読み込み時間が Task の処理時間と比較して非常に重くなる場合が多い。
マルチコアでの並列処理を行ったとしても、I/O の動作の負担が大きければ、I/O を含めたプログラムの処理は高速にならない。

従来の実装のように、ファイルを mmap や read で読み込んでから並列処理をさせると、読み込んでいる時間、他の CPU が動いていないので、並列度が下がってしまう。

本研究では、並列処理時におけるファイル読み込みをどのように実装すれば最高速に動作するかを考慮し、
なおかつ読み込みとそれらに対する処理をプログラム作成者が自由に書けるように設計・実装を行った。
Cerium の例題にある Word Count \cite{yutaka:os} のファイル読み込み部分を様々な実装方法で測定を行い、 
その結果、個々の Task のサイズが大きければ後述するBlocked Read のほうが mmap よりも速度が出た。
しかし、Task のサイズが小さいと Blocked Read と mmap はほとんど同じ速度を計測した。