Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CSCI 761 // Distributed computation and reconfi...

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →

CSCI 761 // Distributed computation and reconfiguration in actively dynamic networks

Michail, O., Skretas, G. & Spirakis, P.G. Distributed computation and reconfiguration in actively dynamic networks. Distrib. Comput. 35, 185–206 (2022). https://doi.org/10.1007/s00446-021-00415-5

(For easy access, here is the Springer link)
https://link.springer.com/article/10.1007/s00446-021-00415-5

Avatar for Peter Kos

Peter Kos

April 25, 2022

Other Decks in Research

Transcript

  1. Overview • Recon f igurable networks • Cost measurement •

    3 Transformation algorithms • Overview, Analysis, Runtime • Impact • Summary
  2. Asynchronous LOCAL, but with two 💖 fun 💖 features: 1.

    Nodes can activate connections to new neighbors locally 2. Nodes can eliminate some of their existing connections
  3. What is our goal? What is are our goals? Gs

    → Gf Solve the depth-d tree problem! where is a rooted tree of depth Gf d is of (poly)log diameter Gf & via (poly)log time algorithms
  4. What is are our goals? Gs → Gf Elect a

    unique leader 1) 2) What is our goal? where is a rooted tree of depth Gf d
  5. What is are our goals? Gs → Gf Elect a

    unique leader where is a rooted tree of depth Gf d
  6. What is are our goals? Gs → Gf Elect a

    unique leader R where is a rooted tree of depth Gf d =“wreath” = ring + spanning binary tree Gs
  7. What is are our goals? Gs → Gf Elect a

    unique leader R =“wreath” = ring + spanning binary tree Gs R more than one total ! where is a rooted tree of depth Gf d
  8. Gs → Gf Elect a unique leader R where is

    a rooted tree of depth Gf d R R R
  9. What is are our goals? Gs → Gf Elect a

    unique leader R =“wreath” = ring + spanning binary tree Gs R more than one total ! where is a rooted tree of depth Gf d
  10. What is are our goals? Gs → Gf Elect a

    unique leader R where is a rooted tree of depth Gf d =“wreath” = ring + spanning binary tree Gs R more than one total !
  11. What is are our goals? Gs → Gf Elect a

    unique leader 1) 2) What is our goal? where is a rooted tree of depth Gf d
  12. separate analysis for later (polylog runtime & polylog diameter…) (not

    necessarily runtime & message complexity…) separate analysis for later
  13. separate analysis for later (polylog runtime & polylog diameter…) (not

    necessarily runtime & message complexity…) separate analysis for later (deterministic & bounded-degree runtime…) separate analysis for later
  14. We have problems? 1. Nodes can activate connections to new

    neighbors locally 2. Nodes can eliminate some of their existing connections
  15. We have problems? 1. Nodes can activate connections to new

    neighbors locally 2. Nodes can eliminate some of their existing connections This is expensive…
  16. We have problems? 1. Nodes can activate connections 2. Nodes

    can eliminate some of the This is expensive… Assume a cost of 1 for each connection Θ(n2) cost for clique formation
  17. We have problems? 1. Nodes can activate connections to new

    neighbors locally 2. Nodes can eliminate some of their existing connections This is expensive…
  18. 3 cost measures Total number of edge activations Max number

    of activated edges in any round Max activated degree of a node in any around 1 1 1 3 0
  19. Total number of edge activations Max number of activated edges

    in any round Max activated degree of a node in any around 1 1 1 3 0 T ∑ i=1 |Eac (i)| T is runtime max i∈[T] |E(i) \ E(1)| max i∈[T] Δ(D(i) \ D(1)) Graph di ff erence is de f ined as the di ff erence of their edge sets is max degree of Δ(G) G
  20. Total number of edge activations Max number of activated edges

    in any round Max activated degree of a node in any around 1 1 1 3 0 Trying to optimize the worst-case number of activations per round
  21. 3 cost measures Total number of edge activations Max number

    of activated edges in any round Max activated degree of a node in any around 1 1 1 3 0
  22. De f initions gadget network - something close to and

    that is helpful in reaching Gf Gf Gs → Gf
  23. De f initions star graph (gadget) spanning star ( )

    Gf gadget network - something close to and that is helpful in reaching Gf Gf Gs → Gf
  24. De f initions committee - subgraph that makes up Gs

    Gs → Gf means activated with in the previous round C(u) ↔ C(v) u v is a committee led by node C(u) u (this is my notation)
  25. Algo 1 Gadget: star graph : spanning star Runtime: Total

    edge act: Final diameter: 2 Gf O(logn) O(n logn) GraphToStar Algo 2 Gadget: wreath : binary spanning tree Runtime: Total edge act: Final diameter: Gf O(log2n) O(n log2n) O(logn) GraphToWreath Algo 3 GraphToThinWreath Gadget: wreath : binary spanning tree Runtime: Total edge act: Final diameter: Gf o(log2n) O(n log2n) O(logn) Runtime: ……………………… o(log2n)
  26. graph g star ct: er: 2 logn) O(n logn) ar

    Algo 2 Gadget: wreath : binary spanning tree Runtime: Total edge act: Final diameter: Gf O(log2n) O(n log2n) O(logn) GraphToWreath Algo 3 GraphToThinWreath Gadget: wreath : binary spanning tree Runtime: Total edge act: Final diameter: Gf o(log2n) O(n log2n) O(logn) Runtime: …………………………. o(log2n) O ( log2n loglogkn)
  27. Algo 1 Gadget: star graph : spanning star Runtime: Total

    edge act: Final diameter: 2 Gf O(logn) O(n logn) GraphToStar Algo 2 Gadget: wreath : binary spanning tree Runtime: Total edge act: Final diameter: Gf O(log2n) O(n log2n) O(logn) GraphToWreath Algo 3 GraphToThinWreath Gadget: wreath : binary spanning tree Runtime: Total edge act: Final diameter: Gf o(log2n) O(n log2n) O(logn) Runtime: ……………………… o(log2n)
  28. Algo 1 Gadget: star graph : spanning star Runtime: Total

    edge act: Final diameter: 2 Gf O(logn) O(n logn) GraphToStar Algo 2 Gadget: wreath : binary spanning tree Runtime: Total edge act: Final diameter: Gf O(log2n) O(n log2n) O(logn) GraphToWreath Algo 3 GraphToThinWreath Gadget: wreath : binary spanning tree Runtime: Total edge act: Final diameter: Gf o(log2n) O(n log2n) O(logn) Runtime: ……………………… o(log2n) maintains bounded max degree throughout runtime
  29. Algo 1 Gadget: star graph : spanning star Runtime: Total

    edge act: Final diameter: 2 Gf O(logn) O(n logn) GraphToStar Algo 2 Gadget: wreath : binary spanning tree Runtime: Total edge act: Final diameter: Gf O(log2n) O(n log2n) O(logn) GraphToWreath Algo 3 GraphToThinWreath Gadget: wreath : binary spanning tree Runtime: Total edge act: Final diameter: Gf o(log2n) O(n log2n) O(logn)
  30. Algo 1 GraphToStar Each committee is a star graph with

    leader C(u) u Leader of each committee is node with greatest UID in committee uC UID of is the UID of C(u) u Winning committee is C(umax )
  31. Algo 1 GraphToStar Selection Merging Pulling Waiting Termination Every node

    starts as leader, forms committee n = 1 In every phase, executes in one of the following modes, starting with selection mode C(u)
  32. Algo 1 GraphToStar Selection If and are neighboring s.t. ,

    and is not in pulling mode, C(u) C(z) UIDz > UIDu C(z) Merging Pulling Waiting Termination selects by doing the following: C(u) C(z) Activate with potential neighbor in E(u, e1 ) C(v) Activate , and deactivate E(u, v) E(u, e1 ) If did not select, then and form a pair and enters merging mode. C(v) C(u) C(v) C(u) no diagram
  33. Algo 1 GraphToStar Selection Merging Pulling Waiting Termination Now, the

    leader of has an edge with the leader of C(u) C(v) Each follower x in activates edge and deactivates C(u) xv xu and are now merged into , where is a star rooted at spanning all nodes C(u) C(v) C(v) C(v) v V(C(u)) ∪ V(C(v))
  34. Algo 1 GraphToStar Selection Merging Pulling Waiting Termination Now, the

    leader of has an edge with the leader of C(u) C(v) Each follower x in activates edge and deactivates C(u) xv xu and are now merged into , where is a star rooted at spanning all nodes C(u) C(v) C(v) C(v) v V(C(u)) ∪ V(C(v)) u v
  35. Algo 1 GraphToStar Selection Merging Pulling Waiting Termination Now, the

    leader of has an edge with the leader of C(u) C(v) Each follower x in activates edge and deactivates C(u) xv xu and are now merged into , where is a star rooted at spanning all nodes C(u) C(v) C(v) C(v) v V(C(u)) ∪ V(C(v)) u v
  36. Algo 1 GraphToStar Selection Merging Pulling Waiting Termination Now, the

    leader of has an edge with the leader of C(u) C(v) Each follower x in activates edge and deactivates C(u) xv xu and are now merged into , where is a star rooted at spanning all nodes C(u) C(v) C(v) C(v) v V(C(u)) ∪ V(C(v)) u v
  37. Algo 1 GraphToStar Selection Merging Pulling Waiting Termination Now, the

    leader of has an edge with the leader of C(u) C(v) Each follower x in activates edge and deactivates C(u) xv xu and are now merged into , where is a star rooted at spanning all nodes C(u) C(v) C(v) C(v) v V(C(u)) ∪ V(C(v)) u v
  38. Algo 1 GraphToStar Selection Merging Pulling Waiting Termination Given and

    C(u) ↔ C(v) C(v) ↔ C(w) If leader of did not activate in previous phase { enters merging mode } else if and is now empty { activates enters merging mode } else { activates , deactivates remains in pulling mode } C(v) C(u) C(u) ↔ C(v) C(v) u uw C(u) u uw uv C(u) u w v
  39. Algo 1 GraphToStar Selection Merging Pulling Waiting Termination Given and

    C(u) ↔ C(v) C(v) ↔ C(w) u w v umerge If leader of did not activate in previous phase { enters merging mode } else if and is now empty { activates enters merging mode } else { activates , deactivates remains in pulling mode } C(v) C(u) C(u) ↔ C(v) C(v) u uw C(u) u uw uv C(u)
  40. Algo 1 GraphToStar Selection Merging Pulling Waiting Termination Given and

    C(u) ↔ C(v) C(v) ↔ C(w) u w v BREAK umerge If leader of did not activate in previous phase { enters merging mode } else if and is now empty { activates enters merging mode } else { activates , deactivates remains in pulling mode } C(v) C(u) C(u) ↔ C(v) C(v) u uw C(u) u uw uv C(u)
  41. Algo 1 GraphToStar Selection Merging Pulling Waiting Termination Given and

    C(u) ↔ C(v) C(v) ↔ C(w) u w v If leader of did not activate in previous phase { enters merging mode } else if and is now empty { activates enters merging mode } else { activates , deactivates remains in pulling mode } C(v) C(u) C(u) ↔ C(v) C(v) u uw C(u) u uw uv C(u)
  42. Algo 1 GraphToStar Selection Merging Pulling Waiting Termination Given and

    C(u) ↔ C(v) C(v) ↔ C(w) u w v umerge If leader of did not activate in previous phase { enters merging mode } else if and is now empty { activates enters merging mode } else { activates , deactivates remains in pulling mode } C(v) C(u) C(u) ↔ C(v) C(v) u uw C(u) u uw uv C(u)
  43. Algo 1 GraphToStar Selection Merging Pulling Waiting Termination Given and

    C(u) ↔ C(v) C(v) ↔ C(w) u w v umerge BREAK If leader of did not activate in previous phase { enters merging mode } else if and is now empty { activates enters merging mode } else { activates , deactivates remains in pulling mode } C(v) C(u) C(u) ↔ C(v) C(v) u uw C(u) u uw uv C(u)
  44. Algo 1 GraphToStar Selection Merging Pulling Waiting Termination Given and

    C(u) ↔ C(v) C(v) ↔ C(w) u w v If leader of did not activate in previous phase { enters merging mode } else if and is now empty { activates enters merging mode } else { activates , deactivates remains in pulling mode } C(v) C(u) C(u) ↔ C(v) C(v) u uw C(u) u uw uv C(u)
  45. Algo 1 GraphToStar Selection Merging Pulling Waiting Termination Given and

    C(u) ↔ C(v) C(v) ↔ C(w) u w v If leader of did not activate in previous phase { enters merging mode } else if and is now empty { activates enters merging mode } else { activates , deactivates remains in pulling mode } C(v) C(u) C(u) ↔ C(v) C(v) u uw C(u) u uw uv C(u)
  46. Algo 1 GraphToStar Selection Merging Pulling Waiting Termination if has

    no neighboring committees { enters termination mode } else if in prev phase, no committee activated edge with { enters selection mode } else { remains in waiting mode } C(u) C(u) u C(u) C(u) no diagram
  47. Algo 1 GraphToStar Selection Merging Pulling Waiting Termination deactivates every

    edge in C(u) E(Gs \ E(C(u)) Each follower in deactivates all incident active edges except . x C(u) xu no diagram
  48. Algo 1 GraphToStar Proof of Correctness Does it solve the

    tree problem? Depth − 1 One committee eventually enters termination, and this can only* be . (proved on next slide) C(umax ) Then by de f inition, must be a unique leader of the spanning star rooted at umax umax This satis f ies all requirements of the tree problem. Depth − 1
  49. Algo 1 GraphToStar Proof of Correctness Further conjecture: How do

    we ensure is the only committee left alive? (i.e., all other committees die or grow) C(umax ) We need to prove that this occurs for any of the following modes: Pulling Selection Waiting ? ? ?
  50. Algo 1 GraphToStar Proof of Correctness We need to prove

    that this occurs for any of the following modes: Pulling Selection Waiting ? ? ?
  51. Algo 1 GraphToStar Proof of Correctness Set of committees in

    pulling mode are Cpull These form a forest such that belongs to a pulling tree of F C(u) ∈ Cpull T F We need to prove that this occurs for any of the following modes: Pulling Selection Waiting ? ? ? Any pulling tree mimics TreeToStar algorithm on the leaders of committees C(u)
  52. Set of committees in pulling mode are Cpull These form

    a forest such that belongs to a pulling tree of F C(u) ∈ Cpull T F We need to prove that this occurs for any of the following modes: Pulling Selection Waiting ? ? ? 😠 Any pulling tree mimics TreeToStar algorithm on the leaders of committees C(u)
  53. Algo 1 GraphToStar Proof of Correctness Set of committees in

    pulling mode are Cpull These form a forest such that belongs to a pulling tree of F C(u) ∈ Cpull T F We need to prove that this occurs for any of the following modes: Pulling Selection Waiting ? ? ? Any pulling tree mimics TreeToStar algorithm on the leaders of committees C(u) All non-root committees in will eventually merge with T Cr Invariant: ’s root committee, is always in waiting mode, and ’s children are always in merging mode C(u) Cr Cr These eventually “telescope in” as ’s children merge with Cr Cr
  54. Algo 1 GraphToStar Proof of Correctness Set of committees in

    pulling mode are Cpull These form a forest such that belongs to a pulling tree of F C(u) ∈ Cpull T F We need to prove that this occurs for any of the following modes: Pulling Selection Waiting ✔ ? ? Any pulling tree mimics TreeToStar algorithm on the leaders of committees C(u) All non-root committees in will eventually merge with T Cr Invariant: ’s root committee, is always in waiting mode, and ’s children are always in merging mode C(u) Cr Cr These eventually “telescope in” as ’s children merge with Cr Cr
  55. Algo 1 GraphToStar Proof of Correctness Committee can enter either

    mode above C(u) We need to prove that this occurs for any of the following modes: Pulling Selection Waiting ✔ ? ? If it enters merging or pulling, will eventually die C(u) If it enters waiting, will eventually grow What if we stay in section mode inde f initely? Can only happen if all current & neighboring committees have a smaller than UID UIDu Contradicts inde f inite local maximality of in neighbor selection process for some neighbor such that UIDu C(w) UIDw > UIDu
  56. Algo 1 GraphToStar Proof of Correctness Committee can enter either

    mode above C(u) We need to prove that this occurs for any of the following modes: Pulling Selection Waiting ✔ ? If it enters merging or pulling, will eventually die C(u) If it enters waiting, will eventually grow What if we stay in section mode inde f initely? Can only happen if all current & neighboring committees have a smaller than UID UIDu Contradicts inde f inite local maximality of in neighbor selection process for some neighbor such that UIDu C(w) UIDw > UIDu ✔
  57. Algo 1 GraphToStar Proof of Correctness Any committee is either

    a root of a pulling tree in forest , or a root of star of committees in which all leaf-committees are merging with C(u) F C(u) We need to prove that this occurs for any of the following modes: Pulling Selection Waiting ✔ ? ✔ Either way, eventually enters selection mode as soon as all other committees in its pulling tree or star have merged to it. C(u)
  58. Algo 1 GraphToStar Proof of Correctness Any committee is either

    a root of a pulling tree in forest , or a root of star of committees in which all leaf-committees are merging with C(u) F C(u) We need to prove that this occurs for any of the following modes: Pulling Selection Waiting ✔ ✔ Either way, eventually enters selection mode as soon as all other committees in its pulling tree or star have merged to it. C(u) ✔
  59. Algo 1 GraphToStar Proof of Correctness We need to prove

    that this occurs for any of the following modes: Pulling Selection Waiting ✔ ✔ ✔ QED.
  60. Algo 1 GraphToStar Proof of Time Complexity For now, focus

    on number of phases before a single committee is left. is the size of committee in round |C(u)s | C(u) s
  61. Algo 1 GraphToStar Proof of Time Complexity Lemma 2 Committee

    between phases and If , then in selection mode (i.e., in two following phases, the size is at least ) C(u)waiting s s + j |C(u)s | > 2k |C(u)s+j+1 | > 2k+j−2 2k+j−2 Any is a root of either: (i) a pulling tree T in the forest F (ii) a star of committees which all leaf-committees are merging with C(u)waiting C(u)
  62. Algo 1 GraphToStar Proof of Time Complexity Lemma 2 Committee

    between phases and If , then in selection mode (i.e., in two following phases, the size is at least ) C(u)waiting s s + j |C(u)s | > 2k |C(u)s+j+1 | > 2k+j−2 2k+j−2 Any is a root of either: (i) a pulling tree T in the forest F C(u)waiting , so any other committee in is either in pulling or merging mode C(u)waiting T All non-root committees in will eventually merge in in some phase T C(u) s + j
  63. Algo 1 GraphToStar Proof of Time Complexity Lemma 2 Committee

    between phases and If , then in selection mode (i.e., in two following phases, the size is at least ) C(u)waiting s s + j |C(u)s | > 2k |C(u)s+j+1 | > 2k+j−2 2k+j−2 Any is a root of either: (i) a pulling tree T in the forest F C(u)waiting W.l.o.g. assume every committee (i) entered pulling or merging mode in phase (ii) will have merged with by phase C(v) ∈ T s C(v) s + j
  64. Algo 1 GraphToStar Proof of Time Complexity Lemma 2 Committee

    between phases and If , then in selection mode (i.e., in two following phases, the size is at least ) C(u)waiting s s + j |C(u)s | > 2k |C(u)s+j+1 | > 2k+j−2 2k+j−2 Any is a root of either: (i) a pulling tree T in the forest F C(u)waiting W.l.o.g. assume every committee (i) entered pulling or merging mode in phase (ii) will have merged with by phase C(v) ∈ T s C(v) s + j (Left here)
  65. Algo 1 Gadget: star graph : spanning star Runtime: Total

    edge act: Final diameter: 2 Gf O(logn) O(n logn) GraphToStar Algo 2 Gadget: wreath : binary spanning tree Runtime: Total edge act: Final diameter: Gf O(log2n) O(n log2n) O(logn) GraphToWreath Algo 3 GraphToThinWreath Gadget: wreath : binary spanning tree Runtime: Total edge act: Final diameter: Gf o(log2n) O(n log2n) O(logn)
  66. Algo 1 Gadget: star graph : spanning star Runtime: Total

    edge act: Final diameter: 2 Gf O(logn) O(n logn) GraphToStar Algo 2 Gadget: wreath : binary spanning tree Runtime: Total edge act: Final diameter: Gf O(log2n) O(n log2n) O(logn) GraphToWreath Algo 3 GraphToThinWreath Gadget: wreath : binary spanning tree Runtime: Total edge act: Final diameter: Gf o(log2n) O(n log2n) O(logn)
  67. Algo 2 GraphToWreath Each committee is a wreath graph with

    leader C(u) u Proceeds in phases, always start in selection mode. Selection Ring merging Tree Merging Termination
  68. Algo 2 GraphToWreath Selection Ring merging Tree Merging Termination deactivates

    every edge in C(u) E(Gs \ E(C(u)) Each follower in deactivates all incident active edges except . x C(u) xu
  69. Algo 1 Gadget: star graph : spanning star Runtime: Total

    edge act: Final diameter: 2 Gf O(logn) O(n logn) GraphToStar Algo 2 Gadget: wreath : binary spanning tree Runtime: Total edge act: Final diameter: Gf O(log2n) O(n log2n) O(logn) GraphToWreath Algo 3 GraphToThinWreath Gadget: wreath : binary spanning tree Runtime: Total edge act: Final diameter: Gf o(log2n) O(n log2n) O(logn)
  70. Algo 1 Gadget: star graph : spanning star Runtime: Total

    edge act: Final diameter: 2 Gf O(logn) O(n logn) GraphToStar Algo 2 Gadget: wreath : binary spanning tree Runtime: Total edge act: Final diameter: Gf O(log2n) O(n log2n) O(logn) GraphToWreath Algo 3 GraphToThinWreath Gadget: wreath : binary spanning tree Runtime: Total edge act: Final diameter: Gf o(log2n) O(n log2n) O(logn)
  71. separate analysis for later (polylog runtime & polylog diameter…) (not

    necessarily runtime & message complexity…) separate analysis for later (deterministic & bounded-degree runtime…) separate analysis for later
  72. Overview • Recon f igurable networks • Cost measurement •

    3 Transformation algorithms • Overview, Analysis, Runtime • Impact • Summary