• Tidak ada hasil yang ditemukan

PDF 年度秋学期 修士論文最終試験 構造化p2pオーバーレイネットワークにおける オブジェクトの属性を用いた高速な選択的データ配送

N/A
N/A
Protected

Academic year: 2025

Membagikan "PDF 年度秋学期 修士論文最終試験 構造化p2pオーバーレイネットワークにおける オブジェクトの属性を用いた高速な選択的データ配送"

Copied!
23
0
0

Teks penuh

(1)

オブジェクトの属性を用いた高速な選択的データ配送

Fast Selective Data Dissemination for Structured Peer-to-Peer Overlay Network with Object Attributes

黒宮 佑介(学籍番号: 80924567 ) 政策・メディア研究科 修士課程 2 年

主査:村井 純、副査:斉藤 賢爾・中村 修・江崎 浩

2011/1/18 2010年度秋学期修士論文最終試験

1

(2)

研究背景

• P2P の価値

– 様々なデータの共有をみんなで実現することが可能 – 専用のインフラが無くてもスケールして動作する

• 問題

– 「 P2P は間に合わない」

– データ展開時の需要に対応できない

• データ展開=データをネットワーク上に配置すること

• (ビデオの再生に)待ち時間が発生する

待ち時間なしでデータにアクセスしたい!!

• 目的: P2P を利用したデータ展開の高速化

– クライアント・サーバモデルと同じように「間に合う」

2011/1/18 2010年度秋学期修士論文最終試験

2

(3)

データ展開時における問題点

• オリジネータノード

– データの一次配信者 – データの配信方法

• データの要約を配布

• 要求が来たら転送開始

• 一般ノード

– データの取得者 – データの取得方法

• オリジネータからの広告

• 検索クエリを投げる

2011/1/18 2010年度秋学期修士論文最終試験

3

ボトルネックが発生

広範囲でデータ発見

需要は増え続ける オリジネータノード

! !

ダウンロードの要求からダウンロード開始までの待ち時間が発生する

一般ノード

(4)

キャッシュノード

データ展開時における問題点

• キャッシュノード

– 元ダウンローダー

• 過去にダウンロード

– 現アップローダー

• データを他のノードへ

– 増えるほど効果大だが

• 資源が無駄になるかも

2011/1/18 2010年度秋学期修士論文最終試験

4

負荷分散が動作し始める

一般ノード

キャッシュノードが現れる オリジネータノード

オリジネータが最初にデータを公開する際の待ち時間は不可避

しばらく経つと

(5)

既存のデータ展開高速化手法

• P2P を利用したデータ展開手法

– SkeedCast ( Winny ) (1) – ShareCast (2)

• 配信サーバを静的に設置して配信を行う

– P2P の価値を最大限に活かせない

• 配信サーバという専用のインフラを必要としている

• 個人レベルでの情報配信が困難

2011/1/18 2010年度秋学期修士論文最終試験

5

ShareCast

SkeedCast

(1) SkeedCast: http://www.skeedtools.com/

(2) ShareCast: http://scast.tv/sc2plus/

配信サーバ

P2P

配信サーバ

P2P

(6)

既存のデータ展開:一部 P2P

• 配信サーバ

– 配信専用の計算機

• 複数台用意される

• 分散して設置される

– 特徴

• 巨大なストレージ

• 超高速な回線

• 配信の順序

– オリジネータ  サーバ – サーバ  一般ノード

2011/1/18 2010年度秋学期修士論文最終試験

6

ボトルネックは発生しない

! !

! !

ダウンロードの要求からダウンロード開始までの待ち時間は不要

配信サーバ

一般ノード

オリジネータノード

広範囲でデータ発見

需要は増え続ける

配信サーバでなくても実現可能では?

(7)

本研究の提案手法:全部 P2P

• キャッシュノード

– 動的に選択される

• 配信の順序

– オリジネータノード – キャッシュノード

– 一般ノード

• キャッシュノードになる

