Presentation is loading. Please wait.

Presentation is loading. Please wait.

“Hashing Out” the Future of Enterprise and Data-Center Networks Jennifer Rexford Princeton University Joint with Changhoon.

Similar presentations


Presentation on theme: "“Hashing Out” the Future of Enterprise and Data-Center Networks Jennifer Rexford Princeton University Joint with Changhoon."— Presentation transcript:

1 “Hashing Out” the Future of Enterprise and Data-Center Networks Jennifer Rexford Princeton University http://www.cs.princeton.edu/~jrex Joint with Changhoon Kim, Minlan Yu, Matthew Caesar, and Alex Fabrikant

2 2 Challenges in Edge Networks Large number of hosts –Tens or even hundreds of thousands of hosts Dynamic hosts –Host mobility –Virtual machine migration Cost conscious –Equipment costs –Network-management costs Need a scalable and efficient self-configuring network

3 3 An All-Ethernet Solution? Self-configuration –Hosts: MAC addresses –Switches: self-learning Simple host mobility –Location-independent flat addresses But, poor scalability and performance –Flooding frames to unknown destinations –Large forwarding tables (one entry per address) –Broadcast for discovery (e.g., ARP, DHCP) –Inefficient delivery of frames over spanning tree

4 4 An All-IP Solution? Scalability –Hierarchical prefixes (smaller tables) –No flooding Performance –Forwarding traffic over shortest paths But, several disadvantages –Complex joint configuration of routing and DHCP –Clumsy mobility (location-dependent addresses) –Expensive longest-prefix match in data plane

5 5 Compromise: Hybrid Architecture Ethernet-based IP subnets interconnected by routers R R R R Ethernet Bridging - Flat addressing - Self-learning - Flooding - Forwarding along a tree IP Routing - Hierarchical addressing - Subnet configuration - Host configuration - Forwarding along shortest paths R Sacrifices Ethernet’s simplicity and IP’s efficiency for scalability

6 6 Can We Do Better? Shortest-path routing on flat addresses –Shortest paths: scalability and performance –MAC addresses: self-configuration and mobility Scalability without hierarchical addressing –Limit dissemination and storage of host info –Sending packets on slightly longer paths S H S S S S S S S S S S S S H H H H H H H H

7 7 Outline SEATTLE –Distributed directory service BUFFALO –Compact forwarding tables SeaBuff –Combining Seattle and Buffalo Deployment scenarios –Enterprises vs. data centers

8 8 SEATTLE Scalable Ethernet Architecture for Large Enterprises

9 9 SEATTLE Design Decisions ObjectiveApproachSolution 1. Avoiding flooding Never broadcast unicast traffic Network-layer one-hop DHT 2. Restraining broadcasting Bootstrap hosts via unicast 3. Reducing routing state Populate host info only when and where it is needed Traffic-driven resolution with caching 4. Shortest-path forwarding Allow switches to learn topology L2 link-state routing maintaining only switch-level topology * Meanwhile, avoid modifying end hosts

10 10 Network-Layer One-hop DHT Maintains pairs with function F –Consistent hash mapping a key to a switch –F is defined over the set of live switches One-hop DHT –Link-state routing ensures switches know each other Benefits –Fast and efficient reaction to changes –Reliability and capacity naturally grow with size of the network 012 128 -1

11 Location Resolution 11 Switches End hosts Control message Data traffic = Host discovery B B x x Hash F (MAC x ) = B Store Traffic to x Hash F (MAC x ) = B Tunnel to A Notify E E Forward directly from D to A A A Tunnel to B C C D D y y Owner User Resolver Publish

12 Address Resolution 12 = Traffic following ARP takes a shortest path without separate location resolution B B D D Hash F (IP x ) = B Store Broadcast ARP request for IP x Hash F (IP x ) = B Unicast reply E E A A Unicast look-up to B C C x x y y

13 13 Handling Network and Host Dynamics Network events –Switch failure/recovery  Change in for DHT neighbor  Fortunately, switch failures are not common –Link failure/recovery  Link-state routing finds new shortest paths Host events –Host location, MAC address, or IP address –Must update stale host-information entries

14 14 Handling Host Information Changes Resolver y y Host talking with x D D Old location New location Dealing with host mobility MAC- or IP-address change can be handled similarly B B x x A A C C E E F F

15 15 Packet-Level Simulations Large-scale packet-level simulation –Event-driven simulation of control plane –Synthetic traffic based on LBNL traces –Campus, data center, and ISP topologies Main results –Much less routing state than Ethernet –Only slightly more stretch than IP routing –Low overhead for handling host mobility

16 16 Amount of Routing State SEATTLE w/o caching SEATTLE w/ caching Ethernet SEATTLE reduces the amount of routing state by more than an order of magnitude

17 17 Cache Size vs. Stretch Stretch = actual path length / shortest path length (in latency) SEATTLE offers near-optimal stretch with very small amount of routing state SEATTLE ROFL

18 18 Sensitivity to Mobility SEATTLE rapidly updates routing state with very low overhead SEATTLE w/o caching SEATTLE w/ caching Ethernet

19 19 Prototype Implementation Host-info registration and notification msgs User/Kernel Click XORP OSPF Daemon OSPF Daemon Ring Manager Ring Manager Host Info Manager SeattleSwitch Link-state advertisements Data Frames Routing Table Network Map Click Interface Throughput: 800 Mbps for 512B packets, or 1400 Mbps for 896B packets

20 20 Conclusions on SEATTLE SEATTLE –Self-configuring –Scalable –Efficient Enabling design decisions –One-hop DHT with link-state routing –Reactive location resolution and caching –Shortest-path forwarding

21 21 BUFFALO Bloom Filter Forwarding Architecture for Large Organizations

