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