view Oct-2013/29th.html @ 0:c9b2998eb516

add slide
author Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
date Tue, 10 Dec 2013 15:25:07 +0900
parents
children
line wrap: on
line source

<!DOCTYPE html>

<!--
  Google HTML5 slide template

  Authors: Luke Mahé (code)
           Marcin Wichary (code and design)
           
           Dominic Mazzoni (browser compatibility)
           Charles Chen (ChromeVox support)

  URL: http://code.google.com/p/html5slides/
-->

<html>
  <head>
    <title>2013-10-29</title>

    <meta charset='utf-8'>
    <script
      src='http://html5slides.googlecode.com/svn/trunk/slides.js'></script>
  </head>
  
  <style>
    /* Your individual styles here, or just use inline styles if that’s
       what you want. */
  .slides article { background-image: none !important; background-color: white; }
    
    
  </style>

  <body style='display: none'>

    <section class='slides layout-regular template-default'>
      
      <!-- Your slides (<article>s) go here. Delete or comment out the
           slides below.-->

      <article>
        <h1>
          Ceriumによる
          <br>
          正規表現の実装
        </h1>
        <p>
          Masataka Kohagura
          <br>
          29th October , 2013
        </p>
      </article>
      
      <article>
        <h3>
        研究目的
        </h3>
        <p>
        本研究室では、Cell用に作られたCeriumにて並列プログラミングを行なっている。Ceriumにて正規表現を実装し、既存の正規表現との処理速度、処理効率がどれだけ良くなるのかを測定する。
        </p>
        <p>
        現在は文字列サーチをBM法(Boyer-Moore String Search Algorithm)にて実装している。
        I/O部分の読み込みの並列化、及びセミグループという、分割したファイルに対して並列処理をさせるような手法によって、効率化を図る。
        </p>
      </article>

      <article>
        <h3>
        今週のしたこと
        </h3>
        <p>
        ・cのreadとlseekの動作確認
        </p>
        <p>
        ・新しい例題の作成:fileread
        readとlseekを使って、Ceriumにて実装
        </p>
      <p>
      ・現在はBM法のI/O部分をfilereadのように書き換えている段階。
      </p>
      </article>

      <article class='smaller'>
      <h3>readとlseekの動作確認(1)</h3>
      <section><pre>
for(i = 0; i < task_num - 1; i++){
    lseek(fd, i * ONE_TASK_READ_SIZE,SEEK_SET);
    read(fd,text,ONE_TASK_READ_SIZE + EXTRA_LENGTH);
    result_printf(i,text);
}

lseek(fd, i * ONE_TASK_READ_SIZE,SEEK_SET);
read(fd,text,ONE_TASK_READ_SIZE);
result_printf(i,text);
      </pre></section>
      <p>・lseekにて i * ONE_TASK_READ_SIZE 分読み込み部分をずらす。<br>
      SEEK_SETはファイルの先頭からを示している。
      </p>
      <p>
      ・readにて読み込んだファイルを ONE_TASK_READ_SIZE + EXTRA_LENGTH 分読み込む。
      </p>
      <p>
      ・セミグループを考慮した実装。
      </p>

      </article>

      <article class='smaller'>
      <h3>readとlseekの動作確認(2)</h3>
      <p>出力結果</p>
      <section><pre>
task size:71
task num:11
-------1--------
This is a test f
-----------------

-------2--------
test file that w
-----------------

・・・

-------10--------
 that will be us
-----------------

-------11--------
 be used
l be us
-----------------
</pre></section>
      </article>

      <article class='smaller'>
      <h3></h3>
      <p>fileread</p>
      ソースにて
      <p>実行結果</p>
      <section><pre>
% ./fileread -cpu 4 -file c.txt
filesize     : 11524674
one_task_size: 16384
task_num     : 704
0 StartTask 276
[task No. 1]
[task No. 4]
[task No. 3]
[task No. 5]
[task No. 8]
[task No. 2]
[task No. 7]
[task No. 9]
・・・
[task No. 700]
[task No. 694]
[task No. 699]
[task No. 701]
[task No. 704]
[task No. 698]
[task No. 703]
[task No. 702]
Time: 0.007602

</pre></section>
      </article>

  </body>
</html>