Symbiotic Routing in Future Data Centers Hussam Abu-Libdeh, Paolo Costa, Antony Rowstron, Greg OShea, Austin Donnelly Cornell University Microsoft Research.

Slides:



Advertisements
Similar presentations
Computer Networks TCP/IP Protocol Suite.
Advertisements

1 UNIT I (Contd..) High-Speed LANs. 2 Introduction Fast Ethernet and Gigabit Ethernet Fast Ethernet and Gigabit Ethernet Fibre Channel Fibre Channel High-speed.
Distributed Systems Architectures
OSPF 1.
Wenke Lee and Nick Feamster Georgia Tech Botnet and Spam Detection in High-Speed Networks.
Wenke Lee and Nick Feamster Georgia Tech Botnet and Spam Detection in High-Speed Networks.
Multihoming and Multi-path Routing
1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster.
Multihoming and Multi-path Routing
Data Center Networking with Multipath TCP
1 Multi-Channel Wireless Networks: Capacity and Protocols Nitin H. Vaidya University of Illinois at Urbana-Champaign Joint work with Pradeep Kyasanur Chandrakanth.
Scalable Routing In Delay Tolerant Networks
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Chapter 6 File Systems 6.1 Files 6.2 Directories
Communicating over the Network
Video Services over Software-Defined Networks
Streaming Video over the Internet
1 Communication in Distributed Systems REKs adaptation of Tanenbaums Distributed Systems Chapter 2.
Chapter 1 Data Communications and NM Overview 1-1 Chapter 1
Peer-to-Peer and Social Networks An overview of Gnutella.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Logically-Centralized Control COS 597E: Software Defined Networking.
The IP Revolution. Page 2 The IP Revolution IP Revolution Why now? The 3 Pillars of the IP Revolution How IP changes everything.
Chapter 1: Introduction to Scaling Networks
Local Area Networks - Internetworking
The Platform as a Service Model for Networking Eric Keller, Jennifer Rexford Princeton University INM/WREN 2010.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 2 The OSI Model and the TCP/IP.
Chapter 9 Introduction to MAN and WAN
Megastore: Providing Scalable, Highly Available Storage for Interactive Services. Presented by: Hanan Hamdan Supervised by: Dr. Amer Badarneh 1.
INTRODUCTION TO SIMULATION WITH OMNET++ José Daniel García Sánchez ARCOS Group – University Carlos III of Madrid.
1 Sizing the Streaming Media Cluster Solution for a Given Workload Lucy Cherkasova and Wenting Tang HPLabs.
Capacity of wireless ad-hoc networks By Kumar Manvendra October 31,2002.
Countering DoS Attacks with Stateless Multipath Overlays Presented by Yan Zhang.
Johan Garcia Karlstads Universitet Datavetenskap 1 Datakommunikation II Signaling/Voice over IP / SIP Based on material from Henning Schulzrinne, Columbia.
Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.
Routing and Congestion Problems in General Networks Presented by Jun Zou CAS 744.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 ETHERNET Derived From CCNA Network Fundamentals – Chapter 9 EN0129 PC AND NETWORK TECHNOLOGY.
1 Introduction to Network Layer Lesson 09 NETS2150/2850 School of Information Technologies.
Executional Architecture
KAIST Computer Architecture Lab. The Effect of Multi-core on HPC Applications in Virtualized Systems Jaeung Han¹, Jeongseob Ahn¹, Changdae Kim¹, Youngjin.
25 seconds left…...
Multihoming and Multi-path Routing CS 7260 Nick Feamster January
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Link-State Routing Protocols Routing Protocols and Concepts – Chapter.
Delay Analysis and Optimality of Scheduling Policies for Multihop Wireless Networks Gagan Raj Gupta Post-Doctoral Research Associate with the Parallel.
Scalable Rule Management for Data Centers Masoud Moshref, Minlan Yu, Abhishek Sharma, Ramesh Govindan 4/3/2013.
New Opportunities for Load Balancing in Network-Wide Intrusion Detection Systems Victor Heorhiadi, Michael K. Reiter, Vyas Sekar UNC Chapel Hill UNC Chapel.
Pastry Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK Some slides are borrowed from the original presentation by the authors.
SDN + Storage.
Scalable Content-Addressable Network Lintao Liu
BCube: A High Performance, Server-centric Network Architecture for Modular Data Centers Chuanxiong Guo1, Guohan Lu1, Dan Li1, Haitao Wu1, Xuan Zhang2,
Cs/ee 143 Communication Networks Chapter 6 Internetworking Text: Walrand & Parekh, 2010 Steven Low CMS, EE, Caltech.
Reconfigurable Network Topologies at Rack Scale
1 Lecture 24: Interconnection Networks Topics: communication latency, centralized and decentralized switches (Sections 8.1 – 8.5)
A Scalable, Commodity Data Center Network Architecture Mohammad Al-Fares, Alexander Loukissas, Amin Vahdat Presented by Gregory Peaker and Tyler Maclean.
Ji-Yong Shin * Bernard Wong +, and Emin Gün Sirer * * Cornell University + University of Waterloo 2 nd ACM Symposium on Cloud ComputingOct 27, 2011 Small-World.
A Scalable, Commodity Data Center Network Architecture.
Camdoop: Exploiting In-network Aggregation for Big Data Applications Paolo Costa, Austin Donnelly, Antony Rowstron, Greg O’Shea Presenter – Manoj Kumar(mkumar11)
1 Internet Routing. 2 Terminology Forwarding –Refers to datagram transfer –Performed by host or router –Uses routing table Routing –Refers to propagation.
VL2: A Scalable and Flexible Data Center Network Albert Greenberg, James R. Hamilton, Navendu Jain, Srikanth Kandula, Changhoon Kim, Parantap Lahiri, David.
Symbiotic Routing in Future Data Centers Hussam Abu-Libdeh Paolo Costa Antony Rowstron Greg O’Shea Austin Donnelly MICROSOFT RESEARCH Presented By Deng.
SYMBIOTIC ROUTING IN FUTURE DATA CENTER 工科三 陳泰穎. Outline 1. CamCube 1. Traditional data center 2. The problems 3. CamCube philosophy 4. Feature 5. What’s.
Camdoop Exploiting In-network Aggregation for Big Data Applications
Large Scale Sharing Marco F. Duarte COMP 520: Distributed Systems September 19, 2004.
CubicRing ENABLING ONE-HOP FAILURE DETECTION AND RECOVERY FOR DISTRIBUTED IN- MEMORY STORAGE SYSTEMS Yiming Zhang, Chuanxiong Guo, Dongsheng Li, Rui Chu,
VL2: A Scalable and Flexible Data Center Network
CIS 700-5: The Design and Implementation of Cloud Networks
Architecture and Algorithms for an IEEE 802
Data Center Network Architectures
Impact of Neighbor Selection on Performance and Resilience of Structured P2P Networks Sushma Maramreddy.
BCube: A High Performance, Server-centric Network Architecture for Modular Data Centers Chuanxiong Guo1, Guohan Lu1, Dan Li1, Haitao Wu1, Xuan Zhang2,
Switch controller: Routing
Presentation transcript:

