Mercurial > hg > Members > masakoha > masa
annotate Cerium_IO/Cerium_IO_memo.txt @ 102:bb7a0778747b
add 6/4 seminor memo
author | Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 04 Jun 2014 11:26:23 +0900 |
parents | e64b09046d20 |
children |
rev | line source |
---|---|
102
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
1 ------------------------------------------------------------------- |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
2 2014/06/03 (Tue) |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
3 [seminor] |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
4 * アドレス固定しないでも実装できます |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
5 * ceriumは絶対アドレス関係ないから |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
6 * サジェスチョンでしかない、書いてないはず |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
7 * map_fixidで書く必要はない |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
8 * mmapしたアドレスがどこにmappingされるかは置いといて |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
9 * それを正しく渡せればいいのだから、fixidは関係ない |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
10 * どのアドレスを指定しているのか |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
11 * blocked_read |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
12 * 実メモリでないところをmmapしようとしてたら駄目 |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
13 * どこの固定アドレスを指定してるかの問題がある |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
14 * mmapなのにreadtaskを使う意味はあるのかどうか |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
15 * 今までのmmapはどこに書いていた? |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
16 * mmapをダブルバッファリングでやってほしい |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
17 * ダブルバッファリングとは |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
18 * mmapを2つやって、片っ方の仕事が終わったら解放して、 |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
19 * もう一度mmapで割り当てる、これを繰り返す感じ |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
20 * 2つのメモリマップ領域を交互に使う |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
21 * 片っ方が処理を終える頃には片っ方が実行できるみたいな |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
22 * file mmapってのを配列にして |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
23 * 要素1を読んでるタスクに対して読み込みwaitforにひっかけておいて |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
24 * 全部おわったらダブルバッファリングの切り替えを行う |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
25 * どのタイミングでいつだれがダブルバッファリングを動かすのか |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
26 * readのばあいはruntaskにいれたよね |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
27 * vSyncの場合 |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
28 * 単なる待ち合わせの場合 |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
29 画面を書いている間、表示しているみたいな |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
30 表示と書き込みが別にあるってのがダブルバッファリングのきも |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
31 readの場合は、mmapが動かない |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
32 条件分岐があってー・・・。 |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
33 |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
34 * runtask16の場合 |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
35 * readのタスクに対してかけてる |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
36 * メモリマップしたやつにwaitforかけていくけども |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
37 * 全部にかけちゃうと量的に多い |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
38 * readのところにいれてできるのか? |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
39 * できなくはな・・・い・・・? |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
40 * wのtaskのところでアドレスを振わけるのがめんどくさい |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
41 * ダブルバッファリングしてくればこの辺りをいじらなくて済む |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
42 * file -> mmapとは |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
43 * ダブルバッファリングをしているとこいつを直接書き換えられる割と楽になる! |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
44 * file mmap、next mmap用意 |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
45 * 全部終わったらnext mmapに切り替える |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
46 * そのときnext mmapがあくから〜〜〜 |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
47 * create taskしてるときに |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
48 * readの方のwait for(run taskに対するwait for) |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
49 * wait for h exec |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
50 * run task16にかかっている |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
51 * 16ずつやっていく |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
52 * 最後にひっかかるから、そこでバッファを切り替え |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
53 * 問題はlogicを自分で理解して書けるのかどうかって点 |
bb7a0778747b
add 6/4 seminor memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
100
diff
changeset
|
54 |
99 | 55 ------------------------------------------------------------------- |
56 2014/05/11 (Sun) | |
57 [memo] | |
58 void *mmap(void *addr, size_t len, int prot, int flags, int fildes, off_t off); | |
59 | |
60 off はページサイズの整数倍でなければならない。 | |
61 ページサイズの取得は、getpagesize() で調べることができる。 | |
62 (ページサイズの整数倍でないと、error することを確認) | |
63 | |
64 http://www.gadgety.net/shin/tips/unix/ipc/mmap.html | |
65 | |
66 ------------------------------------------------------------------- | |
95
5fb2d057b5d9
add synth memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
92
diff
changeset
|
67 2014/05/08 (Thu) |
5fb2d057b5d9
add synth memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
92
diff
changeset
|
68 [memo] |
5fb2d057b5d9
add synth memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
92
diff
changeset
|
69 IO についての具体的な論文を出したい |
5fb2d057b5d9
add synth memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
92
diff
changeset
|
70 こういうアプリケーションは mmap がいい。fread がいい etc... |
5fb2d057b5d9
add synth memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
92
diff
changeset
|
71 Task の負荷が大きい例題があるといいよね |
5fb2d057b5d9
add synth memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
92
diff
changeset
|
72 |
5fb2d057b5d9
add synth memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
92
diff
changeset
|
73 GPU で word count を走らせた時も計測してみよう |
5fb2d057b5d9
add synth memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
92
diff
changeset
|
74 pread を fread で書き換えたり、Blocked mmap もやってみて、様々な読み込み方法を試してみよう |
5fb2d057b5d9
add synth memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
92
diff
changeset
|
75 |
99 | 76 ------------------------------------------------------------------- |
91 | 77 2014/05/01 (Thu) |
78 [memo] | |
79 Linux のメモリキャッシュをクリアする | |
80 http://futuremix.org/2009/09/clear-linux-memory-cach | |
100
e64b09046d20
add madvise result
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
99
diff
changeset
|
81 %sysctl -w vm.drop_caches=3 |
91 | 82 |
83 vm.drop_caches=index | |
84 index : 内容 | |
85 1 : ページキャッシュ解放 | |
86 2 : ダーティキャッシュ、inode 解放 | |
87 3 : 1 かつ 2 | |
88 | |
89 sysctl について | |
90 | |
91 ページキャッシュとは?? | |
92 ダーティキャッシュとは?? | |
93 | |
94 Linux PC でのスペックの確認方法 | |
95 http://www.asterisk-works.jp/wiki/index.php/Linux_PC%E3%81%A7%E3%81%AE%E3%82%B9%E3%83%9A%E3%83%83%E3%82%AF%E7%A2%BA%E8%AA%8D%E6%96%B9%E6%B3%95 | |
96 | |
97 OS の確認方法 | |
98 cat /etc/redhat-release redhat 系 | |
99 cat /etc/debian_version Debian 系 | |
100 cat /etc/lsb-release Ubuntu | |
101 | |
102 様々なハードウェア情報 | |
103 cat /proc/cpuinfo | |
104 cat /proc/meminfo | |
92
4db3a0797aa7
measure WordCount time in namako
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
91
diff
changeset
|
105 |
4db3a0797aa7
measure WordCount time in namako
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
91
diff
changeset
|
106 計測を Block num division size いろいろ試してみよう |
4db3a0797aa7
measure WordCount time in namako
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
91
diff
changeset
|
107 Solaris でも測ってみたいよね -> mmap がはやいらしい |
4db3a0797aa7
measure WordCount time in namako
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
91
diff
changeset
|
108 |
4db3a0797aa7
measure WordCount time in namako
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
91
diff
changeset
|
109 read size を自動チューニングしたい |
4db3a0797aa7
measure WordCount time in namako
Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
parents:
91
diff
changeset
|
110 どうにかできないかな?? |
95
5fb2d057b5d9
add synth memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
92
diff
changeset
|
111 |
5fb2d057b5d9
add synth memo
Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp>
parents:
92
diff
changeset
|
112 |