P2Pを利用した分散システムの 排他制御機構とその応用

P2Pを利用した分散システムの
排他制御機構とその応用
山之上 卓
鹿児島大学
学術情報基盤センター
P2Pを利用した分散システムの
排他制御機構とその応用
目次
1.
2.
はじめに
P2P技術を利用した排他制御機構
1.
2.
3.
4.
5.
ノード間の結合(データ構造)
アルゴリズム
操作共有型教育支援システムへの応用
性能評価
おわりに
P2Pを利用した分散システムの
排他制御機構とその応用
1. はじめに






分散システム上で、リアルタイムで共同作業をやりたい。
操作の共有が必要になる。
排他制御が必要になる。
マウス操作をすると、通信量が大きくなる。
P2Pを使って、通信量問題を解決しよう。
ついでに、P2Pを排他制御にも利用しよう。
P2Pを利用した分散システムの
排他制御機構とその応用
2. P2P技術を利用した排他制御機構



Tree を使う: Raymond のアルゴリズムなど
Broadcast を使う: 辰元ら(LOTOSコンパイラ)
Fischer のアルゴリズム…これを拡張
repeat await <p=0>;
<p:=i>;
<delay>
until <p=i>;
critical section;
p:=0
Contention 発生を考えると, <delay> は、 O(N) 必要
P2Pを利用した分散システムの
排他制御機構とその応用
2. P2P技術を利用した排他制御機構
2.1 ノード間の結合(データ構造)

2分木を使う。O(logN) で信頼性のある
Broadcast
1
2
4
3
5
6
7
P2Pを利用した分散システムの
排他制御機構とその応用
2. P2P技術を利用した排他制御機構
2.2 アルゴリズム
node 1
when this received x, do
integer p:0..n
if x=0 or p=0 then begin
initialize
p:=x;
p:=0;
broadcast x;
when this request critical section, do
end
if p=0 then begin
/* otherwise, the node p is already
being to enter the critical section */
p:=1;
od
broadcast 1;
critical section;
p:=0;
broadcast 0; /* release */
end
od
P2Pを利用した分散システムの
排他制御機構とその応用
node i (2<=i<=n)
integer p:0..n
initialize
p:=0
when this request critical section,
do
if p=0 then begin
send i to node 1;
end
od
when this received x, do
p:=x;
if p=i then begin
critical section;
p:=0;
send 0 to node 1; /* release */
end
od
P2Pを利用した分散システムの
排他制御機構とその応用
3. 操作共有型教育支援システムへの応用
戸畑-飯塚間(約40Km)で五目並べ
ヘテロジニアスな環境での使用(Linux, Windows)
P2Pを利用した分散システムの
排他制御機構とその応用
4. 性能評価
Client-Server(CS)との比較
Server
(Reflector)
synchronized put(String x)
Client
(node)
Client
(node)
Client
(node)
Client-Server
Client
(node)
P2Pを利用した分散システムの
排他制御機構とその応用
P2Pを利用した分散システムの
排他制御機構とその応用
P2Pを利用した分散システムの
排他制御機構とその応用
P2Pを利用した分散システムの
排他制御機構とその応用
排他制御の比較

実演
P2Pを利用した分散システムの
排他制御機構とその応用
4. おわりに




P2P で排他制御
多くのユーザで、リアルタイムな操作を共有
Client-Server 型と比較
今後の課題…
–
–
–
音
アプリケーション
…