minimum ma ks imum de receli yayıncı - abone Üst ağ tasarımı

36
1 Minimum Maksimum Dereceli Yayıncı-Abone Üst Ağ Tasarımı Melih Onuş TOBB Ekonomi ve Teknoloji Üniversitesi, 28 Mayıs 2009 (Minimum Maximum Degree Publish-Subscribe Overlay Network Design)

Upload: jed

Post on 24-Jan-2016

49 views

Category:

Documents


0 download

DESCRIPTION

Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı. ( Minimum Maximum Degree Publish-Subscribe Overlay Network Design ). Melih Onu ş. TOBB Ekonomi ve Teknoloji Üniversitesi, 28 Mayıs 2009. Yayıncı / Abone ( Yay / Abn ). ( Publish/Subscribe (Pub/Sub) ). {A,B,C,E}. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

1

Minimum Maksimum Dereceli Yayıncı-Abone Üst Ağ TasarımıMinimum Maksimum Dereceli

Yayıncı-Abone Üst Ağ Tasarımı

Melih Onuş

TOBB Ekonomi ve Teknoloji Üniversitesi, 28 Mayıs 2009

(Minimum Maximum Degree Publish-Subscribe Overlay Network Design)

Page 2: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

2

Yayıncı / Abone (Yay/Abn)

N1

Abonelik(N1)={B,C,D}N2

{A,B,C,E}

N3

{A,D}

N4

{A,B,X}

N5

{A,X}

Yayın(M1, A)

M1

M1

M1

(Publish/Subscribe (Pub/Sub))

Mesaj Veri Hattı

Page 3: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

3

Yay / Abn Ölçeklenilebilirliği● Geleneksel Yay/Abn sistemleri küçük çaplıdır

– e.g., Isis MDS, TIB, MQSeries, Gryphon

● Yeni nesil sistemler…– Büyük veri merkezleri: Amazon, Google, Yahoo, EBay,

– RSS sistemleri / haber dağıtıcılar, borsa/bankacılık sistemleri

– Web 2.0

● Sistemlerdeki hızlı büyüme– 10,000 bilgisayar, 1000 konu, İnternette dağıtım

(Scalability of Pub/Sub)

Page 4: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

4

Yay / Abn Üst Ağları

N1

{B,C,D}N2

{A,B,C,E}

N3

{A,D}

{A,B,X}

N5

{A,X}

N4

(M1,

A)

(M1, A)

(M1, A)

(M1, A)

Yedek

Page 5: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

5

Yay / Abn Üst Ağ Topolojileri● “İyi” üst ağ basit ve verimli mesaj yönlerdirmesine

izin verir– küçük yönlendirme tabloları, az yedek yük– az gecikme

● Konu-birleşik üst ağ (Topic-connected overlay): her konu için bir birleşik çizge (graph)– yedek bilgisayar yok– uygulamaların coğu konu-birleşik üst ağ kullanır

Page 6: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

6

Konu-Birleşiklik

● Konular B,C,X,E birleşiktir

● Konu A ve D ayrıktır

N1

{B,C,D}N2

{A,B,C,E}

N3

{A,D}

{A,B,X}

N5

{A,X}

N4

Page 7: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

7

Konu-Birleşiklik: Basit Çözüm

N1

{B,C,D}N2

{A,B,C,E}

N3

{A,D}

{A,B,X}

N5

{A,X}

N4

Derece abonelik sayısı ile doğrusal olarak büyümektedir

Page 8: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

8

Derece X Ölçeklenebilirlik

● Performansa olumsuz etki:– Komşuların kullanılabilirliğinin izlenmesi

– TCP bağlantı sinyallerinin izlenmesi

– Her bağlantıdan geçen trafiğin yönetilmesi

– Yüksek paket başlığı yükü (trafik verimli şekilde birleştirilemiyor)

Daha iyi yabılabilir mi?

Page 9: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

9

MinMax-KBÜ Problemi

