annotate 2014/January/memo/14th.html @ 13:998578d51c49

add somefiles
author Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
date Tue, 21 Jan 2014 19:16:05 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 ・Ceriumの並列処理向けIOの研究
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 ・研究内容
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 ・マルチコアCPUを活かすためには並列度を向上させていくのがCerium
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 ・ファイル読み込み等のIO部分を並列に実装する部分を作成していく
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 ・IOと並列処理の関係
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 ・この場合のIOもファイル
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 ・1GBのファイルがあったらそれを10個、100個に分割して走らせる
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 ・ファイル分割による並列
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 ・そういったものを自明に走らせる(1つめ)
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 ・読み込みながら処理して、読み込み終わりで処理を終えたい
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 ・読み込みと計算が同時に進む(2つめ)
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 ・読み込み自体を並列する
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 ・それらを実現するライブラリをつくりたい
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 ・正規表現はおまけ
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 ・grepとかwcとか
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 ・したこと
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 ・wcの部分、分割readが出来るようになった
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 ・IOスレッドいまから動かす
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 ・1つのファイルにたいしてmmapつかって
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 ・メモリにtextデータ格納していた
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 ・いまはreadを使って
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 ・1度に読み込むのではなく、
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 ・あるサイズ単位で読み込ませていく?
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 ・読み込みと実際の計算をやる
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 ・分割したファイル自体を並行実行する
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 ・今回は1つしか書いてなかった
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 ・読み込みながらちゃんと並列に計算できているか
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 ・それを調べるには?
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 ・表示した瞬間に測定できなくなる
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 ・IOの並列度はそういうもの
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 ・時間とlogだけで判断しなければならない
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 ・mmapと速度的にどうなのか?
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 ・測定しないと駄目
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 ・readする単位をでかくすれば早くなるはず
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 ・最初に計算をするのが遅くなる
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 ・最初に全部読み込むことになったらバランスが悪くなる
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 ・最初だけ小さくしてあとから大きくするという工夫とか
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
44
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 ・ファイルはcacheに入ってしまう
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 ・cacheの効果がどうなるか
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 ・low read(ファイルを読み込むだけ)これで早くなっているはず
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 ・read rootを回すだけと変わらなかったらそれの原因を確かめないといけない
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
49
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 ・readの代わりにmmapするという方法がある
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 ・最初のタスクの時に同時に投入できる
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
52
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 ・mmapよりreadが早い・・・迷信?
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 ・これがどうなのかを証明していく
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
55
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 ・ファイルサイズをメモリよりも大きくしないといけない
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 ・100GBのデータを作って実験?
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 ・fireflyだったら16GB以上
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 ・自機では4GB以上
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
60
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 ・map reduceでまとめたい
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
62 ・map reduceに似ていると言われる?
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
63
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 ・mmmapの解説
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 ・64bitアーキテクチャ
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 ・read map よりも mmap がよいと言われている
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
67 ・遅い時期があったため、遅いと言われている
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
68 ・コピーしなくてすむからmmapはwriteの方が早いと言われている
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
69
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
70 ・評価(ベンチマーク)
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
71 ・mmap、map reduceの解説をかく
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
72
998578d51c49 add somefiles
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
diff changeset
73 ・卒論は、理解することをアピールするためにかく