view s6/blank.html @ 5:220243d8ef68

cs/ds
author Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
date Sat, 18 Oct 2014 11:51:53 +0900
parents f23d647ae3fa
children fb400fcfbb3a
line wrap: on
line source

\<!DOCTYPE html>
<html>
  <head>
    <meta charset='utf-8'>
    <title>Seminar</title>

    <!-- 
         Notes on CSS media types used:
         
         1) projection -> slideshow mode (display one slide at-a-time; hide all others)
         2) screen     -> outline mode (display all slides-at-once on screen) 
         3) print      -> print (and print preview)
         
         Note: toggle between projection/screen (that is, slideshow/outline) mode using t-key

         Questions, comments?
         - send them along to the mailinglist/forum online @ http://groups.google.com/group/webslideshow    
      -->

    <!-- style sheet links -->
    <link rel="stylesheet/less" href="themes/blank/projection.css.less"  media="screen,projection">
    <link rel="stylesheet/less" href="themes/blank/screen.css.less"      media="screen">
    <link rel="stylesheet/less" href="themes/blank/print.css.less"       media="print">

    <link rel="stylesheet/less" href="blank.css.less"    media="screen,projection">

    <!-- Notes about less css support
         - all less stylesheets (*.css.less) need to get listed/loaded first (before the less.js script)
         - find more info about less.js online @ http://lesscss.org

         ***** NOTE:
         less.js browser script currently won’t work if you’re using Google Chrome
         and the path to your page starts with "file:///" due to a known Chrome issue.
         (In the developer/js console you will see:
         XMLHttpRequest cannot load file:///../s6/shared/projection.css.less.
         Cross origin requests are only supported for HTTP.)
      -->

    <!-- add js libs (less, jquery) -->
    <script src="js/less-1.1.4.min.js"></script>
    <script src="js/jquery-1.7.min.js"></script>

    <!-- S6 JS -->
    <script src="js/jquery.slideshow.js"></script>
    <script src="js/jquery.slideshow.counter.js"></script>
    <script src="js/jquery.slideshow.controls.js"></script>
    <script src="js/jquery.slideshow.footer.js"></script>
    <script src="js/jquery.slideshow.autoplay.js"></script>
    <script>
      $(document).ready( function() {
      Slideshow.init();
      
      // Example 2: Start Off in Outline Mode
      // Slideshow.init( { mode: 'outline' } );
      
      // Example 3: Use Custom Transition
      // Slideshow.transition = transitionScrollUp;
      // Slideshow.init();

      // Example 4: Start Off in Autoplay Mode with Custom Transition
      // Slideshow.transition = transitionScrollUp;
      // Slideshow.init( { mode: 'autoplay' } );
      } );
    </script>

    <!-- Better Browser Banner for Microsoft Internet Explorer (IE) -->
    <!--[if IE]>
        <script src="js/jquery.microsoft.js"></script>
        <![endif]-->

  </head>
  <body>

    <div class="layout">
      <div id="header"></div>
      <div id="footer">
        <div align="right">
          <img src="images/concurrency.png" width="200">
        </div>
      </div>
    </div>

    <div class="presentation">

      <!-- add slides here; example -->
      
      <div class='slide cover'>
        <table width="90%" height="90%" border="0" align="center">
          <tr>
            <td><div align="center">
                <h1><font color="#808db5">Ceriumの再設計</font></h1>
            </div></td>
          </tr>
          <tr>
            <td><div align="left">
                Yuhi TOMARI
                <script>
                  var date = new Date();
                  var year = date.getFullYear();
                  var month = date.getMonth();
                  var day = date.getDate();
                  
                  var monthList = new Array("January","February","March","April","May","June",
                  "July","August","September","October","November","December");
                  
                  document.write(monthList[month]+" "+day+", "+year);
                  
                </script>
                <hr style="color:#ffcc00;background-color:#ffcc00;text-align:left;border:none;width:300%;height:0.2em;">
            </div></td>
          </tr>
        </table>
      </div>
      
      <div class='slide'>
        <h2>研究目的</h2>
        <ul>
          <li>当研究室ではCS/DSを使用したプログラミングを行っている</li>
          <dd>CS/DSについて</dd>
          <li>CS/DSベースのフレームワーク(?)の開発</li>
          <dd>もっと大きい何かなのでは……?</dd>
          <li>独自のMemory Managementの機構を持つ</li>
          <li>Cerium・Alice・jungleで得られた知見を……</li>
          <li>なぜ新しく設計し直す必要がある?</li>
          <li>名前も考える必要がある?</li>
        </ul>
      </div>

      <div class='slide'>
        <h2>Code/Data Segment Systemの構造</h2>
        <img src="images/new_cerium.png" width="800">
        <p>全てはDSとして扱われる。CSもDSの一種。</p>
        <p>TaskもDSで、CSとDSの組になっている。</p>
      </div>

      <div class='slide'>
        <h2>Temporary/Persistent Space</h2>
        <table>
          <tr>
            <th><img src="images/ts_ps.png" width="400"></th>
            <th>
              <dl align="left">
                <dl align="left">
                  <dt>Temporary Space, Persistent Space</dt>
                  <dd><li>DSはTemporary SpaceかPersistent Spaceに属する</dd>
                  <dd><li>Temporary Spaceはポインタでアクセス。</li>
                    <li>Persistent SpaceはURLでアクセス。つまり、名前を持つ。<br>
                      (Persistent Space に書き込む = DBに登録する)</dd>
                </dl>
              </dl>
            </th>
          </tr>
        </table>
        <dt>Task</dt>
        <dd><li>Input DS, Output DS</li></dd>
        <dd><li>Input DSが全て揃った時点で実行される。そろったかどうかはTaskが持つ。</dd>
        <dd><li>DSには持ってるTaskへのポインタが必要(Cerium、Aliceと同じ)</dd>
        <dd><li>接続って具体的にどうやる?Ceriumで言うcreateTaskに相当する?</dd>
      </div>


      <div class='slide'>
        <h2>Persistent DS</h2>
        <p>
          Persitent DSはkey(URL)を持つ。keyを持ってるので、書き込みは
          <pre class="code">
            goto write(ds);</pre>
          でよい。DS自体がURLを持っているので、goto write(ds, key);とかしなくて良い。
        </p>
        <p>
          ? ds->nextは即座に実行される。ds->nextがなければ、そこで計算は終了。
        </p>
        <p>
          読み込みは、
          <pre class="code">
          goto read(ds);</pre>
          すれば良いだけだが、ds->nextに次に行う演算が入っている。
        </p>
      </div>
      


      <div class='slide'>
        <h2>Meta Space, Core Space</h2>
        <table>
          <tr>
            <th><img src="images/meta_space.png" width="400"></th>
            <th align="left">
              <p>Meta SpeceにはTaskのScheduleを行うScheduler、
                DSの管理を行うDS Manager、Taskの生成を行うTaskManager(Ceriumと同等の機能)がある。
              </p>
            </th>
          </tr>
          
          <tr>
            <th><img src="images/core_space.png" width="400"></th>
            <th align="left">
              <p>CoreSpaceにはCS間の遷移を行うDispatcher、同期制御を行うsynchronizer、
                Memory Spaceの制御を行うSegment Manager(OSやOpenCLにもある)がある。
                Segment ManagerはMemory間のコピーも行う
              </p>
              <p>
                このDispatcher、Segment Manager辺りを担当することになる?
              </p>
            </th>
          </tr>

        </table>
      </div>

      <div class='slide'>
        <h2>Memory Manager</h2>
        <table>
          <tr>
            <th><img src="images/memory_manager.png" width="500"></th>
            <th align="left">
              <p>
                DataSegmentは2^n allocatorで配分される。それらは</p>
                <ul>
                  <li>Physical Memory</li>
                  <li>Cache Memory</li>
                  <li>Parsistent Memory(Disk or Flash)</li>
              </ul>
              <p>
                にMappingされる。
              </p>
              <p>
                Persistent Space はDSの非破壊なBlanced Binary Treeにより構成される(jungle)
              </p>
            </th>
          </tr>

        </table>
      </div>



      <div class='slide'>
        <h2>とりあえず取り掛かれること</h2>
        <p>ここらへん?</p>
        <ul>
          <li>Segment Manager(Memory Allocator)
          <li>Data SegmentのNon Destructive Tree
          <li>TaskManager(Ceriumと同等の機能)
        </ul>
      </div>      
      
    </div> <!-- presentation -->
  </body>
</html>