Distributed Systems Communica3on Rik Sarkar James - - PowerPoint PPT Presentation

distributed systems communica3on
SMART_READER_LITE
LIVE PREVIEW

Distributed Systems Communica3on Rik Sarkar James - - PowerPoint PPT Presentation

Distributed Systems Communica3on Rik Sarkar James Cheney University of Edinburgh Spring 2014 Types of networks Local area networks (Ethernet)


slide-1
SLIDE 1

Distributed ¡Systems ¡ ¡ Communica3on ¡ ¡

Rik ¡Sarkar ¡ James ¡Cheney ¡ ¡ University ¡of ¡Edinburgh ¡ Spring ¡2014 ¡

slide-2
SLIDE 2

Types ¡of ¡networks ¡

  • Local ¡area ¡networks ¡(Ethernet) ¡
  • Wide ¡area ¡networks ¡
  • Wireless ¡LANs ¡(WiFi) ¡
  • Wireless ¡WANs ¡(Cellular ¡networks, ¡3G, ¡4G ¡etc) ¡
  • Internetworks ¡– ¡comprising ¡of ¡many ¡LANs, ¡

WANs ¡etc ¡connected ¡together, ¡allowing ¡ communica3on ¡between ¡computers. ¡E.g. ¡

  • Internet. ¡ ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 2 ¡

slide-3
SLIDE 3

Packets ¡

  • Networks ¡communicate ¡data ¡in ¡messages ¡of ¡

fixed ¡(bounded) ¡size ¡– ¡called ¡packets ¡

  • More ¡data ¡requires ¡more ¡packets ¡
  • Number ¡of ¡messages ¡or ¡packets ¡transmiXed ¡is ¡

a ¡measure ¡of ¡communica3on ¡used ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 3 ¡

slide-4
SLIDE 4

Types ¡of ¡Communica3ons ¡

  • Point ¡to ¡point ¡communica,on ¡

– Message ¡goes ¡from ¡one ¡computer ¡to ¡another ¡ computer ¡ ¡ – There ¡must ¡be ¡a ¡connec3ng ¡link ¡

  • E.g. ¡A ¡LAN ¡wire ¡directly ¡connec3ng ¡the ¡two ¡ ¡
  • Or, ¡the ¡two ¡computers ¡are ¡in ¡the ¡same ¡LAN ¡
  • Or ¡they ¡are ¡in ¡different ¡LANs, ¡but ¡connected ¡through ¡

WAN ¡or ¡Internet ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 4 ¡

slide-5
SLIDE 5

Types ¡of ¡Communica3ons ¡

  • Broadcast ¡

– Message ¡goes ¡from ¡one ¡computer ¡ to ¡all ¡other ¡computers ¡(restricted ¡ to ¡some ¡set) ¡

  • For ¡example, ¡all ¡other ¡computers ¡in ¡

the ¡LAN, ¡or ¡some ¡other ¡system ¡in ¡ considera3on ¡

– Ethernet ¡LAN ¡is ¡a ¡broadcast ¡ medium ¡

  • All ¡computers ¡are ¡connected ¡to ¡a ¡
  • wire. ¡They ¡transmit ¡messages ¡on ¡the ¡

wire ¡and ¡all ¡can ¡receive ¡

– Wireless ¡LAN ¡(WiFi) ¡is ¡a ¡broadcast ¡ medium ¡

  • Electromagne3c ¡waves ¡is ¡the ¡

common ¡medium ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 5 ¡

slide-6
SLIDE 6

Types ¡of ¡Communica3ons ¡

  • Broadcast ¡

– Useful ¡when ¡message ¡has ¡to ¡be ¡ sent ¡to ¡all ¡computers ¡

  • E.g. ¡Mul3player ¡games, ¡streaming ¡

a ¡live ¡video ¡etc ¡

– Can ¡be ¡used ¡to ¡achieve ¡point ¡to ¡ point ¡communica3on ¡

  • Send ¡message, ¡with ¡id ¡of ¡the ¡
  • receiver. ¡Everyone ¡else ¡rejects ¡it. ¡ ¡
  • Does ¡not ¡scale ¡well ¡when ¡there ¡

are ¡many ¡nodes ¡in ¡the ¡system. ¡

  • When ¡Many ¡pairs ¡of ¡nodes ¡try ¡to ¡

communicate ¡using ¡the ¡same ¡ medium, ¡messages ¡clash. ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 6 ¡

slide-7
SLIDE 7

Real ¡life ¡networks ¡

  • Point ¡to ¡point ¡for ¡long ¡distance ¡& ¡

internetworking ¡

  • Broadcast ¡for ¡local, ¡short ¡range ¡at ¡the ¡LAN ¡

