k-1-x - Webcourse
Transcription
k-1-x - Webcourse
נושאים מתקדמים באלגוריתמים מבוזרים שמואל זקס zaks@cs.technion.ac.il, www.cs.technion.ac.il/~zaks A. Distributed algorithms Example 1: synchony 9 8 7 6 5 4 3 2 1 84 days, days, 12 professor professor Exercise: find a trade-off between no. of days and no. of professors. Example 2: leader election x 4 x 5 x 8 ? x 6 9 Exercise: find a better algorithm to find the maximum, prove correctness and analyze performance. Example 3: faults Impossibility of consensus The Byzantine Generals Problem Example 4: snapshot B. Self Stabilization Example 5: self stabilization clock synchronization shared memory, synchronous xx 8x7x 6 8x 7x 6 8 76 x6x7 8 x6 x7 8 6 Program at each processor p : choose a neighbor x of p ; if t(p) = t(x) then t(p):= t(p)+1; Stabilizing if all start with the same time, however … 7 if t(p) = t(x) then t(p):= t(p)+1; 6 7 6 4 7 Is it stabilizing? no! (may even deadlock) 8 Program at each processor p : choose a neighbor x of p ; if t(p) = t(x) then t(p):= t(p)+1; if t(p) < t(x) then t(p):= t(x); Is it stabilizing? 9 if t(p) = t(x) then t(p):= t(p)+1; if t(p) < t(x) then t(p):= t(x); xx 8x7x 6 8 76 xx 8 7 4 x7 x7 8 xx 7 7 8 Is it stabilizing? yes! 10 if t(p) = t(x) then t(p):= t(p)+1; if t(p) < t(x) then t(p):= t(x); xx 8x7x 6 8 76 xx 8 7 4 x7 x8 9 xx 7 8 9 Is it stabilizing? no! 11 Program at each processor p : choose a fairly; neighbor x of p if t(p) = t(x) then t(p):= t(p)+1; if t(p) < t(x) then t(p):= t(x); Is it stabilizing? yes! Exercise: prove and analyze time until stabilization. 12 C. Networks (optical) p1 lightpaths Valid coloring w( p1 ) w( p2 ) p2 13 Saving a switch: 14 Example 7: min ADMs colors = 2 ADMs = 8 colors=3 ADMs = 7 Exercise: prove NP=hardness 15 Example 8: min ADMs w/grooming colors=3 switches=10 g=2 colors=2 switches=9 16 Example 9: approximation algorithms N: # of lightpaths ALG: #ADMs used by the algorithm OPT: #ADMs used by an optimal solution ALG 2N N OPT ALG 2 x OPT 17 Example 10: min regenerators 3. Regenerators d=2 18 set A = 3 set B = 1 d=2 g=1 19 set A and set B = 4 d=2 g=1 20 set A or set B = 3 d=2 g=1 21 Example 9: on-line algorithms Input arrives one at a time, and a decision is made (and cannot be changed). In the minADM problem: lightpaths arrive one at a time, and need to be colored. Competitive analysis An on-line algorithm A is c-competitive if A(I) c OPT(I) for any input sequence I. (A(I) and OPT(I) are #ADMs used by A and by an optimal offline algorithm OPT.) 22 Any algorithm ≥ 7/4 , even for a ring Case a: 7/4=1.75 23 Case b: Case b1: 6/3 = 2 Case b2: 5/3 = 1.67 any algorithm ≥ 1.67 Exercise: prove any algorithm ≥ 1.75 24 6.5 any algorithm for a path ≥ 3/2 k paths k=12 x=6 k-1 spaces: x between same color k-1-x between different colors 25 So far: any algorithm uses 2k ADMs now – a short path at each gap of diffferent colo (k-1-x such gaps k=12, x=6, 12-1-6=5 Any algorithm uses at least one more ADM for each (ALG uses exactly one) So: any algorithm ≥ 2k + (k-1-x) ADMs 26 So far: use ≥ 2k + (k-1-x) ADMs now – two long paths at each of the k gap of same color Any algorithm must use 2 ADMs for each So: any algorithm ≥ 2k + (k-1-x) + 4x = = 3k+3x-1 ADMs 27 We showed: any algorithm uses ≥ 3k+3x-1 ADMs 2k ADMsOPT: the short paths ≤ 2x ADMsfor the long paths OPT 2k + 2x any algorithm/OPT 3/2 – 1/(2k) 28 Traffic grooming low capacity requests can be groomed into high capacity wavelengths (colors). colors can be assigned such that at most g lightpaths with the same color can share an edge g is the grooming factor #ADMs=12 #ADMs=9 Example 6: min ADM, no grooming Example 7: min ADM, no grooming, online Example 8: min regenerators, no grooming Example 9: min locations for regenerators, no grooming Many parameters, many optimizatoin problems Many algorithmics issues: Algorithms, complexity, On-line, approximability, inapproximability, etc. Many open problems, of practical importance and theoretical interest