2011/1/18 2010年度秋学期修士論文最終試験

7

最初から P2P の負荷分散が働く

! !

! !

待ち時間は発生しない+ノードの需要を事前に満たす=高速化

キャッシュノード

一般ノード

オリジネータノード

データ公開前にキャッシュ

公開は遅延する 遅延が発生

オンデマンド

(8)

提案手法に対する要求

• キャッシュノードの動的な選択と配置

– 適切なキャッシュノードを選出する手法が必要 – キャッシュノードの条件

• ダウンロードを行うノードと近隣となる

• キャッシュするデータを将来ダウンロードする

キャッシュノードになることが不利にならない!

Bottleneck

オリジネータノード オリジネータノード

一般ノード 一般ノード

キャッシュノード 動的に選択

2011/1/18 2010年度秋学期修士論文最終試験

8

(9)

ユーザの振る舞い方に着目

• ユーザの振る舞い方に以下の特徴がある

(ユーザ=ダウンローダー・アップローダー)

1. ある分野に以前から興味を持っている 2. ある分野に含まれるデータを持っている 3. 今後もある分野に興味を持つ

• ユーザの振る舞い方をノードに反映させる

1. ノードは以前からある分野のデータを探している 2. ノードはある分野のデータをダウンロードしている

• ある分野のキャッシュデータを持っている

3. ノードは今後もある分野のデータをダウンロードする

2011/1/18 2010年度秋学期修士論文最終試験

9

出典:コンテンツ類似度に基づくP2Pネットワークの動的再構成

山口 拓也, 松本倫 子, 吉田 紀彦

(10)

• オブジェクト(データ・ノード)は属性のタグを持つ

– データタグ

• ユーザが指定を行う

• 複数個のタグを付加

– ノードタグ

• 各ノードはタグのテーブルを持つ(例)

• ダウンロードしたデータによりタグの優先度を決定する

• 優先度によりノードのタグを選択(上位 N 個、閾値、 etc… )

属性を用いたオブジェクトの紐付け

2011/1/18 2010年度秋学期修士論文最終試験

10

データ

攻殻機動隊 士郎正宗

アニメ

攻殻機動隊 アニメ

ノード

攻機 攻機

攻機 士郎 アニメ 士郎

アニメ アニメ

ダウンロードしたデータ

自動的に決定

タグ 攻殻機動隊 ヱヴァンゲリヲン 化物語 バクマン。

出現数 16 2 3 4

(11)

P2P ネットワークの構成( 1/2 )

• 非構造化 P2P と構造化 P2P

– 非構造化 P2P (例: Winny 、 Share )

• 特徴:広く複製されているデータを見つけることが得意

• 検索:任意のキーワードで検索が可能

– 構造化 P2P (例: Chord, CAN, Pastry, Kademlia )

• 特徴:効率的にどんなデータでも確実に見つける

• 検索:(直接的には)キーによる検索しか可能ではない

• 目的: P2P を利用したデータ展開の高速化

– キャッシュをヒットしやすくする

• ノードをクラスタリングする ・・・非構造化 P2P が得意

– 基本的にどんなデータも検索可能

• 稀尐なデータも検索可能に ・・・構造化 P2P が得意

2011/1/18 2010年度秋学期修士論文最終試験

11

(12)

P2P ネットワークの構成( 2/2 )

• 構造化 P2P に非構造化 P2P の特徴を持ち込む

– クラスタリングした環境において

高速なオブジェクトの発見が可能になる

• データの属性にマッチするノードの発見が容易になる

– 方法: Kademlia

1

を拡張する

• Kademlia の中にグループ化の概念を導入

• Kademlia を用いる理由

1. トポロジ自体が特定の構造を持たない(非構造的)

• Kademlia の構造を適応的に変化させることが可能になる

 ダウンロードを行うノードと近隣となるように構成が可能

2. 経路を複数持つことが可能

• 複数のグループに属する場合に有効に作用する

3. ノードが頻繁に出入りする状況を想定している