end ¡points ¡

Ethernet/Wifi ¡ Ethernet/Wifi ¡ Point ¡to ¡Point ¡ Routers ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 7 ¡

slide-8
SLIDE 8

Medium ¡access ¡in ¡LANs ¡

  • The ¡difficulty ¡of ¡using ¡broadcast ¡

– If ¡more ¡than ¡one ¡node ¡transmits, ¡packets ¡collide ¡ and ¡both ¡messages ¡get ¡garbled ¡ – MAC ¡protocols ¡ensure ¡that ¡when ¡one ¡node ¡is ¡ transmicng, ¡others ¡keep ¡quiet ¡ – If ¡there ¡is ¡s3ll ¡collision, ¡message ¡is ¡retransmiXed ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 8 ¡

slide-9
SLIDE 9

1 ¡ 4 ¡ 2 ¡ 4 ¡ 3 ¡ 4 ¡ 4 ¡ 4 ¡ 1 ¡ 3 ¡ 2 ¡ 3 ¡ 3 ¡ 3 ¡ 5 ¡ 5 ¡ 1 ¡ 1 ¡ 2 ¡ 2 ¡ 4 ¡ 4 ¡ 5 ¡ 4 ¡ 2 ¡ 2 ¡ 3 ¡ 3 ¡ 4 ¡ 3 ¡ 5 ¡ 3 ¡

Rou3ng ¡

  • Finding ¡a ¡path ¡in ¡the ¡network ¡
  • Every ¡node ¡has ¡a ¡rou3ng ¡table ¡

1 ¡ 2 ¡ 4 ¡ 3 ¡ 5 ¡ 1 ¡ 1 ¡ 3 ¡ 3 ¡ 4 ¡ 3 ¡ 5 ¡ 3 ¡ Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡

9 ¡

slide-10
SLIDE 10

1 ¡ 4 ¡ 2 ¡ 4 ¡ 3 ¡ 4 ¡ 4 ¡ 4 ¡ 1 ¡ 3 ¡ 2 ¡ 3 ¡ 3 ¡ 3 ¡ 5 ¡ 5 ¡ 1 ¡ 1 ¡ 2 ¡ 2 ¡ 4 ¡ 4 ¡ 5 ¡ 4 ¡ 2 ¡ 2 ¡ 3 ¡ 3 ¡ 4 ¡ 3 ¡ 5 ¡ 3 ¡

Rou3ng ¡

  • Finding ¡a ¡path ¡in ¡the ¡network ¡
  • Every ¡node ¡has ¡a ¡rou3ng ¡table ¡Size ¡n-­‑1 ¡
  • Expensive ¡to ¡store ¡

1 ¡ 2 ¡ 4 ¡ 3 ¡ 5 ¡ 1 ¡ 1 ¡ 3 ¡ 3 ¡ 4 ¡ 3 ¡ 5 ¡ 3 ¡ Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡

10 ¡

slide-11
SLIDE 11

1-­‑4 ¡ 4 ¡ 1-­‑3 ¡ 3 ¡ 5 ¡ 5 ¡ 1 ¡ 1 ¡ 2 ¡ 2 ¡ 4-­‑5 ¡ 4 ¡ 2 ¡ 2 ¡ 3-­‑5 ¡ 3 ¡

Rou3ng ¡

  • Smaller ¡rou3ng ¡tables ¡by ¡combining ¡addresses ¡
  • Used ¡in ¡IP ¡(Internet) ¡rou3ng ¡
  • Smaller ¡rou3ng ¡tables ¡are ¡preferable ¡

1 ¡ 2 ¡ 4 ¡ 3 ¡ 5 ¡ 1 ¡ 1 ¡ 3-­‑5 ¡ 3 ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 11 ¡

slide-12
SLIDE 12

Netowrks ¡as ¡graphs ¡

  • Note: ¡

– Networks ¡are ¡usually ¡drawn ¡as ¡graphs ¡ – Ver3ces ¡are ¡nodes/computers ¡ – Edge ¡means ¡these ¡nodes ¡can ¡directly ¡send ¡ messages ¡to ¡each-­‑other ¡

1 ¡ 2 ¡ 4 ¡ 3 ¡ 5 ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 12 ¡

slide-13
SLIDE 13

An ¡announcement.. ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 13 ¡

slide-14
SLIDE 14

If ¡you ¡are ¡interested ¡in ¡doing ¡research ¡

  • n ¡

Distributed ¡Systems ¡ ¡

  • r ¡related ¡areas ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 14 ¡

slide-15
SLIDE 15

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 15 ¡