● Minimum Maximum Dereceli Konu-Birleşik Üst Ağ (MinMax-KBÜ) problemi:– Nokta kümesi V, konu kümesi T, and İlgi: V T

{evet, hayır} veriliyor. Minimum maksimum dereceli konu-birleşik üst ağ kur.

● Ana katkılar: – Konu-birleşik yay / abn sistemlerinde ilk kez

maksimum derece inceleniyor

– Maksimum derece için ilk logaritmik yaklaşım algoritması

Page 10: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

10

İlgili Çalışmalar

● Chockler et al, PODC’07 [CMTV’07]: – Konu-birleşik yay / abn sistemlerinde dereceyi

inceleyen ilk çalışma

– ortalama derece için O(log (n |T|))-yaklaşım

Page 11: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

11

Ortalama x Maksimum Derece

● v1 tüm konulara abone olmuş; her vi, i>1, konular tj , j ≠ i ye abone olmuş

● [CMTV’07] ortalama derece yaklaşım algoritması (b) maksimum derece için lineer yaklaşım sonucu verir

Page 12: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

12

MinMax-KBÜ’nün Zorluğu

● Teorem: MinMax-KBÜ NP-complete’tir.

İspat: Konu-birleşiklik polinomsal zamanda kontrol edilebilir. MinMax-KBÜ problemine d-yaklaşım algoritması varsa Küme-kaplama (Set cover) problemine de d-yaklaşım algoritması vardır.

● Teorem: MinMax-KBÜ için O(log n)-yaklaşım algoritması yoktur, P = NP değilse.

Page 13: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

13

MinMax-KBÜ’ye yaklaşım

● Fikir: – Abonelik çakışmaları kullanılacak– Kesişimi çok olan iki noktayı birleştirmek, birden çok

konunun birleşmesini sağlar

Page 14: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

14

Üst Ağ Tasarım Algoritması (ÜTA)

● Başlangıç: çizgede hiç kenar yok

● Her yinelemede: maksimum dereceyi en az artıran kenarlardan en fazla parçayı birleştiren kenarı ekle

● Bitiş: her konu için bir birleşik parça olduğunda

(Overlay Design Algorithm (ODA))

Page 15: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

15

Üst Ağ Tasarım Algoritması

N1

{B,C,D}

N2

{A,B,C,E}

N3

{A,D}

{A,B,X}

N5

{A,X}

N4

KonuParça Sayısı

A 4

B 3

C 2

D 2

X 2

E 1

Page 16: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

16

Üst Ağ Tasarım Algoritması

KonuParça Sayısı

A 3

B 2

C 2

D 2

X 2

E 1

N1

{B,C,D}

N2

{A,B,C,E}

N3

{A,D}

{A,B,X}

N5

{A,X}

N4

Page 17: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

17

Üst Ağ Tasarım Algoritması

N1

{B,C,D}

N2

{A,B,C,E}

N3

{A,D}

{A,B,X}

N5

{A,X}

N4

KonuParça Sayısı

A 3

B 2

C 2

D 1

X 2

E 1

Page 18: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

18

Üst Ağ Tasarım Algoritması

N1

{B,C,D}

N2

{A,B,C,E}

N3

{A,D}

{A,B,X}

N5

{A,X}

N4

KonuParça Sayısı

A 3

B 1

C 1

D 1

X 2

E 1

Page 19: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

19

Üst Ağ Tasarım Algoritması

N1

{B,C,D}

N2

{A,B,C,E}

N3

{A,D}

{A,B,X}

N5

{A,X}

N4

KonuParça Sayısı

A 2

B 1

C 1

D 1

X 1

E 1

Page 20: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

20

Üst Ağ Tasarım Algoritması

N1

{B,C,D}

N2

{A,B,C,E}

N3

{A,D}

{A,B,X}

N5

{A,X}

N4

KonuParça Sayısı

A 1

B 1

C 1

D 1

X 1

E 1

Maksimum derece 2 vs. 8 her konuya çember için!

Page 21: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

21

Yaklaşım Garantisi

