Mercurial > hg > Papers > 2022 > ikki-master
view finalSlide/finalSlide.pdf.html @ 34:181eec546ad2
tweak slide
author | ichikitakahiro <e165713@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 12 Feb 2022 23:16:05 +0900 |
parents | ab77a291294d |
children | 668692d92e6e |
line wrap: on
line source
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <title>GearsOSの分散ファイルシステムの設計</title> <meta name="generator" content="Slide Show (S9) v4.1.0 on Ruby 2.6.8 (2021-07-07) [universal.x86_64-darwin21]"> <meta name="author" content="Takahiro Ikki, Shinji Kono" > <!-- style sheet links --> <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> <style> .slide {page-break-after: always;} </style> </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">GearsOSの分散ファイルシステムの設計</font></h1> </div> </td> </tr> <tr> <td> <div align="left"> Takahiro Ikki, 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>GearsOSの分散ファイルシステムの設計と実装を行った <ul> <li>ファイル構造の設計</li> <li>APIの定義</li> <li>遠隔のファイルのアクセスと保存</li> </ul> </li> <li>GearsOS同様の記述単位による構成</li> <li>ファイルは複数のstreamを持ち、通信も行う</li> </ul> </div> <div class='slide'> <!-- _S9SLIDE_ --> <h2 id="gearsos">GearsOS</h2> <ul> <li>CodeGear/DataGearという単位で記述されるOS</li> <li>OSの信頼性の保証と拡張性を目指している</li> <li>ノーマルレベルとメタレベルを分離して記述できる <ul> <li>ユーザーが実装したプログラムをメタレベルから検証する</li> <li>定理支援証明系やモデル検査が用いられる</li> </ul> </li> </ul> </div> <div class='slide'> <!-- _S9SLIDE_ --> <h2 id="codegearとdatagear">CodeGearとDataGear</h2> <ul> <li>CodeGear <ul> <li>実行Codeの単位</li> <li>入力DataGearと出力DataGearを持つ</li> <li>goto文(jump命令)を使って遷移する</li> <li>実行単位は途中で割り込みされない(Atmocity)</li> </ul> </li> <li>DataGear <ul> <li>変数にあたり、構造体の型を持つ</li> <li>ノーマルレベルでは変更されない(関数型プログラミング)</li> </ul> </li> <li>C言語を拡張する形でCbC言語により実装される</li> </ul> </div> <div class='slide'> <!-- _S9SLIDE_ --> <h2 id="codegearとdatagear-1">CodeGearとDataGear</h2> <ul> <li>InputDataGearを受け取って、CodeGearが処理し、OutputDataGearを出力する</li> <li>OutputDataGearは次のCodeGearのInputDataGearとなる</li> </ul> <div style="text-align: center;"> <img src="images/cg-dg.pdf" alt="cgdgの関係図" width="600" /> </div> </div> <div class='slide'> <!-- _S9SLIDE_ --> <h2 id="gearsosにおけるファイル">GearsOSにおけるファイル</h2> <ul> <li>ファイルデータの最小単位はDataGearとなる <ul> <li>任意の構造体で構成できる</li> </ul> </li> <li>ファイルデータとなるDataGearはQueueに格納される</li> </ul> <div style="text-align: center;"> <img src="images/QueueElement.pdf" alt="Queue" width="800" /> </div> </div> <div class='slide'> <!-- _S9SLIDE_ --> <h2 id="gearsosにおけるファイル-1">GearsOSにおけるファイル</h2> <ul> <li>ファイルは複数のQueueを持つ赤黒木である <ul> <li>Queueはkeyでアクセスされる</li> <li>Queueはstreamの役割を持つ</li> </ul> </li> </ul> <div style="text-align: center;"> <img src="images/newGearsFile.pdf" alt="Queue" width="400" /> </div> </div> <div class='slide'> <!-- _S9SLIDE_ --> <h2 id="fileapi">FileAPI</h2> <ul> <li>ファイルのAPIは三種類となる</li> <li>Put <ul> <li>Queueに対してデータを挿入する</li> </ul> </li> <li>Take <ul> <li>Queueからデータを取り出す</li> </ul> </li> <li>Peek <ul> <li>Queueからデータを”読み”だす</li> <li>Takeの先読みに相当する</li> </ul> </li> <li>APIは対象のstreamをkeyで指定する</li> </ul> </div> <div class='slide'> <!-- _S9SLIDE_ --> <h2 id="gearsosの分散ファイルシステム">GearsOSの分散ファイルシステム</h2> <ul> <li>GearsOSのファイルは通信の役割も持つ</li> <li>遠隔上のファイルに対応するproxyを作成して通信を行う <ul> <li>対象ファイルとproxyはsocketで接続される</li> <li>proxyの操作はLocalなファイルと相違なく行える</li> </ul> </li> <li>記録デバイスへの保存も同様な仕組みで行う</li> <li>将来的にAPIと通信プロセスは定理支援証明系Agdaで検証を行う</li> </ul> </div> <div class='slide'> <!-- _S9SLIDE_ --> <h2 id="gearsfsの展望">GearsFSの展望</h2> <ul> <li>ノードの配線を担当するTopologyManagerの実装 <ul> <li>参加表明したノードを任意の形のTopologyへ配線する</li> </ul> </li> <li>複数streamにより制御を行う分散ファイル通信手法としての検証 <ul> <li>Dataのみで通信を行う通信(規格があるプロトコルを用いない)</li> <li>自律分散通信の見通し確保</li> </ul> </li> <li>OSレベルなTransactionを搭載するアプリケーションとしての評価 <ul> <li>GearsOSのCodeGearはTransactionとなる</li> <li>従来ではアプリケーションレベルにより実装される</li> <li>GearsOSによるOSレベルTransactionの信頼性/実用性調査</li> </ul> </li> </ul> </div> <div class='slide'> <!-- _S9SLIDE_ --> <h2 id="ポスターセッション">ポスターセッション</h2> <ul> <li>より詳細なGearsOSのファイル構造</li> <li>ファイルの読み出し</li> <li>proxyを用いたファイル通信の構成解説</li> <li>研究のまとめと課題</li> </ul> </div> </div><!-- presentation --> </body> </html>