slide-16
SLIDE 16
  • Contact ¡James ¡Cheney ¡for: ¡

– Database ¡or ¡web ¡programming ¡languages ¡ – Data ¡synchroniza3on ¡

  • Contact ¡Rik ¡Sarkar ¡for: ¡

– Algorithms ¡for ¡distributed ¡compu3ng ¡ – Sensor ¡networks ¡ – Mobile ¡networks ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 16 ¡

slide-17
SLIDE 17

MS/UG/MInf ¡Projects ¡in ¡distributed ¡ Systems ¡

  • Contact ¡us ¡to ¡discuss ¡more ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 17 ¡

slide-18
SLIDE 18

Communica3on ¡cost ¡

  • A ¡distributed ¡computa3on ¡should ¡be ¡efficient ¡

– Should ¡use ¡few ¡messages ¡

  • Cost ¡of ¡a ¡distributed ¡computa3on: ¡ ¡

– Number ¡of ¡messages ¡transmiXed ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 18 ¡

slide-19
SLIDE 19

Example ¡1 ¡

  • A ¡simple ¡distributed ¡computa3on: ¡

– Each ¡node ¡has ¡stored ¡a ¡numeric ¡value ¡ – Compute ¡the ¡total ¡of ¡these ¡numbers ¡

Server ¡

How ¡many ¡messages ¡ ¡ does ¡it ¡take? ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 19 ¡

slide-20
SLIDE 20

Example ¡1 ¡

  • A ¡simple ¡distributed ¡computa3on: ¡

– Each ¡node ¡has ¡stored ¡a ¡numeric ¡value ¡ – Compute ¡the ¡total ¡of ¡the ¡numbers ¡

Server ¡ 4 ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 20 ¡

slide-21
SLIDE 21

Example ¡2 ¡

  • A ¡simple ¡distributed ¡computa3on: ¡

– Each ¡node ¡has ¡stored ¡a ¡numeric ¡value ¡ – Compute ¡the ¡total ¡of ¡the ¡numbers ¡

Server ¡

How ¡many ¡messages ¡ ¡ does ¡it ¡take? ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 21 ¡

slide-22
SLIDE 22

Example ¡2 ¡

  • A ¡simple ¡distributed ¡computa3on: ¡

– Each ¡node ¡has ¡stored ¡a ¡numeric ¡value ¡ – Compute ¡the ¡total ¡of ¡the ¡numbers ¡

Server ¡

Total: ¡10 ¡ 1 ¡ 2 ¡ 3 ¡ 4 ¡ Number ¡of ¡messages: ¡ ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 22 ¡

slide-23
SLIDE 23
  • Complexity ¡may ¡depend ¡on ¡the ¡Network ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 23 ¡

slide-24
SLIDE 24

Example ¡2 ¡

  • A ¡simple ¡distributed ¡computa3on: ¡

– Each ¡node ¡has ¡stored ¡a ¡numeric ¡value ¡ – Compute ¡the ¡total ¡of ¡the ¡numbers ¡

Server ¡

Can ¡you ¡find ¡a ¡beXer, ¡more ¡efficient ¡way? ¡ ¡

a ¡ b ¡ c ¡ d ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 24 ¡

slide-25
SLIDE 25

Example ¡2 ¡

  • A ¡simple ¡distributed ¡computa3on: ¡

– Each ¡node ¡has ¡stored ¡a ¡numeric ¡value ¡ – Compute ¡the ¡total ¡of ¡the ¡numbers ¡

Server ¡ a ¡ b ¡ c ¡ d ¡ v(d) ¡ V(c) ¡+v(d) ¡ v(b)+v(c)+v(d) ¡ v(a)+v(b)+v(c)+v(d) ¡ Cost: ¡4 ¡messages ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 25 ¡

slide-26
SLIDE 26

Example ¡2 ¡

  • A ¡simple ¡distributed ¡computa3on: ¡

– Each ¡node ¡has ¡stored ¡a ¡numeric ¡value ¡ – Compute ¡the ¡total ¡of ¡the ¡numbers ¡

Server ¡

More ¡generally, ¡if ¡there ¡were ¡n ¡nodes, ¡ ¡ this ¡would ¡cost ¡n ¡messages ¡

a ¡ b ¡ c ¡ d ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 26 ¡

slide-27
SLIDE 27

Communica3on ¡complexity ¡

  • Used ¡to ¡represent ¡communica3on ¡cost ¡for ¡

general ¡scenarios ¡

  • Called ¡Communica3on ¡Complexity ¡or ¡

Asympto3c ¡communica3on ¡complexity ¡

  • Use ¡big ¡oh ¡nota3on: ¡O ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 27 ¡

