Exo: Atomic Broadcast for the Rack-Scale Computer Matthew P. Grosvenor Marwan Fayed Andrew W. Moore
What is a Rack-Scale Computer 2 Today Tomorrow I/O Compute Memory Storage C • 50 - 200 machines • 500-2000 “nodes” • Commodity • Disaggregated hardware hardware • Commodity • Custom (photonic?) network interconnect(s)
The problem with disaggregation 3 Memory CPUS Network GPUS Disk I/O
Other Types of Coordination 4 Single Machines • Coordination using simple MESI/MOSI protocols • Specialised hardware over a reliable, low latency interconnect. ✓ High performance X Not failure tolerant X Doesn’t scale well
Other Types of Coordination 5 Single Machines Cluster Systems • Coordination using simple MESI/MOSI • Coordination using protocols software protocols • Specialised • General purpose, hardware over a high latency, error reliable, low latency prone network interconnect. X Low performance ✓ High performance ✓ Fault Tolerant X Not failure tolerant X Doesn’t scale well X Doesn’t scale well
Other Types of Coordination 6 Single Machines Cluster Systems • Coordination using simple MESI/MOSI • Coordination using protocols software protocols • Specialised • General purpose, hardware over a high latency, error reliable, low latency prone network Something in the middle ??? interconnect. X Low performance ✓ High performance ✓ Fault Tolerant X Not failure tolerant X Doesn’t scale well X Doesn’t scale well
Other Types of Coordination 7 Single Machines Cluster Systems • Coordination using simple MESI/MOSI • Coordination using protocols software protocols • Specialised • General purpose, hardware over a high latency, error reliable, low latency prone network Something in the middle ??? interconnect. X Low performance ✓ High performance ✓ Fault Tolerant X Not failure tolerant X Doesn’t scale well X Doesn’t scale well That scales?
Building a Coordination Network (Tomorrow) 8 ✓ Silicon Photonic Interfaces on chip Unicast Broadcast X High radix optical switches? A A B B ✓ Burst mode transceivers C C ✓ Passive all optical interconnect (PON) D D ✓ Network broadcast as a primitive for building Atomic Broadcast
Media Access and Agreement 9 • How do we mediate access to the network? • What agreement protocol do we use? • Use token rings • Two birds with one stone ✓ Well established MAC protocol ✓ Well established agreement protocol. Very high (optimal) throughput performance.
The Problem with Token Passing 10 • Token passing is latency Per hop latency bound t t • Each host must wait at least n-1 hops for agreement = n x per-hop latency (t) t • Per hop latency must be t minimised Total latency = t + t + t + t = 4t Throughput (per host) ≈ 1/ 4t
What’s the latency? 11 Assuming 3m of fibre @ 0.75C 7.5ns 0ns 0ns 7.5ns = 15ns per hop Unicast Broadcast A A B B C C D D
What’s the latency? 12 Assuming 3m of fibre @ 0.75C 7.5ns 0ns 0ns 7.5ns = 15ns per hop Unicast Broadcast @10G 64B frames A A = 14.4M msg/sec B B C C D D
Building a Coordination Network (Today) 13 Use Exalink Fusion Switch to emulate all optical network • Broadcast - 5ns • Aggregation - 95ns
Building a Coordination Network (Today) 14 7.5ns 95ns 5ns 7.5ns = 115ns per hop Unicast Broadcast = 8.6M msg/sec A A B B C C D D Fusion Aggregate Fusion Broadcast
Building a Coordination Network (In the lab) 15 • Use ethernet switch and matrix switch to emulate Exablaze Fusion • Arista 7124FX • Aggregation/switching 350ns • Exablaze ExaLink 50 • Broadcast <5ns
Building a Coordination Network (in the lab) 16 7.5ns 350ns 5ns 7.5ns = 370ns per hop = 2.7M msg/sec Unicast Broadcast A A B B C C D D Artist 7124FX Exablaxe ExaLink50
But wait, there’s more… (latency) 17 Unicast Exo NIC Server Broadcast
But wait, there’s more… (latency) 18 Unicast Exo NIC Server Broadcast Network Latency 370ns
But wait, there’s more (latency) 19 Unicast Exo NIC Server Broadcast Network Latency PCIe Latency 370ns
But wait, there’s more… (latency) 20 350 7.5ns 400ns Unicast Exo NIC 5ns Server Broadcast 5ns 7.5ns 400ns Network Latency PCIe Latency 370ns >800ns
But wait, there’s more… (latency) 21 350 7.5ns 400ns Unicast Exo NIC 5ns Server Broadcast 5ns 7.5ns 400ns • total per-hop-latency ≈ 1us • 200 x 1us ≈ 200us ≈ 5000 msgs per host per second.
Dealing with latency 22 1. Make it go away • e.g use a Fusion • e.g use all optical 2. Hide it • Introduce pipelining
Dealing with latency 23 1. Make it go away • e.g use a Fusion • e.g use all optical 2. Hide it • Introduce pipelining
Hiding Latency 24 350 7.5ns C 1 400ns Unicast Offload Exo 5ns Engine Server Broadcast 5ns 7.5ns C 2 400ns • Introduce pipelining to hide latency • Host to NIC and NIC to network transmissions run in parallel
Hiding Latency 25 350 7.5ns C 1 400ns Unicast Offload Exo 5ns Engine Server Broadcast 5ns 7.5ns C 2 400ns • In network latency ≈ 400ns • Per-hop latency ≈ 1us (pipelined for 1 message per 400ns) • 200 x 400ns ≈ 80us ≈ 12,500 messages per second / per host.
Let’s Talk About Failure 26 • Failure is very unlikely. • No packet loss due to congestion • Bit errors on the wire 1/10^12 … 1/10^14 • Partitioning - Single chip? Can it half fail? Byzantine? • 1/10^20 ?? • Partitioning - requires n-way x m - correlated failure • (1/10^12)^n * m • Therefore, optimise for the common case
The Exo Protocol 27 • Protocol is implemented correctly on all hosts • Hosts may stop, crash, restart, loose packets or become partitioned • The is a fixed upper number of hosts (n) in the network. Host may leave and come back, but more hosts may not be added.
Anatomy of the Exo Protocol 28 Assume ¡a ¡network ¡with ¡ fast ¡and ¡cheap ¡broadcast ¡ messaging
Anatomy of the Exo Protocol 29 And ¡some ¡maximum ¡ A number ¡of ¡hosts ¡ n ¡ (5) ¡ labeled ¡ A-‑E B E D C
Anatomy of the Exo Protocol 30 And ¡some ¡maximum ¡ A number ¡of ¡hosts ¡ n ¡ (5) ¡ labeled ¡ A-‑E, ¡ in ¡a ¡fixed, ¡ predetermined ¡order B E D C
Anatomy of the Exo Protocol 31 Each ¡host ¡keeps ¡the ¡ following ¡state: ¡ Append A -‑append ¡only ¡log ¡ -‑sequence ¡number ¡ -‑ n /2 ¡message ¡history B E Agreement seq ¡: ¡0 X X D C
Anatomy of the Exo Protocol 32 Host ¡ B ¡ broadcasts ¡a ¡message ¡M ¡ with ¡the ¡sequence ¡number ¡and ¡ Append A message ¡history ¡included ¡as ¡well ¡ as ¡any ¡data ¡(optional) M=0,X,X B E Agreement seq ¡: ¡0 X X D C
Anatomy of the Exo Protocol 33 Message ¡from ¡B ¡arrives ¡ at ¡all ¡hosts, ¡causes ¡a: ¡ ¡ Append A B -‑log ¡append 0 ¡ x ¡ M=0,X,X x B E Agreement seq ¡: ¡0 X X D C
Anatomy of the Exo Protocol 34 Message ¡from ¡B ¡arrives ¡ at ¡all ¡hosts, ¡causes ¡a: ¡ ¡ Append A B -‑log ¡append ¡ -‑sequence ¡number ¡ 0 ¡ update ¡ x ¡ M=0,X,X x B E Agreement seq ¡: ¡1 X X D C
Anatomy of the Exo Protocol 35 Message ¡from ¡B ¡arrives ¡ at ¡all ¡hosts, ¡causes ¡a: ¡ ¡ Append A B -‑log ¡append ¡ -‑sequence ¡number ¡ 0 ¡ update ¡ ¡ x ¡ -‑message ¡history ¡update M=0,X,X x B E Agreement seq ¡: ¡1 B X D C
Anatomy of the Exo Protocol 36 Host ¡C ¡now ¡has ¡the ¡network Append A B 0 ¡ x ¡ x B E Agreement seq ¡: ¡1 B X D C
Anatomy of the Exo Protocol 37 Host ¡ C ¡ broadcasts ¡a ¡message Append A B 0 ¡ x ¡ x B E Agreement M=1,B,X seq ¡: ¡1 B X D C
Anatomy of the Exo Protocol 38 Message ¡from ¡C ¡arrives ¡at ¡hosts, ¡ causing ¡update Append A B C 0 ¡ 1 ¡ x ¡ B ¡ x x M=1,B,X B E Agreement seq ¡: ¡2 C B D C
Anatomy of the Exo Protocol 39 D ¡now ¡has ¡the ¡token Append A B C 0 ¡ 1 ¡ x ¡ B ¡ x x B E Agreement seq ¡: ¡2 C B D C
Anatomy of the Exo Protocol 40 Host ¡ D ¡ broadcasts ¡a ¡message Append A B C 0 ¡ 1 ¡ x ¡ B ¡ x x M=2,C,B B E Agreement seq ¡: ¡2 C B D C
Anatomy of the Exo Protocol 41 Message ¡from ¡D ¡arrives ¡at ¡hosts, ¡ causing ¡ update ¡and ¡agreement ¡on ¡ Append A sequence ¡number ¡0 B C D 0 ¡ 1 ¡ 2 ¡ x ¡ B ¡ C ¡ x x B M=2,C,B B E Agreement seq ¡: ¡3 D C D C
Zooming in… 42 Message ¡from ¡D ¡arrives ¡at ¡hosts, ¡ causing ¡ update ¡and ¡agreement ¡on ¡ Append A sequence ¡number ¡0 B C D 0 ¡ 1 ¡ 2 ¡ x ¡ B ¡ C ¡ x x B M=2,C,B B E Agreement seq ¡: ¡3 D C D C
Recommend
More recommend