• Kademlia 以外の構造化 P2P は専用のメッセージが必要

2011/1/18 2010年度秋学期修士論文最終試験

12

1Kademlia: A Peer-to-peer Information System Based on the XOR Metric

P Maymounkov, D Mazieres - Peer-to-Peer Systems, 2002 - Springer

A

B C

(13)

Kademlia の概要

• 排他的論理和( XOR )を基盤とした構造化 P2P

– ノードの距離は ID の XOR を用いて表現される

• 経路表( k -buckets )を保持する

– k-bucket :距離が等しいノードリスト

• 距離は 2 i ~ 2 (i+1) (0 ≦ i < 160) で表現される( SHA1 )

• 最大で 160 個の k-bucket が作成される

– ノードリストのサイズは k として規定される

(例: k=20 )

• k はシステムレベルの複製値

– ノードの生存時間で降順にソートされる

• 新しいノードよりも既存のノードを優先的に扱う

2011/1/18 2010年度秋学期修士論文最終試験

13

(14)

Kademlia の拡張( G-Kad と命名)

• k-buckets 内のノードの保持方法

– < IP アドレス /UDP ポート / ノード ID >

• 拡張方法

– < IP アドレス /UDP ポート / ノード ID/ タグ 1 ・タグ 2… >

• ノード情報に属性としてタグを付加する

• PUT/GET などの関数に属性を追加するよう拡張した

– PUT Key Value [Attribute]

» Key + Value: Kademlia

にストア

» Key + Value + Attribute: Kademlia

グループにストア

– GET Key [Attribute]

» Key: Kademlia

キー検索(完全一致)

» Key + Attribute: Kademlia

グループキー検索(完全一致)

» Attribute:

キーワードを用いて範囲検索を行う(部分一致)

2011/1/18 2010年度秋学期修士論文最終試験

14

(15)

ノードの選択方法

• 1 個以上同じタグを持つノードを選出

– 得られたリストを一致数で降順にソートする – 同じ一致数のノードが複数存在する場合

• 当該ノード内でのタグの出現頻度で重み付けを行う

• ノードの選択方法

1. タグの一致度 2. タグの優先度

• 同じタグを持つノードがいなかった場合

– 通常の Kademlia の動作となる( ID で検索)

– キャッシュノード選択の場合

 キャッシュノードの作成は行わない

2011/1/18 2010年度秋学期修士論文最終試験

15

(16)

評価方法と評価項目( 1/2 )

• シミュレーションを用いて評価

– 2000 個の仮想ノードを用意する – サンプルデータ

• DVD Top 500 と Amazon.co.jp のタグ

• 評価項目( 1/2 )

– G-Kad の評価

– Kademlia と比較

• 平均メッセージ反復回数

• Churn 耐性

– GET 成功数

2011/1/18 2010年度秋学期修士論文最終試験

16

(17)

評価方法と評価項目( 2/2 )

• 評価項目( 2/2 )

– データ展開の評価

• 優先度はすべて 1 に指定

– キャッシュの効果

• 待ち時間

– データが公開されてから取得するまでの時間

• データ展開の傾向

– 通常のデータ展開と比べて高速化されているか

• キャッシュがローカルにある確率

– 適切なキャッシュノードを選択できたのか

2011/1/18 2010年度秋学期修士論文最終試験

17

(18)

G-Kad の評価( 1/2 )

• 平均メッセージ反復回数

– Churn は 10% から 50% まで 5 段階で評価

• 傾向

– G-Kad の方が平均メッセージ反復回数は多い

– Churn の影響

• G-Kad :大きい

• Kademlia :小さい

• 要因

1. 検索範囲が狭い 2. 検索失敗時の動作

• Kademlia で検索を行う

2011/1/18 2010年度秋学期修士論文最終試験

18

0.06 0.06 0.083 0.129 0.166 0.433 0.475 0.584

0.89

1.151

0 0.2 0.4 0.6 0.8 1 1.2 1.4