slide-28
SLIDE 28

Big ¡oh ¡nota3on ¡

  • For ¡a ¡system ¡of ¡n ¡nodes, ¡
  • Communica3on ¡

complexity ¡c(n) ¡is ¡O(f(n)) ¡ means: ¡

– There ¡are ¡constants ¡a ¡and ¡ N, ¡such ¡that: ¡ – For ¡n>N: ¡c(n) ¡< ¡a*f(n) ¡ f(n) ¡ c(n) ¡ N ¡

Allowing ¡some ¡ini3al ¡irregularity, ¡‘f(n)’ ¡can ¡be ¡seen ¡as ¡a ¡ ¡ bound ¡on ¡‘c(n)’ ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 28 ¡

slide-29
SLIDE 29

Big ¡oh ¡– ¡upper ¡bounds ¡

  • For ¡a ¡system ¡of ¡n ¡nodes, ¡
  • Communica3on ¡

complexity ¡c(n) ¡is ¡O(f(n)) ¡ means: ¡

– There ¡are ¡constants ¡a ¡and ¡ N, ¡such ¡that: ¡ – For ¡n>N: ¡c(n) ¡< ¡a*f(n) ¡ f(n) ¡ c(n) ¡ N ¡

Allowing ¡some ¡ini3al ¡irregularity, ¡‘c(n)’ ¡is ¡not ¡ ¡ bigger ¡than ¡a ¡constant ¡3mes ¡‘f(n)’ ¡ ¡ In ¡the ¡long ¡run, ¡c(n) ¡does ¡not ¡grow ¡faster ¡than ¡f(n) ¡

a*f(n) ¡

29 ¡

slide-30
SLIDE 30

Examples ¡

  • 3n ¡= ¡O(?) ¡
  • n2/5 ¡= ¡O(?) ¡
  • 10log ¡n ¡= ¡O(?) ¡
  • 2n3+n+ ¡200 ¡= ¡O(?) ¡
  • 15 ¡= ¡O(?) ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 30 ¡

slide-31
SLIDE 31

Examples ¡

  • 3n ¡= ¡O(n) ¡
  • n2/5 ¡= ¡O(n2) ¡
  • 10log ¡n ¡= ¡O(log ¡n) ¡
  • 2n3+n+ ¡200 ¡= ¡O(n3) ¡
  • 15 ¡or ¡any ¡other ¡constant= ¡O(1) ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 31 ¡

slide-32
SLIDE 32

Example ¡1 ¡

  • ‘Star’ ¡network ¡
  • Compu3ng ¡sum ¡of ¡all ¡values ¡
  • Communica3on ¡complexity: ¡O(n) ¡

Server ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 32 ¡

slide-33
SLIDE 33

Example ¡2a ¡

  • ‘Chain’ ¡topology ¡network ¡
  • Simple ¡protocol ¡where ¡everyone ¡sends ¡value ¡

to ¡server ¡

  • Communica3on ¡complexity: ¡1+2+…+n ¡= ¡O(n2) ¡

Server ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 33 ¡

slide-34
SLIDE 34

Example ¡2b ¡

  • ‘Chain’ ¡network ¡
  • Protocol ¡where ¡each ¡node ¡waits ¡for ¡sum ¡of ¡

previous ¡values ¡and ¡sends ¡ ¡

  • Communica3on ¡complexity: ¡1+1+…+1 ¡= ¡O(n) ¡

Server ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 34 ¡

slide-35
SLIDE 35

Time ¡complexity ¡

  • How ¡much ¡3me ¡does ¡the ¡computa3on ¡take? ¡
  • Assume ¡each ¡transmission ¡takes ¡1 ¡unit ¡3me ¡

¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 35 ¡

slide-36
SLIDE 36

Example ¡2b ¡

  • ‘Chain’ ¡topology ¡network ¡
  • Protocol ¡where ¡each ¡node ¡waits ¡for ¡sum ¡of ¡

previous ¡values ¡and ¡sends ¡ ¡

  • Time ¡complexity: ¡1+1+…+1 ¡= ¡O(n) ¡

Server ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 36 ¡

slide-37
SLIDE 37

Example ¡3 ¡

  • ‘Chain’ ¡network ¡
  • Protocol ¡where ¡each ¡node ¡waits ¡for ¡sum ¡of ¡

previous ¡values ¡and ¡sends ¡ ¡

  • Communica3on ¡complexity: ¡1+1+…+1 ¡= ¡O(n) ¡

n/2 ¡nodes ¡ Server ¡ n/2 ¡nodes ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 37 ¡

slide-38
SLIDE 38