Symbiotic Routing in Future Data Centers Hussam Abu-Libdeh, Paolo Costa, Antony Rowstron, Greg OShea, Austin Donnelly Cornell University Microsoft Research Cambridge 1

Data center networking Network principles evolved from Internet systems Multiple administrative domains Heterogeneous environment But data centers are different Single administrative domains Total control over all operational aspects Re-examine the network in this new setting 2

Performance Isolation Bandwidth Fault Tolerance Graceful Degradation Scalability TCO Commodity Components Modular Design Rethinking DC networks New proposals for data center network architectures DCell, BCube, Fat-tree, VL2, PortLand … Network interface has not changed! Network Interface 3

Challenge The network is a black box to applications Must infer network properties Locality, congestion, failure …etc Little or no control over routing Applications are a black box to the network Must infer flow properties E.g. Traffic engineering/Hedera In consequence Todays data centers and proposals use a single protocol Routing trade-offs made in an application-agnostic way E.g. Latency, throughput, …etc 4

CamCube A new data center design Nodes are commodity x86 servers with local storage Container-based model 1,500-2,500 servers Direct-connect 3D torus topology Six Ethernet ports / server Servers have (x,y,z) coordinates Defines coordinate space Simple 1-hop API Send/receive packets to/from 1-hop neighbours Not using TCP/IP Everything is a service Run on all servers Multi-hop routing is a service Simple link state protocol Route packets along shortest paths from source to destination 5 (0,2,0) x y z

Development experience Built many data center services on CamCube E.g. High-throughput transport service Desired property: high throughput Large-file multicast service Desired property: low link load Aggregation service Desired property: distribute computation load over servers Distributed object cache service Desired property: per-key caches, low path stretch 6

Per-service routing protocols Higher flexibility Services optimize for different objectives High throughput transport disjoint paths Increases throughput File multicast non-disjoint paths Decreases network load 7

