Heurisztikák BitTorrent hálózatok max-min méltányos sávszélesség-kiosztására Dobjánné Antal Elvira és Vinkó Tamás Pallasz Athéné Egyetem, GAMF M szaki és Informatikai Kar Szegedi Tudományegyetem, Informatikai Intézet XXXII. Magyar Operációkutatás Konferencia Cegléd, 07. június 6.
BitTorrent protokoll le web.torrent 56 KB-os darabkák
BitTorrent protokoll le web.torrent 56 KB-os darabkák tracker req. peer lista, intervallum
BitTorrent protokoll le web.torrent 56 KB-os darabkák tracker szimmetrikus kapcsolat TCP/uTP req. peer lista, intervallum peer not choked peer interested
BitTorrent protokoll le web.torrent 56 KB-os darabkák have request, piece, cancel szimmetrikus kapcsolat TCP/uTP tracker req. peer lista, intervallum peer not choked peer interested
BitTorrent közösség PP hálózat 3
BitTorrent közösség PP hálózat torrentek torrent 3 torrent
BitTorrent közösség seeder PP hálózat torrentek torrent 3 torrent
BitTorrent közösség seeder PP hálózat torrentek leecher torrent 3 leecher torrent
BitTorrent közösség seeder PP hálózat torrentek leecher torrent 3 leecher torrent pillanatfelvétel
Gráf reprezentáció u l 3 d 3 u l 3 u 3 l d
Gráf reprezentáció u l 3 d 3 u l 3 u 3 l d rajközi (inter-swarm) szinten vizsgálódunk
Hálózati folyam modell u l 3 d 3 forrás u l 3 nyel u 3 l d
Hálózati folyam modell u l 3 c = u c = l 3 d 3 c = 00 u 3 c = l d c =
Hálózati folyam modell u c = u c = l 3 l 3 G = (V, E, f, c) d 3 c = 00 u 3 c = l d c =
Lehetséges célok Maximális folyam. max f (e) e E D Maxmin méltányosság. max min e E D { f (e) } A sávszélesség-kiosztás akkor max-min méltányos, ha bármely e E D letölt élre igaz, hogy az f (e) folyam csak egy másik e E D letölt él f (e ) folyam értéke csökkentésével növelhet, amelyre f (e ) < f (e).
Lehetséges célok Maximális folyam. max f (e) e E D Maxmin méltányosság. max min e E D { f (e) } A sávszélesség-kiosztás akkor max-min méltányos, ha bármely e E D letölt élre igaz, hogy az f (e) folyam csak egy másik e E D letölt él f (e ) folyam értéke csökkentésével növelhet, amelyre f (e ) < f (e).
Példa: maximális folyam u l 3 c = u c = l 3 d 3 c = 00 u 3 c = l d c =
Példa: maximális folyam u l 3 c = 0 d 3 u c = l 3 c = 00 u 3 c = l d c =
Példa: maxmin méltányosság u.5 l 3.5 c = 0.5 d 3 u c = l 3.5 c = 00 u 3 c = l d c =
Hogyan számoljuk? (Capot és mtsai., 0) Initialization k++ Solve an LP Collect edges into Filtering Fixing n F = E D y Stop
Hogyan számoljuk? (Capot és mtsai., 0) Initialization 7 k++ Solve an LP Collect edges into Filtering F = k = n Fixing F = E D y Stop
Hogyan számoljuk? (Capot és mtsai., 0) Initialization Solve an LP 7 k++ MM k { } max min f (e) e (E D \F ) s.t. capacity constraints ow conservation property n Collect edges into Filtering Fixing F = E D y Stop
Hogyan számoljuk? (Capot és mtsai., 0) Initialization k++ Solve an LP Collect edges 7 into Filtering Φ = {e f (e) = φ k } Fixing n F = E D y Stop
Hogyan számoljuk? (Capot és mtsai., 0) Initialization Solve an LP k++ Is e Φ saturated? Can e Φ be desaturated? Collect edges into Filtering 7 n Fixing F = E D y Stop
Hogyan számoljuk? (Capot és mtsai., 0) Initialization k++ Solve an LP Collect edges into Filtering F = F Φ Fix f (e) e Φ 7Fixing n F = E D y Stop
Hogyan számoljuk? (Capot és mtsai., 0) Initialization k++ Solve an LP Collect edges into Filtering Fixing n F = E D y Stop
Hogyan számoljuk? (Antal és Vinkó, 07) Initialization Solve an LP Solve a MINLP k++ Collect edges into Fixing n F = E D y Stop
Hogyan számoljuk? (Antal és Vinkó, 07) Initialization 7 F := k := k++ Solve an LP Solve MM k, φ := the optimum Solve MaxFlow: max f (e) e E D s.t. f (e) φ e E D + capacity constraints and f.c.p. σ := the optimum Solve a MINLP n Collect edges into Fixing F = E D y Stop
Hogyan számoljuk? (Antal és Vinkó, 07) Initialization mmm () k Solve an LP 7 k++ { } max min f (e) e (E D \F ) s.t. f (e) = σ e E D f (e) φ e (E D \ F ) + capacity constraints and f.c.p. φ k := the optimum Solve a MINLP n Collect edges into Fixing F = E D y Stop
Hogyan számoljuk? (Antal és Vinkó, 07) Initialization mmm () k s.t. max k++ e (E D \F ) e E D f (e) + φ k x e Solve an LP Solve a MINLP 7 Collect edges into e (E D \F ) ( x e ) = σ f (e) φ k e (E D \ F ) f (e) > φ k x e e (E D \ F ) + capacity constraints and f.c.p. x e {0, } n Fixing F = E D y Stop
Hogyan számoljuk? (Antal és Vinkó, 07) Initialization Solve an LP Solve a MINLP k++ Φ = {e f (e) = φ k } Collect edges into 7 Fixing n F = E D y Stop
Hogyan számoljuk? (Antal és Vinkó, 07) Initialization Solve an LP Solve a MINLP k++ F = F Φ Fix f (e) e Φ n Collect edges into 7Fixing F = E D y Stop
Hogyan számoljuk? (Antal és Vinkó, 07) Initialization Solve an LP Solve a MINLP k++ Collect edges into Fixing n F = E D y Stop
Példa u c= u c=3 u 3 c= l 3 l l 3 d 3 c=4 d c=4 d u 4 c= l 3 c=3
MaxMin-r: McCormick átírás Új, folytonos változókat helyettesítünk a bilineáris kifejezések helyére: p e := f (e) x e, ahol e (E D \ F ) : p e R +. Az átírás négy új korlátot igényel minden új változóra: p e f (e) e (E \ F ), () p e δ x e e (E \ F ), () p e f (e) δ ( x e ) e (E \ F ), (3) p e 0 e (E \ F ). (4)
MaxMin-r: El megoldás Dimenzió-csökkentés lehet sége a MI(N)LP megoldása nélkül: φ k = 3
Tesztesetek a BitSoup.org közösségb l származó adatok rendre 500, 000, 500 és 000 torrentet (és a kapcsolódó U, L, D csúcsokat és éleket) tartalmaznak Gráf U D L E E D G 500 6 984 43 40 4 G 000 4 70 7 3 3 533 G 500 8 333 69 65 4 96 G 000 3 670 54 054 7 36
Eredmények min sége a 000-torrentes példán x 0 6 abs(k) 3.5.5 0.5 0 00 400 600 800 000 00 iterations (k) teljes abszolút eltérés az optimális megoldástól (szaggatott: Capot és mtsai., folytonos: Antal és Vinkó)
Eredmények min sége a 000-torrentes példán 0.8 MM (077 iterations) MaxMin r (50 iterations) 0.6 rel(k) 0.4 0. 0 00 400 600 800 000 00 iterations (k) azon letöltési élek aránya, amelyekre a kiosztott és az optimális folyam közti relatív eltérés több, mint öt százalék
Futási id k a 000-torrentes példán x 0 4 3.5 time in seconds.5 0.5 MM (077 iterations) MaxMin r (50 iterations) 00 400 600 800 000 00 iterations futási id másodpercben
Egy iteráció a MaxMin-r algoritmussal x 0 4 3.5 time in seconds.5 0.5 MM (077 iterations) MaxMin r (50 iterations) 00 400 600 800 000 00 iterations futási id másodpercben. iteráció: 46 mp 50. iteráció: 8 905 mp
Egy iteráció + heurisztika u c= u c=3 u 3 c= l 3 l l 3 d 3 c=4 d c=4 d u 4 c= l 3 c=3
Egy iteráció + heurisztika u c= u c=3 u 3 c= l 3 l l 3 d 3 c=4 d c=4 d u 4 c= l 3 c=3
Egy iteráció + heurisztika u c= u c=3 u 3 c= l 3 l l.5.5 d 3 c=4 d c=4 d u 4 c= l 3 c=3
Egy iteráció + heurisztika u c= u c=3 u 3 c= l 3 l l d 3 c=4 d c=4 u 4 c= l 3 d c=3
Egy iteráció + heurisztika Paraméterek: Hány iteráció történjen MaxMin-r-el? Javító út maximális megengedett hossza? Adott élen folyó folyam mekkora hányadát csoportosítsuk át? Honnanhová megengedett az átcsoportosítás: Mekkora különbség legyen a két végpont folyama között? Melyik kvantilisbe tartozzanak? Megállási feltételek: max. iterációszám max. sikertelenség (adott úthosszon belül) max. sikertelenség egymás után az összes letölt él kipróbálása után
Fixálás a gráf struktúrája alapján Mi korlátozza a letölt folyamot? c p,u u l d c= c= l 3 d 3 c=
Fixálás a gráf struktúrája alapján Mi korlátozza a letölt folyamot? c p,u u l < d c= c= l 3 d 3 < c=
Fixálás a gráf struktúrája alapján Mi korlátozza a letölt folyamot? c p,u u l < c= l 3 d 3 < d c= c=
Fixálás a gráf struktúrája alapján Mi korlátozza a letölt folyamot? c p,d u l / d c=/ c= l 3 d 3 / c=/
Fixálás a gráf struktúrája alapján Mi korlátozza a letölt folyamot? c p,d u l / c= l 3 d 3 / / / d c=/ c=/
Fixálás a gráf struktúrája alapján Mi korlátozza a letölt folyamot? c p,d u c= l / l / / / d c=
Fixálás a gráf struktúrája alapján Mi korlátozza a letölt folyamot? c p,d? u c= u c=4 u 3 c=4 l 3 7/3 l 4/3<5 l 6/3 d 3 c= d c=5 d c=
Fixálás a gráf struktúrája alapján Mi korlátozza a letölt folyamot? c p,d? u c= u c=4 u 3 c=4 l 3 7/3 l 4/3<5 l 3 6/3 d 3 c= d c=5 d c=
Fixálás a gráf struktúrája alapján Mi korlátozza a letölt folyamot? c sp,u u c= u c= u 3 c= l 3 l l < d 3 c= d c= d c=
Fixálás a gráf struktúrája alapján Mi korlátozza a letölt folyamot? c sp,u u c= 5/3 u c= u 3 c= l 3 l l < 5/3 5/3 d 3 c= d c= d c=
Fixálás a gráf struktúrája alapján ( f (l, d) min cp,u (l), c p,d (l), c sp,u (l) ) Graph it it+he struct struct+he G 500 3.39% 3.39% 8.63% G 000 37.5% 37.5% G 500 46.3% 46.3% G 000 54.05% 54.07%
Fixálás a gráf struktúrája alapján ( f (l, d) min cp,u (l), c p,d (l), c sp,u (l) ) Graph it it+he struct struct+he G 500 3.39% 3.39% 8.63% G 000 37.5% 37.5% G 500 46.3% 46.3% G 000 54.05% 54.07%
Hivatkozások Hivatkozások Capot, M., Andrade, N., Vinkó, T., Santos, F., Pouwelse, J., Epema, D.: Inter-swarm resource allocation in bittorrent communities. In: Proceedings of IEEE International Conference on Peer-to-Peer Computing (PP 0), pp. 300309 (0) Antal, E., Vinkó, T.: Modeling max-min fair bandwidth allocation in BitTorrent communities. Computational Optimization and Applications, 66:, pp. 383400 (07) Dobjánné Antal E., Vinkó T.: Egy nemlineáris vegyes-egészérték optimalizálási feladat különféle modelljeinek komparatív elemzése. az Alkalmazott Matematikai Lapokban való közlésre elfogadva (07)