annotate finalSlide/finalSlide.md @ 39:f78096cb1f69

tweak poster
author ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
date Wed, 16 Feb 2022 01:12:38 +0900
parents 8efb5398e604
children cb0c76ff9de1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
31
411d86a35dd3 remove some file
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 title: GearsOSの分散ファイルシステムの設計
411d86a35dd3 remove some file
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 author: Takahiro Ikki, Shinji Kono
411d86a35dd3 remove some file
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 profile: 琉球大学理工学研究科情報工学専攻
411d86a35dd3 remove some file
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 lang: Japanese
411d86a35dd3 remove some file
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 code-engine: coderay
411d86a35dd3 remove some file
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6
34
181eec546ad2 tweak slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
7
31
411d86a35dd3 remove some file
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8
35
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
9 ## 継続を導入したGearsOS
37
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
10 - 継続を導入した、信頼性の保証を目指したOS開発プロジェクトである
39
f78096cb1f69 tweak poster
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
11 - 関数遷移を用いず、**CodeGear**と**DataGear**と言う単位で記述を行う
37
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
12 - 複数のCodeGearをgoto(jump命令)で遷移することで処理が実行される
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
13 - OS自体の検証はプログラムが膨大な量となるため、テストコードを用いるのは難しい
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
14 - GearsOSではメタレベルの処理からユーザープログラムの検証をする構成となる
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
15 - GearsOSはノーマルレベルとメタレベルを分けて記述できる
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
16 - メタレベルな処理を検証用のものに切り替えることで検証を行う
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
17 - 信頼性の検証には定理支援証明系やモデル検査を用いる
35
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
18
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
19 ## GearsOSのファイルシステム開発
39
f78096cb1f69 tweak poster
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
20 - GearsOSファイルシステムの開発にあたり要件定義を行った
f78096cb1f69 tweak poster
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
21 - ファイルシステムも同様にGear単位で操作を行う
f78096cb1f69 tweak poster
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
22 - 従来ではアプリケーションが持つ機能の一部を取り入れたい
f78096cb1f69 tweak poster
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
23 - Transaction
f78096cb1f69 tweak poster
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
24 - データ操作の整合性保護が施された処理
f78096cb1f69 tweak poster
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
25 - バックアップ
f78096cb1f69 tweak poster
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
26 - 分散フレームワークChristieの仕組みを用いたい
31
411d86a35dd3 remove some file
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27
35
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
28 ## 分散フレームワークChristie
37
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
29 - 当研究室が開発する、Javaで書かれた分散フレームワークである
39
f78096cb1f69 tweak poster
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
30 - GearsOSと似たGearと言うプログラミング概念を持つ
f78096cb1f69 tweak poster
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
31 - ノード間の通信はDataGearの送り合いで構成される
f78096cb1f69 tweak poster
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
32 - Threadは任意のDataGearが揃ったら実行される
f78096cb1f69 tweak poster
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
33 - 通信されるデータを意識しながら分散処理の記述が行える
f78096cb1f69 tweak poster
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
34 - これらの構成は自律分散を目指した設計となっている
35
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
35
36
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
36 ## Christie likeな通信の分散ファイルシステムの提案
39
f78096cb1f69 tweak poster
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
37 - Christieの仕組みを用いた分散ファイルシステムを設計/検証したい
f78096cb1f69 tweak poster
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
38 - ファイルデータとなるDataGearを追いながらプロセスが記述できる
f78096cb1f69 tweak poster
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
39 - データのみの送受信による通信でネットワークの見通しを確保する
f78096cb1f69 tweak poster
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
40 - 自律分散なファイルシステムを目指す
36
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
41 - APIやプロセスの正当性は将来的に定理支援証明系agdaで検証される
35
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
42
39
f78096cb1f69 tweak poster
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
43
37
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
44 ## GearsOSが持つOSレベルなTransactionの実装検証
36
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
45 - GearsOSはAPIレベルでTransactionな記述が行える
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
46 - 従来のアプリケーションでは、ユーザーレベルで実装される
39
f78096cb1f69 tweak poster
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
47 - API自体のTransactionが保証されていれば、アプリケーションの信頼性保証が容易になる
f78096cb1f69 tweak poster
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
48 - GearsOSのAPIレベルで実装されるTransactionの実装と検証を行う
35
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
49
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
50 ## ポスター発表
36
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
51 - GearsOSのChristie likeなファイルシステムの設計と実装
35
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
52 - ファイル構造
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
53 - QueueとTreeを用いる
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
54 - ファイルAPI
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
55 - Put/Take/Peek
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
56 - 複数streamを用いたファイル通信
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
57 - WordCount例題
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
58 - まとめと課題
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
59
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
60 ## この先保留
33
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
61
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
62 ## CodeGearとDataGear
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
63 - CodeGear
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
64 - 実行Codeの単位
35
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
65 - 入力/出力のDataGearを持つ
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
66 - goto文(jump命令)で遷移する
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
67 - 割り込みが行われない(atomicity)
33
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
68 - DataGear
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
69 - 変数にあたり、構造体の型を持つ
35
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
70
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
71 ## CodeGearとDataGearの関係
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
72 - InputDataGearを受け取って、CodeGearが処理し、OutputDataGearを出力する
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
73 - OutputDataGearは次のCodeGearのInputDataGearとなる
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
74 - CodeGear/DataGearはContextというオブジェクトで管理される
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
75 <div style="text-align: center;">
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
76  <img src="images/cg-dg.pdf" alt=cgdgの関係図 width="600">
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
77 </div>
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
78
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
79 ## 研究概要
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
80 - GearsOSの分散ファイルシステムの設計・実装を行った
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
81 - ファイル構造の設計
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
82 - ファイルAPIの設計
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
83 - 複数streamを用いたファイル通信とデバイス保存
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
84 - 最低限のデータを送信することにより通信が行える
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
85 - 分散フレームワークChristieの仕組みを利用している
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
86
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
87
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
88
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
89 ## 本研究の目的
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
90 - 分散フレームワークChristieのファイルシステムへの応用
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
91 - プロトコルを用いず、最低限のデータの送受信で通信を構成する
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
92 - 複雑な分散通信の見通しの改善
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
93 - 自律分散通信を目指した設計
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
94 - OSレベルなTransactionによるファイル通信記述の検証
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
95 - GearsOSではAPIをTransactionとして構成できる
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
96 - 従来のファイルシステムはアプリケーションレベルで実装される
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
97
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
98 ## GearsOS
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
99 - OSの信頼性の向上と拡張性を目指している
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
100 - CodeGear/DataGearという単位で記述される
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
101 - ノーマルレベルとメタレベルを分離して記述できる
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
102 - メタレベル処理を切り替えることで、信頼性検証やデバッグを行う
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
103 - 将来的に本研究の成果物も信頼性の検証を行う
33
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
104
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
105 ## CodeGearとDataGear
35
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
106 - CodeGear
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
107 - 実行Codeの単位
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
108 - 入力/出力のDataGearを持つ
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
109 - goto文(jump命令)で遷移する
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
110 - DataGear
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
111 - 変数にあたり、構造体の型を持つ
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
112
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
113 ## CodeGearとDataGearの関係
33
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
114 - InputDataGearを受け取って、CodeGearが処理し、OutputDataGearを出力する
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
115 - OutputDataGearは次のCodeGearのInputDataGearとなる
35
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
116 - CodeGear/DataGearはContextというオブジェクトで管理される
33
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
117 <div style="text-align: center;">
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
118  <img src="images/cg-dg.pdf" alt=cgdgの関係図 width="600">
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
119 </div>
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
120
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
121
35
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
122 ## 分散フレームワークChristie
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
123 - Javaで記述された分散フレームワーク
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
124 - GearsOSと似たGearという概念を持つ
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
125 - CodeGearManagerと言うノードがCodeGear/DataGearを管理する
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
126 - DataGearはDataGearManagerと言うデータプールに記録される
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
127 - DataGearをノード間で送り合うことで通信を行う
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
128
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
129 ## Christieの通信
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
130 - LocalDGM
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
131 - そのノードに対応するデータプール
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
132 - CodeGearはLocalDGMからDataGearを参照する
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
133 - RemoteDGM
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
134 - 他のノードのLocalDGMに対応するproxy
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
135 - RemoteDGMに書き込むと対応したLocalDGMに送信される
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
136 - DataGearManagerの仕組みをGearsOSのファイルに利用する
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
137
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
138 ## RemoteDGMによる通信
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
139 - 任意の相手のRemoteDGMを作成することで接続が形成される
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
140 - RemoteDGMに書き込むと相手のLocalDGMに書き込みが行われる
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
141 <div style="text-align: center;">
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
142  <img src="images/Remote_DataGearManager.pdf" alt="RemoteDGMの関係図" width="550">
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
143 </div>
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
144
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
145
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
146 ## ポスター発表概要
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
147 - Christieの仕組みを用いたファイルシステム設計/実装の解説
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
148 - QueueとTreeを用いたファイル構造
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
149 - ファイルAPI
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
150 - Put/Take/Peek
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
151 - 複数socketを用いたファイル通信の構成
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
152 - WordCount例題
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
153 - まとめと課題
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
154
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
155
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
156
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
157
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
158 ## まとめ
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
159 - GearsOSの通信を含めたファイルシステムの設計・開発を行った
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
160 - DataGear単位によるファイル操作
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
161 - 複数のstreamを用いた通信の設計
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
162 - 現時点では単一streamによる通信のみ開発済み
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
163 - 課題
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
164 - WordCount例題の再現
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
165 - API/プロセスの信頼性や性能の調査
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
166
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
167 ## GearsOSのファイルシステム
33
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
168 - ファイルデータの最小単位はDataGearとなる
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
169 - ファイルデータとなるDataGearはQueueに格納される
35
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
170 - APIはPut/Take/Peekの三つで操作する
33
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
171 <div style="text-align: center;">
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
172  <img src="images/QueueElement.pdf" alt=Queue width="800">
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
173 </div>
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
174
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
175 ## GearsOSにおけるファイル
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
176 - ファイルは複数のQueueを持つ赤黒木である
35
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
177 - Queueはkeyでアクセスされる
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
178 - Queueはstreamの役割を持つ
33
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
179
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
180 <div style="text-align: center;">
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
181  <img src="images/newGearsFile.pdf" alt=Queue width="400">
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
182 </div>
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
183
35
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
184 ## ファイルによる通信の構成
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
185 - GearsOSのファイルは通信も担当する
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
186 - 通信先のファイルのproxyを生成し通信する
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
187 - proxyに対してデータを書き込むことで通信が行われる
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
188 - WordCount例題を通して設計を行った
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
189 <div style="text-align: center;">
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
190 <img src="images/slideGearsWC.pdf" alt=Queue width="500">
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
191 </div>
34
181eec546ad2 tweak slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
192
33
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
193 ## GearsOSの分散ファイルシステム
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
194 - GearsOSのファイルは通信の役割も持つ
34
181eec546ad2 tweak slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
195 - 遠隔上のファイルに対応するproxyを作成して通信を行う
181eec546ad2 tweak slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
196 - 対象ファイルとproxyはsocketで接続される
181eec546ad2 tweak slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
197 - proxyの操作はLocalなファイルと相違なく行える
181eec546ad2 tweak slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
198 - 記録デバイスへの保存も同様な仕組みで行う
33
ab77a291294d tweak finalSlide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
199
34
181eec546ad2 tweak slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
200 ## GearsFSの展望
181eec546ad2 tweak slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
201 - ノードの配線を担当するTopologyManagerの実装
181eec546ad2 tweak slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
202 - 参加表明したノードを任意の形のTopologyへ配線する
35
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
203 - 将来的にAPIと通信プロセスは定理支援証明系Agdaで検証を行う
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
204 - 複数streamにより制御を行う分散ファイル通信の検証
668692d92e6e rewrite slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
205 - GearsOSによるOSレベルTransactionの信頼性/実用性調査
34
181eec546ad2 tweak slide
ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
206 - 従来ではアプリケーションレベルにより実装される