view Poster/riono-slide.html @ 59:ac5582e1aa2d

add poster slide
author riono <e165729@ie.u-ryukyu.ac.jp>
date Fri, 18 Feb 2022 03:36:25 +0900
parents
children 5ce28c1f79ca
line wrap: on
line source






<!DOCTYPE html>
<html>
<head>
   <meta http-equiv="content-type" content="text/html;charset=utf-8">
   <title>継続を使用する並列分散フレームワークのUnity実装</title>

   <meta name="generator" content="Slide Show (S9) v4.1.0 on Ruby 2.6.3 (2019-04-16) [universal.x86_64-darwin19]">
   <meta name="author"    content="Ryo Yasuda, Shinji Kono" >

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

<!-- JS -->
<script src="s6/js/jquery-1.11.3.min.js"></script>
<script src="s6/js/jquery.slideshow.js"></script>
<script src="s6/js/jquery.slideshow.counter.js"></script>
<script src="s6/js/jquery.slideshow.controls.js"></script>
<script src="s6/js/jquery.slideshow.footer.js"></script>
<script src="s6/js/jquery.slideshow.autoplay.js"></script>

<!-- prettify -->
<link rel="stylesheet" href="scripts/prettify.css">
<script src="scripts/prettify.js"></script>

<script>
  $(document).ready( function() {
    Slideshow.init();

    $('code').each(function(_, el) {
      if (!el.classList.contains('noprettyprint')) {
        el.classList.add('prettyprint');
      }
    });
    prettyPrint();
  } );

</script>

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

    

</head>
<body>

<div class="layout">
  <div id="header"></div>
  <div id="footer">
    <div align="right">
      <img src="s6/images/logo.svg" width="200px">
    </div>
  </div>
</div>

<div class="presentation">

  <div class='slide cover'>
    <table width="90%" height="90%" border="0" align="center">
      <tr>
        <td>
          <div align="center">
              <h1><font color="#808db5">継続を使用する並列分散フレームワークのUnity実装</font></h1>
          </div>
        </td>
      </tr>
      <tr>
        <td>
          <div align="left">
              Ryo Yasuda, Shinji Kono
              並列信頼研
            <hr style="color:#ffcc00;background-color:#ffcc00;text-align:left;border:none;width:100%;height:0.2em;">
          </div>
        </td>
      </tr>
    </table>
  </div>



<div class='slide'>
  
<!-- _S9SLIDE_ -->
<h2 id="オンラインゲームにおけるデータ通信">オンラインゲームにおけるデータ通信</h2>
<ul>
  <li>ゲームの通信方式にはクライアントサーバ方式とp2p方式がある</li>
  <li>データの安全性や通信環境などでクライアントサーバ方式が主流</li>
  <li>サーバに接続して複数ユーザのデータ同期を実現させているため、低速</li>
  <li>高速に通信を行たい
    <ul>
      <li>並列分散フレームワークChristieがある</li>
      <li>ChristieはLAN上で高速に通信可能</li>
      <li>TopologyManagerを使用することでLAN/WAN上で動的構築される</li>
    </ul>
  </li>
  <li>ゲーム開発で主に使用されているUnityに対応するためにChristieをC#へ書き換えを行う</li>
</ul>



</div>

<div class='slide'>
  <!-- _S9SLIDE_ -->
<h2 id="christie">Christie</h2>
<ul>
  <li>Christieは当研究室で開発している並列分散ライブラリ</li>
  <li>Gearという概念を持っており、DataGearによるTake/Putを使用</li>
  <li>クラスに相当するCodeGearとフィールド変数に相当するDataGearがある</li>
  <li>CodeGearに記述されたDataGearが全て揃う(代入される)とCodeGearの処理が実行される</li>
</ul>



</div>

<div class='slide'>
  <!-- _S9SLIDE_ -->
<h2 id="unityにおけるネットワーク通信">Unityにおけるネットワーク通信</h2>
<ul>
  <li>Unityは世界中で使用されているゲームエンジン</li>
  <li>言語としてC#がサポートされている</li>
  <li>フレーム単位の処理が行われ、シングルスレッドで動作しているため並列処理が苦手</li>
  <li>Send/Recieveなどでは通信を記述しづらい</li>
  <li>Christieにより画面書き換えと非同期な並列処理や通信が可能</li>
</ul>



</div>

<div class='slide'>
  <!-- _S9SLIDE_ -->
<h2 id="cへの書き換える利点">C#への書き換える利点</h2>
<ul>
  <li>ChristieはJavaで実装されている
    <ul>
      <li>C#に書き換えを行うべきか</li>
    </ul>
  </li>
  <li>JavaをC#上で呼び出す方式
    <ul>
      <li>annotationが使用できない</li>
    </ul>
  </li>
  <li>Unityはandroidの開発向けにjarファイルからJavaのメソッドをC#上で呼び出せる機能がある
    <ul>
      <li>stringを使用してリソースディレクトリから検索し、使用</li>
      <li>高速化が求められる並列分散プログラミングには不適</li>
    </ul>
  </li>
  <li>記述方法が似ているため移植が行いやすい</li>
  <li>ThreadPoolをC#で統一できる</li>
</ul>



</div>

<div class='slide'>
  <!-- _S9SLIDE_ -->
<h2 id="cへ書き換えの方針">C#へ書き換えの方針</h2>
<ul>
  <li>C#で記述するChristieをChristie Sharpとする</li>
  <li>Christie設計時の意図や、互換性を保つためChristieと同じ動作をさせる</li>
  <li>ChristieはJava9から開発されており、非推奨なコードやが含まれている</li>
  <li>C#に対応しつつ、処理動作の向上や最適化を行うために以下の変更を行った
    <ul>
      <li>MessagePackのバージョンアップ</li>
      <li>ThreadPoolからTaskへ変更</li>
    </ul>
  </li>
</ul>



</div>

<div class='slide'>
  <!-- _S9SLIDE_ -->
<h2 id="unityの動作">Unityの動作</h2>
<!--デモ?-->



</div>

<div class='slide'>
  <!-- _S9SLIDE_ -->
<h2 id="他の通信ライブラリと比較">他の通信ライブラリと比較</h2>



</div>

<div class='slide'>
  <!-- _S9SLIDE_ -->
<h2 id="まとめ">まとめ</h2>



</div>

<div class='slide'>
  <!-- _S9SLIDE_ -->
<h2 id="今後の課題">今後の課題</h2>


</div>


</div><!-- presentation -->
</body>
</html>