Mercurial > hg > Papers > 2014 > masakoha-thesis > final
changeset 33:c662e7e0d5ed
fix
author | Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 12 Feb 2014 08:39:23 +0900 (2014-02-11) |
parents | 60146652043c |
children | 717d9793d33e |
files | slide/index.html |
diffstat | 1 files changed, 46 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/slide/index.html Tue Feb 11 23:58:22 2014 +0900 +++ b/slide/index.html Wed Feb 12 08:39:23 2014 +0900 @@ -35,30 +35,45 @@ そこで当研究室では、並列プログラミング用フレームワーク、Cerium 及び Cerium Task Manager の開発を行い、提供することによって並列プログラミングを容易にしている。 </p> <p> - 先行研究では Task(分割されたファイルに対して行う処理)の並列化によって、プログラム全体の処理速度は向上している。しかし、ファイル読み込み等の I/O処理 と Task が並列に動作するようにはされていない。 + 先行研究では Task の並列化によって、プログラム全体の処理速度は向上している。しかし、ファイル読み込み等の I/O処理 と Task が並列に動作するようにはされていない。 </p> <p> - 本研究では I/O と Task が並列に動作するような設計、実装によってプログラム全体の並列度、及び処理速度を上げていく。 + 本研究では I/O処理 と Task が並列に動作するような設計、実装によってプログラム全体の並列度、及び処理速度を上げていく。 </p> </article> <article> - <h3>mmapでの実装の問題点</h3> + <h3>Cerium Task Manager について</h3> <ul> <li> - mmap は、C 及び C++ で使用できるAPIであり、ファイルを仮想メモリに mapping する API である。 + 当研究室で開発している並列プログラミングフレームワーク。 </li> <li> - mmap で file を読み込むと、file は実メモリ上にて即座には展開されない。 + PS3 に搭載されている Cell 向けに開発を行っていた。近年では、Mac OS X、Linux でも使用ができるように改良された。 </li> <li> - file が実メモリに展開されるタイミングは、その file に対して何らかの計算を行うときである。<br><br> - →つまり、Task が走るときに初めて実メモリに file を格納するので、I/O と Task が分離できない。 + マルチコア CPU だけでなく、GPGPU での動作もサポート。 </li> </ul> </article> + + <article> + <h3>用語の説明</h3> + <ul> + <li> + Blocked Read Task<br> + ファイルを実メモリに読み込む処理 + </li> + <li> + Task<br> + 分割されたファイルに対して何らかの計算を行う処理<br> + </li> + <li> + </article> + + <!-- <article> <h3>Cerium Task Manager の流れ</h3> @@ -99,14 +114,14 @@ <br> <img src='images/includeIOTask.png' style="height:250px" align="middle"> <ol> - <li>file mapping 後、file をある一定の大きさに分割する</li> + <li>file を実メモリに格納後、file をある一定の大きさに分割する</li> <li>分割した file に対して、それぞれ計算を行う</li> <li>計算した結果を集計する</li> </ol> </article> <article> - <h3>mmap の説明</h3> + <h3>mmap の特徴</h3> <table border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> @@ -114,18 +129,15 @@ <td> <ul> <font size = 5> + <li> + mmap は、C 及び C++ で使用できるAPIであり、ファイルを仮想メモリに mapping する。 + </li> <li> - code がシンプル <br>(memory を自分自身で malloc せず、read を書いて読み込まなくていいため) + code がシンプル <br>(実メモリを自分自身で malloc せず、read を書いて読み込まなくていいため) </li> <li> 実メモリより大きなファイルは開けない </li> - <li> - 実メモリへの呼び出しがOS依存 - </li> - <li> - mmap した領域に対して何らかの処理が行われた時、実メモリに読み込まれる - </li> </font> </ul> </td> @@ -137,6 +149,23 @@ </ul> </article> + <article> + <h3>mmapでの実装の問題点</h3> + <ul> + <li> + mmap で file を読み込むと、file は実メモリ上にて即座には展開されない。 + </li> + <li> + 実メモリへの呼び出しがOS依存。 + </li> + <li> + file が実メモリに展開されるタイミングは、その file に対して何らかの計算を行うときである。<br><br> + →つまり、Task が走るときに初めて実メモリに file を格納するので、I/O と Task が分離できない。 + </li> + </ul> + </article> + + <article> <h3>Blocked Read の設計</h3> <br> @@ -270,7 +299,7 @@ <h3>ベンチマーク(2/2)</h3> <ul> <li> - file が memory に残っていない状態での測定 + file がメモリに残っていない状態での測定 </li> <li> one task size 128KByte