What is the benefit? Prototype Testbed 27 servers, 3x3x3 CamCube Quad core, 4 GB RAM, six 1Gbps Ethernet ports Large-scale packet-level discrete event simulator 8,000 servers, 20x20x20 CamCube 1Gbps links Service code runs unmodified on cluster and simulator 8

Service-level benefits High throughput transport service 1 sender 2000 receivers Sequential iteration 10,000 packets/flow 1500 bytes/packet Metric: throughput Shown: custom/base ratio 9

Service-level benefits Large-file multicast service 8,000-server network 1 multicast group Group size: 0% 100% of servers Metric: # of links in multicast tree Shown: custom/base ratio 10

Service-level benefits Distributed object cache service 8,000-server network 8,000,000 key-object pairs Evenly distributed among servers 800,000 lookups 100 lookups per server Keys picked by Zipf distribution 1 primary + 8 replicas per key Replicas unpopulated initially Metric: path length to nearest hit 11

Network impact Ran all services simultaneously No correlation in link usage Reduction in link utilization Take-away: custom routing reduced network load and increased service-level performance 12

Symbiotic routing relations Multiple routing protocols running concurrently Routing state shared with base routing protocol Services Use one or more routing protocols Use base protocol to simplify their custom protocols Network failures Handled by base protocol Services route for common case 13 Network Base Routing Protocol Routing Protocol 1Routing Protocol 2Routing Protocol 3 Service AService B Service C

Building a routing framework Simplify building custom routing protocols Routing: Build routes from set of intermediate points Coordinates in the coordinate space Services provide forwarding function F Framework routes between intermediate points Use base routing service Consistently remap coordinate space on node failure Queuing: Services manage packet queues per link Fair queuing between services per link 14 packet local coord next coord

Example: cache service Distributed key-object caching Key-space mapped onto CamCube coordinate space Per-key caches Evenly distributed across coordinate space Cache coordinates easily computable based on key 15

Cache service routing Routing Source nearest cache or primary On cache miss: cache primary Populate cache: primary cache F function computed at Source Cache Primary Different packets can use different links Accommodate network conditions E.g. congestion 16 source/querier nearest cache primary server

On link failure Base protocol routes around failure On replica server failure Key space consistently remapped by framework F function does not change Developer only targets common case Framework handles corner cases Handling failures 17 source/querier nearest cache primary server

Cache service F function protected override List F(int neighborIndex, ulong currentDestinationKey, Packet packet) { List nextKeys = new List (); ulong itemKey = LookupPacket.GetItemKey(packet); ulong sourceKey = LookupPacket.GetSourceKey(packet); if (currentDestinationKey == sourceKey) // am I the source? { // get the list of caches (using KeyValueStore static method) ulong[] cachesKey = ServiceKeyValueStore.GetCaches(itemKey); // iterate over all cache nodes and keep the closest ones int minDistance = int.MaxValue; foreach (ulong cacheKey in cachesKey) { int distance = node.nodeid.DistanceTo(LongKeyToKeyCoord(cacheKey)); if (distance < minDistance) { nextKeys.Clear(); nextKeys.Add(cacheKey); minDistance = distance; } else if (distance == minDistance) nextKeys.Add(cacheKey); } } else if (currentDestinationKey != itemKey) // am I the cache? nextKeys.Add(itemKey); return nextKeys; } 18 extract packet details if at source, route to nearest cache or primary if cache miss, route to primary

Framework overhead Benchmark performance Single server in testbed Communicate with all six 1-hop neighbors (Tx + Rx) Sustained 11.8 Gbps throughput Out of upper bound of 12 Gbps User-space routing overhead 19

What have we done Services only specify a routing skeleton Framework fills in the details Control messages and failures handled by framework Reduce routing complexity for services Opt-in basis Services define custom protocols only if they need to 20

Network requirements Per-service routing not limited to CamCube Network need only provide: Path diversity Providing routing options Topology awareness Expose server locality and connectivity Programmable components Allow per-service routing logic 21

Conclusions Data center networking from the developers perspective Custom routing protocols to optimize for application-level performance requirements Presented a framework for custom routing protocols Applications specify a forwarding function (F) and queuing hints Framework manages network state, control messages, and remapping on failure Multiple routing protocols running concurrently Increase application-level performance Decrease network load 22

Thank You! Questions? 23

Cache service Insert throughput Disk I/O bounded Ingress bandwidth bounded (3 front-ends) 24

Cache service Lookup requests/second Ingress bandwidth bounded 25

Cache service CPU Utilization on FEs 3 front-ends 27 front-ends 26

Camcube link latency 27