● Theorem: ÜTA’nın bulduğu çizgenin maximum derecesi O(log(n |T|))*OPT ’ dir.

İspat: – Öncelikle algoritmanın greedy eşleştirme (matching)

gibi çalıştığı gösterilir– Bizim algoritmanın kurduğu çizge ayrıştırılmış optimal

çizge ile ilişkilendirilir– Greedy Küme Kaplama Algoritmasının yaklaşım

ispatına benzer bir ispat kullanılır

Page 22: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

22

Yaklaşım Garantisi

● Lemma. Algoritmanın kullandığı herbir eşleştirme Si kalan toplam parça sayısını optimal eşleştirmenin en az 1/3 ’ü kadar azaltır.

● Çalışma Zamanı: O(n4|T |)

Page 23: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

23

Deneysel Sonuçlar: Max Derece

Maksimum Derece#bilgisayar: 100#konu: 10Düzgün dağılım

● GM: konu-birleşik yay-abn sistemi ortalama derece O(log n) yaklaşım algoritması [CMTV’07]

Page 24: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

24

Deneysel Sonuçlar:Ortalama Derece

Ortalama Derece#konu: 100#abonelik: 10Düzgün dağılım

Page 25: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

25

Deneysel Sonuçlar: Max Derece II

Maksimum Derece#konu: 100#bilgisayar: 100Düzgün Dağılım

Page 26: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

26

Sabit Çaplı Üst Ağlar

● Konu-birleşik, az ortalama dereceli ve çapı her konu için 2 olan üst ağ kurulum heuristikleri – Deneysel sonuç

Page 27: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

27

Gelecekte Yapılacaklar

● Dinamik durum: – Bilgisayar ayrılması/katılması,

– Konu ilgisi değişimi

● Dağıtık algoritma:– İlgi fonksiyonunun bir kısmını bilme durumu

– dinamik senaryo

● Diğer yay-abn üst ağ kurulum problemleri

Page 28: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

28

Sorular?

Page 29: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

29

Page 30: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

30

Page 31: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

31

ODA Running Time

● O(|V |4|T |)– At most |V|2 iterations

– At most |V|2 edges inspected at each iteration

– At most |T| steps to inspect an edge

Page 32: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

32

Constant Diameter Overlay Algorithm

● The idea: adding stars– Make topics connected with star structures

● Constant Diameter Overlay Design Algorithm:– Start from a singleton connected component for each (v, t)

V T– At each iteration:

• Add a star which connects maximum number of nodes, • Remove topics which are connected by the star

– Stop, once there is a single connected component for each topic

Number of neighbors of node u:

Page 33: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

33

Experimental Results

Average Node Degree#topics: 100#nodes: 100Uniform distribution

Only 2.3 times more edge

Page 34: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

34

Conclusions

● Formal study of the problem of designing efficient and scalable overlay topologies for pub/sub

● Defined the problem (MinMax-TCO) capturing the cost of constructing topic-connected overlays– NP-Completeness, polynomial approximation,

inapproximability results

● Empirical evaluation showed effectiveness of our approximation algorithm on practical inputs

● Defined the problem (CD-TCO), empirical results

Page 35: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

35

● Theorem: MinMaxTCO is NP-complete.

Proof: Topic connectivity is verifyable in polynomial time. We basically show that any d-approximation to the MinMax-TCO problem implies a d-approximation to Set Cover.

● Corollary. One cannot approximate MinMax-TCO in o(log n) unless P=NP

Page 36: Minimum Ma ks imum De receli Yayıncı - Abone Üst Ağ Tasarımı

36

ODA Running Time

● O(|V|4|T|)– At most |V|2 iterations

– At most |V|2 edges inspected at each iteration

– At most |T| steps to inspect an edge

● Can be optimized to run in O(|V|2 |T|)– For each e V V, weight(e) = the number of

connected components merged by e

– At each iteration, output the heaviest edge and adjust the other edge weights accordingly

– Stop once there are no more edges with weight > 0