changeset 59:ac5582e1aa2d

add poster slide
author riono <e165729@ie.u-ryukyu.ac.jp>
date Fri, 18 Feb 2022 03:36:25 +0900
parents c269b11bb810
children 33591d662e9f
files Poster/riono-slide.html Poster/riono-slide.md
diffstat 2 files changed, 291 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Poster/riono-slide.html	Fri Feb 18 03:36:25 2022 +0900
@@ -0,0 +1,224 @@
+
+
+
+
+
+<!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>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Poster/riono-slide.md	Fri Feb 18 03:36:25 2022 +0900
@@ -0,0 +1,67 @@
+title: 継続を使用する並列分散フレームワークのUnity実装
+author: Ryo Yasuda, Shinji Kono
+profile: 並列信頼研
+lang: Japanese
+code-engine: coderay
+
+## オンラインゲームにおけるデータ通信
+* ゲームの通信方式にはクライアントサーバ方式とp2p方式がある
+* データの安全性や通信環境などでクライアントサーバ方式が主流
+* サーバに接続して複数ユーザのデータ同期を実現させているため、低速
+* 高速に通信を行たい
+    * 並列分散フレームワークChristieがある
+    * ChristieはLAN上で高速に通信可能
+    * TopologyManagerを使用することでLAN/WAN上で動的構築される
+* ゲーム開発で主に使用されているUnityに対応するためにChristieをC#へ書き換えを行う
+
+## Christie
+- Christieは当研究室で開発している並列分散ライブラリ
+- Gearという概念を持っており、DataGearによるTake/Putを使用
+- クラスに相当するCodeGearとフィールド変数に相当するDataGearがある
+- CodeGearに記述されたDataGearが全て揃う(代入される)とCodeGearの処理が実行される
+
+## Unityにおけるネットワーク通信
+- Unityは世界中で使用されているゲームエンジン
+- 言語としてC#がサポートされている
+- フレーム単位の処理が行われ、シングルスレッドで動作しているため並列処理が苦手
+- Send/Recieveなどでは通信を記述しづらい
+- Christieにより画面書き換えと非同期な並列処理や通信が可能
+
+## C\#への書き換える利点
+- ChristieはJavaで実装されている
+    - C\#に書き換えを行うべきか
+- JavaをC\#上で呼び出す方式
+    - annotationが使用できない
+- Unityはandroidの開発向けにjarファイルからJavaのメソッドをC\#上で呼び出せる機能がある
+    - stringを使用してリソースディレクトリから検索し、使用
+    - 高速化が求められる並列分散プログラミングには不適
+- 記述方法が似ているため移植が行いやすい
+- ThreadPoolをC\#で統一できる
+
+## C#へ書き換えの方針
+* C\#で記述するChristieをChristie Sharpとする
+* Christie設計時の意図や、互換性を保つためChristieと同じ動作をさせる
+* ChristieはJava9から開発されており、非推奨なコードやが含まれている
+* C\#に対応しつつ、処理動作の向上や最適化を行うために以下の変更を行った
+    * MessagePackのバージョンアップ
+    * ThreadPoolからTaskへ変更
+
+## Unityの動作
+<!--デモ?-->
+
+## 他の通信ライブラリと比較
+
+## まとめ
+
+## 今後の課題
+
+
+
+
+
+
+
+
+
+
+