Ressourcenmanagement in Netzwerken SS06 Vorl. 12, 30.6.06 Friedhelm Meyer auf der Heide Name hinzufügen 1
Prüfungstermine Dienstag, 18.7. Montag, 21. 8. und Freitag, 22.9. Bitte melden sie sich bis zum 11.7. bzw. 15.9. bei Olaf Bonorden an. bono@uni-paderborn.de Name hinzufügen 2
Scenario II Networks have low bandwidth, global objects are small, access is fine grained. typical for parallel processor networks, partially also for the internet. bottleneck: link-congestion task: distribute global objects (maybe dynamically) among processors such that an application (sequence of read/write access to global variables) can be executed using small link-congestion storage overhead is small. - Exploit Locality - Name hinzufügen 3
Scenario II, models network Static Model: Dynamic Model: characteristics of application are represented by read and write frequencies. No à-priori-knowledge about application. Name hinzufügen 4
Basic Strategy Design strategy for trees Produce strategy for target-network by tree embedding Name hinzufügen 5
Static model access frequencies: h r : processors x objects R h w : processors x objects R read write Goal: Efficiently compute placements of objects and routing paths, such that congestion is minimized. How many copies per object? Where? Remark: Optimal Solution for each object yields globally optimal solution. Name hinzufügen 6
Static strategy for trees T 2 V 1 T 1 V 2 g V d T d W T ) = ( h ( z) + h ( z)) ( [ = Congestion (g, v i ) ] i z If g gets copy: Congestion = T i r Place copy on center of gravity, i.e., on processor g that produces minimum congestion. easy to compute. w max i { w ( T )} i Name hinzufügen 7
Static strategy for trees g has copy. Should v get a copy? T 2 T 1 - Gain for Congestion on (v, v): h r (v) - Loss for Congestion on (v, v) : w h w (v) g with w = h (z) Z V w T i V v gets copy, if h r (v) > w h w (v) V Name hinzufügen 8
Static strategy for trees Result: For trees T the above greedy-strategy (applied separately to each object) yields optimal congestion on each link. Parallel time: O ( # objects + diam (T) * deg (T)) Name hinzufügen 9
Dynamic Model Application: Sequence of read / write requests from processors to objects. Each processor decides solely based on its local knowledge. distributed online-strategy Goal: Develop strategy that produces only by a factor c more congestion than an optimal offline strategy. c-competitive strategy (and by a factor m more storage per processor (m, c) competitive strategy ) Name hinzufügen 10
Dynamic strategy for trees v writes to x : v creates (or updates) copy of x in v, and invalidates all other copies (consistency!) v reads x: v reads the closest copy of x and creates copies in every processor on the path back to v. (Remark: Data Tracking in trees is easy!) Name hinzufügen 11
Example and Analysis Consider phase write (v 0 ), read (v 1 ), read (v 2 ),..., read (v k-1 ), write (v k ) v 0 Name hinzufügen 12
Example and Analysis Consider phase write (v 0 ), read (v 1 ), read (v 2 ),..., read (v k-1 ), write (v k ) v 1 v 0 Name hinzufügen 13
Example and Analysis Consider phase write (v 0 ), read (v 1 ), read (v 2 ),..., read (v k-1 ), write (v k ) v 1 v 0 Name hinzufügen 14
Example and Analysis Consider phase write (v 0 ), read (v 1 ), read (v 2 ),..., read (v k-1 ), write (v k ) v 1 v 0 v 2 Name hinzufügen 15
Example and Analysis Consider phase write (v 0 ), read (v 1 ), read (v 2 ),..., read (v k-1 ), write (v k ) v 1 v 0 v 2 Name hinzufügen 16
Example and Analysis Consider phase write (v 0 ), read (v 1 ), read (v 2 ),..., read (v k-1 ), write (v k ) v 1 v 0 v 2 v 3 Name hinzufügen 17
Example and Analysis Consider phase write (v 0 ), read (v 1 ), read (v 2 ),..., read (v k-1 ), write (v k ) v 1 v k v 0 v 2 v 3 Name hinzufügen 18
Example and Analysis Consider phase write (v 0 ), read (v 1 ), read (v 2 ),..., read (v k-1 ), write (v k ) v 1 v k v 0 v 2 v 3 Each strategy has to use each link of the red subtree at least once. Our strategy uses each of these links at most three times. Strategy is 3-competitive for trees Name hinzufügen 19
Other networks Idea: Simulate suitable tree in target-network M. tree embedding: Goals: - small dilation (in order to reduce overall load) - randomized embedding (in order to reduce congestion) Goals contradict?!? Name hinzufügen 20
Tree embedding Randomized, locality preserving embedding! Example: nxn-mesh 0 1 2 3 M v leaves: nodes of the mesh link-capacity: # links leaving the submesh Name hinzufügen 21
Result for meshes The static and dynamic strategy are O (log(n))-competitive in nxn-meshes, w.h.p. Finding an optimal static placement for several variable is NP-hard already on 3x3-meshes. Name hinzufügen 22
Memory Bounds Our strategy may fail, if the processors have to obey memory bounds. Problem: We can no longer treat the global objects separately! Our approach: Use sequential caching strategy in each processor, e.g., LRU or RANDOM are (2,2)-competitive. Try to use our strategy as far as possible. Apply repair routines in case of ejected copies. Name hinzufügen 23
Wir danken für Ihre Aufmerksamkeit! Heinz Nixdorf Institut & Institut für Informatik Fürstenallee 11 33102 Paderborn Tel.: 0 52 51/60 64 66 Fax: 0 52 51/62 64 82 E-Mail: mail@upb.de http://www.upb.de/cs/ag-madh Name hinzufügen 24