0.1 0.2 0.3 0.4 0.5

A ver ag e T ry

Churn

Kademlia

G-Kad

(19)

G-Kad の評価( 2/2 )

• Churn 耐性( GET 成功数)

– Churn は 10% から 50% まで 5 段階で評価

• 傾向

– G-Kad の方が Churn 耐性が高い – Churn の影響

• 大きな変化はなし

• 要因

– Kademlia の複製値

• k

– G-Kad の複製値

• 動的に決定される

• タグ数=複製値

2011/1/18 2010年度秋学期修士論文最終試験

19

1424

1332 1378

1282

1175 1610 1600 1584

1502 1478

0 200 400 600 800 1000 1200 1400 1600 1800

0.1 0.2 0.3 0.4 0.5

GET Sucess

Churn

Kademlia

G-Kad

(20)

データ展開の評価( 1/3 )

• データ転送待ち時間

– キャッシュノードの有無で比較 – キャッシュノードがある方が優位

2011/1/18 2010年度秋学期修士論文最終試験

20

0 10 20 30 40 50 60 70

0:01 0:07 0:13 0:19 0:25 0:31 0:37 0:43 0:49 0:55 1:01 1:07 1:13 1:19 1:25 1:31 1:37 1:43 1:49 1:55

W ai ting Time (min.)

Time Elapsed (min.)

0 5 10 15 20 25 30 35

0:00 0:03 0:06 0:09 0:12 0:15 0:18 0:21 0:24 0:27 0:31 0:34 0:37 0:40 0:43 0:46 0:49 0:52

W ai ting Time (min.)

Time Elapsed (min.)

キャッシュノードなし

キャッシュノードあり

最大待ち時間:

62

総ノード数:

67

最大待ち時間:

29

総ノード数:

28

(21)

データ展開の評価( 2/3 )

• データ展開の傾向

– データ転送開始ノードと完了ノード数を計算 – キャッシュノードがある方が早く収束する

2011/1/18 2010年度秋学期修士論文最終試験

21

0 20 40 60 80 100 120 140

0:00 0:09 0:18 0:27 0:36 0:45 0:54 1:03 1:12 1:21 1:30 1:39 1:48 1:57

Num b er of No d es

Time Elapsed (min.)

Processing Complete

0 20 40 60 80 100 120 140 160 180 200

0:00 0:09 0:18 0:27 0:36 0:45 0:54 1:03 1:12 1:21 1:30 1:39 1:48 1:57

Number of Nodes

Time Elapsed (min.)

Processing Complete

キャッシュノードなし

キャッシュノードあり

102

分で収束

44

分で収束
(22)

データ展開の評価( 3/3 )

• データ転送完了時間

– キャッシュを利用した方が高速に展開可能

• キャッシュヒット率

– 適切なキャッシュノードの選択ができている

2011/1/18 2010年度秋学期修士論文最終試験

22

完了順 通常のデータ展開 キャッシュノードを利用したデータ展開

1 0:27:00 0:43:00

2 0:30:00 0:43:00

3 0:55:00 0:43:00

4 0:57:00 0:43:00

5 0:57:00 0:43:00

キャッシュ数

81

キャッシュヒット数

80

キャッシュヒット率

100%

(23)

まとめ

• 目的

– P2P を利用したデータ展開の高速化

 待ち時間なしで手に入れたい!

• 手法

– P2P ネットワークをタグ毎にグループ化 – 構造化 P2P の Kademlia を拡張( G-Kad )

• 評価

– 設計した P2P ネットワークの性能

メッセージ反復回数は増加するが、

Churn

耐性は同等以上

– キャッシュを事前に配置することの効果

通常のデータ展開と比べて高速にデータ展開が可能である

• 期待される効果

– データ配信プラットフォームとしての

P2P オーバーレイネットワークの応用範囲の拡大

2011/1/18 2010年度秋学期修士論文最終試験

23

Referensi

Dokumen terkait