Example ¡3 ¡

  • 2 ¡Chains ¡network ¡
  • Protocol ¡where ¡each ¡node ¡waits ¡for ¡sum ¡of ¡

previous ¡values ¡and ¡sends ¡ ¡

  • Communica3on ¡complexity: ¡1+1+…+1 ¡= ¡O(n) ¡
  • Time ¡complexity: ¡n/2 ¡= ¡O(n) ¡

– Since ¡2 ¡chains ¡proceed ¡in ¡parallel ¡ n/2 ¡nodes ¡

Server ¡ n/2 ¡nodes ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 38 ¡

slide-39
SLIDE 39

Example ¡4 ¡ ¡

  • What ¡if ¡the ¡server ¡has ¡to ¡send ¡a ¡message ¡to ¡all ¡

nodes? ¡ ¡

– Star ¡: ¡O(n) ¡ – Chain ¡(naive) ¡: ¡O(n2) ¡

  • Route ¡to ¡each ¡node ¡

– Chain ¡(smarter) ¡: ¡O(n) ¡

  • Each ¡node ¡sends ¡to ¡its ¡neighbor ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 39 ¡

Server ¡

slide-40
SLIDE 40

Example ¡4 ¡

  • What ¡if ¡the ¡server ¡has ¡to ¡send ¡a ¡message ¡to ¡all ¡

nodes? ¡ ¡

– And ¡the ¡communica3on ¡is ¡broadcast? ¡ – O(1) ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 40 ¡

Server ¡

slide-41
SLIDE 41

Observa3on ¡

  • Suppose ¡c(n)=n ¡

– Then ¡c(n) ¡is ¡O(n) ¡and ¡also ¡O(n2) ¡ – ¡Although, ¡when ¡we ¡ask ¡for ¡the ¡complexity, ¡we ¡ are ¡looking ¡for ¡the ¡3ghtest ¡possible ¡bound, ¡which ¡ is ¡O(n) ¡ ¡ ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 41 ¡

slide-42
SLIDE 42

Big ¡Ω ¡– ¡lower ¡bounds ¡

  • For ¡a ¡system ¡of ¡n ¡nodes, ¡
  • Communica3on ¡

complexity ¡c(n) ¡is ¡Ω(f(n)) ¡ means: ¡

– There ¡are ¡constants ¡a ¡and ¡ N, ¡such ¡that: ¡ – For ¡n>N: ¡ ¡b*f(n) ¡< ¡c(n) ¡ f(n) ¡ c(n) ¡ N ¡

Allowing ¡some ¡ini3al ¡irregularity, ¡‘c(n)’ ¡is ¡not ¡ ¡ smaller ¡than ¡a ¡constant ¡3mes ¡‘f(n)’ ¡ ¡ In ¡the ¡long ¡run, ¡f(n) ¡does ¡not ¡grow ¡faster ¡than ¡c(n) ¡

b*f(n) ¡

42 ¡

slide-43
SLIDE 43

Big ¡θ ¡– ¡3ght ¡bounds: ¡both ¡O ¡and ¡Ω ¡

  • For ¡a ¡system ¡of ¡n ¡nodes, ¡
  • Communica3on ¡

complexity ¡c(n) ¡is ¡θ(f(n)) ¡ means: ¡

– There ¡are ¡constants ¡a,b ¡ and ¡N, ¡such ¡that: ¡ – For ¡n>N: ¡ b*f(n)<c(n)<a*f(n) ¡ f(n) ¡ c(n) ¡ N ¡

Allowing ¡some ¡ini3al ¡irregularity, ¡c(n) ¡and ¡f(n) ¡are ¡ Within ¡constant ¡factors ¡of ¡each ¡other. ¡ In ¡the ¡long ¡run, ¡c(n) ¡grows ¡at ¡same ¡rate ¡as ¡f(n), ¡ upto ¡constant ¡factors. ¡ ¡

b*f(n) ¡

43 ¡

a*f(n) ¡

slide-44
SLIDE 44

In ¡our ¡examples ¡

  • Star ¡network: ¡

– Complexity ¡is ¡Θ(n) ¡(both ¡O(n) ¡and ¡Ω(n)) ¡ – It ¡does ¡not ¡take ¡any ¡more ¡than ¡a ¡constant ¡3mes ¡n ¡ messages, ¡it ¡also ¡does ¡not ¡take ¡any ¡less! ¡ ¡ ¡

  • Chain ¡network: ¡

– Complexity ¡Θ(n) ¡or ¡Θ(n2) ¡depending ¡on ¡algorithm ¡

Distributed ¡Systems, ¡Edinburgh, ¡2014 ¡ 44 ¡