22 Data Plane Scaling Challenge Large layer-two networks –Many end-host MAC addresses –Many switches Forwarding-table size becomes a problem –Requires a large, fast memory –Expensive and power hungry –Over-provisioning to avoid running out Buffalo’s goal –Given a small, fast memory –… make the most of it!

23 23 Bloom Filters Bloom filters in fast memory –A compact data structure for a set of elements –Calculate s hash functions to store element x –Easy to check set membership –Reduce memory at expense of false positives h 1 (x)h 2 (x)h s (x) 010001010000010 x V0V0 V m-1 h 3 (x)

24 24 Bloom Filter Forwarding One Bloom filter (BF) per next hop –Store all addresses forwarded to that next hop Nexthop 1 Nexthop 2 Nexthop T …… packet query Bloom Filters hit

25 25 BUFFALO Challenges How to optimize memory usage? Minimize the false-positive rate How to handle false positives quickly? No memory/payload overhead How to handle routing dynamics? Make it easy and fast to adapt Bloom filters

26 26 1. Optimize Memory Usage Goal: Minimize overall false-positive rate –Probability that one BF has a false positive Input: –Fast memory size M –Number of destinations per next hop –The maximum number of hash functions Output: the size of each Bloom filter –Larger BF for next hop with more destinations

27 27 1. Optimize Memory Usage (cont.) Constraints –Memory constraint  Sum of all BF sizes <= fast memory size M –Bound on number of hash functions  To bound CPU calculation time  Bloom filters share the same hash functions Convex optimization problem –An optimal solution exists –Solved by IPOPT optimization tool –Runs in about 50 msec

28 28 1. Minimize False Positives Forwarding table with 200K entries, 10 next hops 8 hash functions

29 29 1. Comparing with Hash Table Save 65% memory with 0.1% false positive 65%

30 30 2. Handle False Positives Design goals –Should not modify the packet –Never go to slow memory –Ensure timely packet delivery BUFFALO solution –Exclude incoming interface  Avoid loops in one false positive case –Random selection among the rest  Guarantee reachability with multiple FPs

31 31 2. One False Positive Most common case: one false positive –When there are multiple matching next hops –Avoid sending to incoming interface We prove that there is at most a 2-hop loop with a stretch <= l(AB)+l(BA) False positive A A Shortest path B B dst

32 32 2. Multiple False Positives Handle multiple false positives –Random selection from matching next hops –Random walk on shortest path tree plus a few false positive links –To eventually find out a way to the destination dst Shortest path tree for destination False positive link

33 33 2. Multiple False Positives (cont.) Provable stretch bound –With k false positives –… expected stretch is at most O(k 2 *3 k/3 ) –Proved by random walk theories Stretch bound is actually not that bad –False positives are independent  Different switches use different hash functions –k false positives for one packet are rare  Probability of k false positives drops exponentially in k Tighter bounds in special cases: e.g., tree

34 34 2. Stretch in Campus Network When fp=0.001% 99.9% of the packets have no stretch When fp=0.001% 99.9% of the packets have no stretch 0.0003% packets have a stretch of shortest path length When fp=0.5%, 0.0002% packets have a stretch 6 times of shortest path length

35 3. Update on Routing Change Use CBF in slow memory –Assist BF to handle forwarding-table updates –Easy to add/delete a forwarding-table entry CBF in slow memory BF in fast memory Delete a route

36 3. Occasionally Resize BF Under significant routing changes –# of addresses in BFs changes significantly –Re-optimize BF sizes Use CBF to assist resizing BF –Large CBF and small BF –Easy to expand BF size by contracting CBF 1 0 Hard to expand to size 4 CBF BF Easy to contract CBF to size 4

37 BUFFALO Switch Architecture 37 Prototype implemented in kernel-level Click

38 38 Prototype Evaluation Environment –3.0 GHz 64-bit Intel Xeon –2 MB L2 data cache (fast-memory size M) –200K forwarding-table entries and 10 next hops Peak forwarding rate –365 Kpps, 1.9 μs per packet –10% faster than hash-based EtherSwitch Performance with forwarding-table updates –10.7 μs to update a route –0.47 s to reconstruct BFs based on CBFs

39 39 Conclusion on BUFFALO BUFFALO –Small, bounded memory requirement –Small stretch –Fast reaction to routing updates Enabling design decisions –Bloom filter per next hop –Optimizing of Bloom filter sizes –Preventing forwarding loops –Dynamic updates using counting Bloom filters

40 40 SeaBuff Seattle + Buffalo

41 Seattle –Shortest-path routing and scalable control plane –Fewer host MAC addresses stored at switches Buffalo –Less memory for given # of routable addresses –Graceful handling of increase in # of addresses Combined data plane cache destination egress switch outgoing link Seattle Bloom filter Buffalo

42 Two Small Sources of Stretch Seattle: diverting some packets through relay B Buffalo: extra stretch from D to B, or B to A B B E E C C D D A A x x y y Traffic to x Relay for x

43 Choosing the Right Solution Spatial distribution of traffic –Sparse: caching in Seattle is effective –Dense: caching is not as effective Temporal distribution of traffic –Stable: shortest path routing is effective –Volatile: forwarding through relay spreads traffic Topology –Arbitrary: false positives have more impact –Tree-like: false positives have less impact

44 Conclusions Growing important of edge networks –Enterprise networks –Data center networks Shortest-path routing and flat addressing –Self-configuring and efficient –Scalability in exchange for stretch Ongoing work –SeaBuff = Seattle + Buffalo –Theoretical analysis of stretch in Buffalo –Efficient access control in OpenFlow


Download ppt "“Hashing Out” the Future of Enterprise and Data-Center Networks Jennifer Rexford Princeton University Joint with Changhoon."

Similar presentations


Ads by Google