Mercurial > hg > Members > masakoha > masa
view 14/February/memo/04th.txt @ 51:d8f499590d82
rename 201* to 1*
author | Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 16 Mar 2014 13:36:04 +0900 |
parents | 2014/February/memo/04th.txt@a9d6badfe378 |
children |
line wrap: on
line source
2014/02/04 (Tue) [ゼミ] ・大きいサイズのファイルに番号をつける ・この番号がintになっていたことによってオーバーフロー ・longに直したら動くようになった ・10GBのデータをmmmapがreadしてるだけ ・メモリをallocateしなければならない mmap の話 ・実メモリをallocateまではしていない ・ページテーブルエントリーしている ・ページテーブルエントリーの大きさは ・virtualメモリの上半分下半分 ・4k(12bit)(最近は8k(52bit)2^52) ・2^50 -> 実メモリには収まらない ・10GBは割り振らないといけない ・10GB / 4k -> 2.5MB (ページテーブルエントリー) ・仮想メモリ上に割り振る(どうせ全部使わないから実メモリ上には割り振らない) ・MMU(メモリ マネジメント ユニット) : 仮想アドレスを物理アドレスに変換する ・ページテーブル : 仮想アドレスと物理アドレスの対応表 ・mmapを分割すると何がいいのか ・メモリよりも大きいファイルが使える ・巨大なmmapには時間がかかる ・ページテーブルエントリーを用意しないといけないから(仮想上に用意するとしても) ・mmapの単位を小さくすればそれをする必要がなくなるから、速くなる ・readよりもmmapを分割する方が速いってことが言える Cerium Taskで時間測定できるようになってたよー 計測しなおし [program] [実験環境] firefly で計測 2*2.66 GHz, HHD 1TB, memory 16GB 読み込んだ file size : 10740996168 Byte (10GB) 読み込んでから Task が終了するまでの時間を測定 divide read で一度に読み込む量 : 4*4096*1024 Byte % ./fileread -file ../regex_mas/10gb.txt -cpu 12 -dr [SPE_ANY] mmap 0.194788 4*4096*1024 Byte 123.563726 4*4096 Byte 391.734989 [IO_0] mmap 0.194788 divide size 4*4096*1024 Byte 4*4096 Byte [結果] [fileread] CPU_TYPE SPE_ANY mode , cpu_num, first(s), cache(s) MMAP 1 D_Read 1 D_Read 2 D_Read 3 D_Read 4 D_Read 5 D_Read 6 D_Read 7 D_Read 8 101.228669 138.571596 D_Read 9 D_Read 10 130.651908 131.169506 D_Read 11 D_Read 12 139.237653 137.285821 CPU_TYPE IO_0 MMAP 1 D_Read 1 D_Read 2 D_Read 3 D_Read 4 D_Read 5 D_Read 6 D_Read 7 D_Read 8 126.854166 120.156284 D_Read 9 D_Read 10 127.547397 129.866984 D_Read 11 D_Read 12 107.594404 125.348336 [regex_mas(BM_search)] CPU_TYPE SPE_ANY mode , cpu_num, first(s), cache(s) MMAP 1 102.260 38.466 MMAP 2 MMAP 3 MMAP 4 MMAP 5 MMAP 6 MMAP 7 MMAP 8 MMAP 9 MMAP 10 MMAP 11 MMAP 12 81.961003 8.134885 D_Read 1 D_Read 2 D_Read 3 D_Read 4 D_Read 5 D_Read 6 D_Read 7 D_Read 8 101.228669 138.571596 D_Read 9 D_Read 10 130.651908 131.169506 D_Read 11 D_Read 12 139.237653 137.285821 CPU_TYPE IO_0 MMAP 1 MMAP 2 MMAP 3 MMAP 4 MMAP 5 MMAP 6 MMAP 7 MMAP 8 116.673263 8.048647 MMAP 9 MMAP 10 75.978887 8.139924 MMAP 11 MMAP 12 81.245613 8.200301 D_Read 1 D_Read 2 D_Read 3 D_Read 4 D_Read 5 D_Read 6 D_Read 7 D_Read 8 126.854166 120.156284 D_Read 9 D_Read 10 127.547397 129.866984 D_Read 11 D_Read 12 107.594404 125.348336