Application-Aware SDN Routing for Big-Data Processing

Similar documents
Dynamic Load-balanced Path Optimization in SDN-based Data Center Networks

Comparison of SDN OpenFlow Network Simulator and Emulators: EstiNet vs. Mininet

A priority based dynamic bandwidth scheduling in SDN networks 1

Secure and QoS Aware Architecture for Cloud Using Software Defined Networks and Hadoop

ONOS: TOWARDS AN OPEN, DISTRIBUTED SDN OS. Chun Yuan Cheng

Cisco Extensible Network Controller

Informatica Universiteit van Amsterdam. Distributed Load-Balancing of Network Flows using Multi-Path Routing. Kevin Ouwehand. September 20, 2015

Software-Defined Networking (SDN) Overview

PIRE ExoGENI ENVRI preparation for Big Data science

Top-Down Network Design, Ch. 7: Selecting Switching and Routing Protocols. Top-Down Network Design. Selecting Switching and Routing Protocols

Achieving Efficient Bandwidth Utilization in Wide-Area Networks While Minimizing State Changes

BigData and Map Reduce VITMAC03

Typhoon: An SDN Enhanced Real-Time Big Data Streaming Framework

The Load Balancing Research of SDN based on Ant Colony Algorithm with Job Classification Wucai Lin1,a, Lichen Zhang2,b

Lecture 10.1 A real SDN implementation: the Google B4 case. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

MAPREDUCE FOR BIG DATA PROCESSING BASED ON NETWORK TRAFFIC PERFORMANCE Rajeshwari Adrakatti

Delay Controlled Elephant Flow Rerouting in Software Defined Network

SDN_CDN Documentation

Data Clustering on the Parallel Hadoop MapReduce Model. Dimitrios Verraros

MapReduce Design Patterns

High Performance Computing on MapReduce Programming Framework

A framework to evaluate 5G networks for smart and fail-safe communications

Software-Defined Networking (Continued)

DevoFlow: Scaling Flow Management for High-Performance Networks

Camdoop Exploiting In-network Aggregation for Big Data Applications Paolo Costa

Advanced Computer Networks. Flow Control

A Flow Aggregation Method Based on End-to-End Delay in SDN

SPARTA: Scalable Per-Address RouTing Architecture

MapReduce. U of Toronto, 2014

Software-Defined Networking. Daphné Tuncer Department of Computing Imperial College London (UK)

NaaS Network-as-a-Service in the Cloud

Expeditus: Congestion-Aware Load Balancing in Clos Data Center Networks

A Quantum Cryptography Communication Network Based on Software Defined Network

Chapter 5 Network Layer: The Control Plane

Top-Down Network Design

Introduction. Network Architecture Requirements of Data Centers in the Cloud Computing Era

Interactive Monitoring, Visualization, and Configuration of OpenFlow-Based SDN

A SDN Approach to Spectrum Brokerage in Infrastructure-based Cognitive Radio Networks

Managing and Securing Computer Networks. Guy Leduc. Chapter 2: Software-Defined Networks (SDN) Chapter 2. Chapter goals:

Themes. The Network 1. Energy in the DC: ~15% network? Energy by Technology

Centralization of Network using Openflow Protocol

A Hybrid Hierarchical Control Plane for Software-Defined Network

Default & Static Routes and Routing Information Protocol. Presented by : Mohammed Hamad

Internetworking Part 1

TCP Throughput Testing

DevoFlow: Scaling Flow Management for High Performance Networks

IQ for DNA. Interactive Query for Dynamic Network Analytics. Haoyu Song. HUAWEI TECHNOLOGIES Co., Ltd.

Tenant Aware Big Data Scheduling with Software Defined Networking

CAVA: Exploring Memory Locality for Big Data Analytics in Virtualized Clusters

Routing in a Delay Tolerant Network

A Software-Defined Networking Security Controller Architecture. Fengjun Shang, Qiang Fu

February 8th, 2017 Exam of Switching technologies for data centers (2016/17)

UNIVERSITY OF CAGLIARI

Protocols for Data Networks (aka Advanced Computer Networks)

Utilizing Datacenter Networks: Centralized or Distributed Solutions?

MULTILAYER REQUIREMENTS FOR NBI OF IP/MPLS DOMAIN CONTROLLERS

Extending the LAN. Context. Info 341 Networking and Distributed Applications. Building up the network. How to hook things together. Media NIC 10/18/10

Parallel Programming Principle and Practice. Lecture 10 Big Data Processing with MapReduce

Supporting Service Differentiation for Real-Time and Best-Effort Traffic in Stateless Wireless Ad-Hoc Networks (SWAN)

NETWORK SIMULATION USING NCTUns. Ankit Verma* Shashi Singh* Meenakshi Vyas*

DiffServ Architecture: Impact of scheduling on QoS

Software Defined Networks

ADAPTIVE HANDLING OF 3V S OF BIG DATA TO IMPROVE EFFICIENCY USING HETEROGENEOUS CLUSTERS

Networking Issues in LAN Telephony. Brian Yang

Link Failure Recovery for MPLS Networks with Multicasting

Chapter 4 Network Layer: The Data Plane

April Final Quiz COSC MapReduce Programming a) Explain briefly the main ideas and components of the MapReduce programming model.

DETOUR: A Large-Scale Non-Blocking Optical Data Center Fabric

Optical switching for scalable and programmable data center networks

TITLE: PRE-REQUISITE THEORY. 1. Introduction to Hadoop. 2. Cluster. Implement sort algorithm and run it using HADOOP

Design and development of the reactive BGP peering in softwaredefined routing exchanges

Telecommunication Services Engineering Lab. Roch H. Glitho

ayaz ali Micro & Macro Scheduling Techniques Ayaz Ali Department of Computer Science University of Houston Houston, TX

Aggregation on the Fly: Reducing Traffic for Big Data in the Cloud

Software Defined Networking

SDN/DANCES Project Update Developing Applications with Networking Capabilities via End-to-end SDN (DANCES)

Apache Spark is a fast and general-purpose engine for large-scale data processing Spark aims at achieving the following goals in the Big data context

Department of Computer Science San Marcos, TX Report Number TXSTATE-CS-TR Clustering in the Cloud. Xuan Wang

please study up before presenting

Deploying MPLS & DiffServ

Coflow. Big Data. Data-Parallel Applications. Big Datacenters for Massive Parallelism. Recent Advances and What s Next?

Application of SDN: Load Balancing & Traffic Engineering

Security improvement in IOT based on Software

Architecting the High Performance Storage Network

Could IXPs Use OpenFlow To Scale? Ivan Pepelnjak Chief Technology Advisor NIL Data Communications

c-through: Part-time Optics in Data Centers

Networking Recap Storage Intro. CSE-291 (Cloud Computing), Fall 2016 Gregory Kesden

Op#mizing MapReduce for Highly- Distributed Environments

Using the NCTUns 2.0 Network Simulator/Emulator to Facilitate Network Researches

Switching and Forwarding

Clustering Documents. Case Study 2: Document Retrieval

Episode 5. Scheduling and Traffic Management

Available online at ScienceDirect. Procedia Computer Science 98 (2016 )

Cybersecurity was nonexistent for most network data exchanges until around 1994.

Priority-Aware Scheduling for Packet-Switched Optical Networks in Datacenter

Alizadeh, M. et al., " CONGA: distributed congestion-aware load balancing for datacenters," Proc. of ACM SIGCOMM '14, 44(4): , Oct

Improving the Data Scheduling Efficiency of the IEEE (d) Mesh Network

Introduction to MapReduce

Application of Redundant Backup Technology in Network Security

Hadoop Virtualization Extensions on VMware vsphere 5 T E C H N I C A L W H I T E P A P E R

Transcription:

Application-Aware SDN Routing for Big-Data Processing Evaluation by EstiNet OpenFlow Network Emulator Director/Prof. Shie-Yuan Wang Institute of Network Engineering National ChiaoTung University Taiwan TUS 2014, 12/4/2014

Outline Introduction and Motivation Background of SDN, Hadoop, and EstiNet Contribution of this work Four Different Routing Schemes Studied Design and Implementation Performance Comparison Results Conclusion 2

3 Introduction A big-data application processes a huge amount of data on many servers. These servers need to exchange their data over a network. The current network is hard to understand the needs of applications. Its bandwidth cannot be used very efficiently to meet the run-time bandwidth demands of the application. Software-Defined Networking (SDN) provides an opportunity for the network to be application-aware. Our work is to use SDN to reduce the data shuffle time of a big-data application over a network. This is achieved by dynamically allocate better routing paths to shuffling flows (and reroute them if necessary) in a bigdata application.

Background SDN Hadoop EstiNet 4

SDN A new and emergent network technology that centrally controls the network Separate the control plane (e.g., routing) from the data plane (e.g., packet forwarding) of a network device Implement control logic outside of the network device by a centralized controller Use the OpenFlow protocol to control all network devices in a network The controller installs flow entries into network devices to control their packet forwarding behavior. 5

SDN (cont d) Has a global view to find the best routing path for a flow at run time Can dynamically change the paths of flows at run time to best utilize the network bandwidth In our work, we studied the performance of the Floodlight SDN controller and used it as the platform to implement our application-aware routing scheme. 6

Software-Defined Network (SDN) Northbound API Controller (e.g., NOX/POX, Floodlight, Open Daylight, etc.) Southbound API (e.g., OpenFlow) Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding

Hadoop Hadoop is a very popular open source Big-Data application system developed by Apache software foundation. The Hadoop MapReduce System splits a job into multiple tasks to process them in parallel on multiple servers. The phases of a job is divided into the Map, Shuffle, and Reduce phases. During the Shuffle phase, many servers need to exchange their intermediate results over a network. 8

Hadoop (cont d) Our goal is to reduce the data shuffle time by using the SDN technology to allocate better routing paths to shuffling flows (and reroute the paths if necessary). This is achieved by the Hadoop controller telling the SDN controller the transfer traffic volumes of shuffling flows. 9

Hadoop Our Focus 10

EstiNet EstiNet is a network simulator and emulator developed by me and EstiNetTechnologies, Inc. (www.estinet.com). An article describing it was published in IEEE Communication Magazine, September 2013. EstiNet uses an innovative methodology to accurately simulate and emulate an OpenFlow (V1.4) network. In EstiNet, the real-life TCP/IP protocol in Linux is directly used to generate accurate results. In EstiNet, real-life network application programs can be directly run up on hosts in a simulated network to generate realistic traffic. It is more accurate, reliable, and scalable than other similar tools such as Mininet. (IEEE ISCC 2014 conference paper) 11

12 You Can Download It to Give it a Try

A Book about EstiNet Is Soon To Be Published 13

EstiNet (cont d) We run EstiNet on a server machine with 16 Ethernet ports to emulate the OpenFlow network. (The server machine is equipped with 4 Ethernet cards, each with four Ethernet ports.) The emulated OpenFlow network is a fat-tree network composed of 20 OpenFlow switches. 16 Hadoop servers connect to this EstiNet machine to exchange their real data over the emulated network. By using EstiNet, we do not need to purchase 20 OpenFlow switches and can thus save a lot of cost. 14

The Network Emulated by EstiNet A fat tree topology This OpenFlow network is emulated by a machine running EstiNet. 15 These servers are all real servers. They all connect to the EstiNet machine.

Contribution of This Work We study how effective an application-aware routing scheme can reduce the data shuffle time of a big-data job. We compared our application-aware routing scheme against 1) the spanning tree protocol, 2) the Floodlight SDN controller, and 3) the ECMP routing scheme. (None of these schemes are application-aware.) We found that the traditional spanning tree protocol and the Floodlight SDN controller perform the worst. 16

Contribution of This Work (cont d) We found that the ECMP scheme performs quite well, although it is not application-aware. It can outperform the spanning tree protocol or the Floodlight by up to 50%. We found that an application-aware SDN routing scheme (such as ours) can further outperform ECMP by 20%. 17

Four Routing Schemes Studied The Spanning Tree Protocol Floodlight SDN Forwarding Module Equal Cost Multiple Path (ECMP) Routing Our Application-Aware SDN Routing 18

Spanning Tree Protocol Its goal is to prevent the packet broadcast storm problem, which may happen on a network with loops. Select some links on the network topology to construct a spanning tree. Unselected links are disabled. Packets are forwarded only on the spanning tree, thus no routing loops and packet broadcast storm problem will happen. This is the most common approach used today. But the network bandwidth is not fully utilized because the links not on the spanning tree are not used. 19

20 A Constructed Spanning Tree

21 Floodlight SDN Controller The forwarding module in the Floodlight SDN controller wants to overcome the spanning tree problem. It gives each server a different broadcast tree rooted at that server. The goal is to use N broadcast trees when there are N servers in the network, hoping that all links and their bandwidth can be used at the same time. In theory, these N broadcast trees can use all links at the same time. However, we found that in practice, these N broadcast trees are quite similar and they only use a few common links. Thus, you will see that the Floodlight SDN forwarding module performs as poorly as the spanning tree protocol.

A Floodlight Broadcast Tree Rooted at Server 9 22

Equal Cost Multiple Path (ECMP) Routing Normally, the routing path between a pair of servers is a single path. ECMP tries to use equal-cost (i.e., equal number of hops) multiple paths between a pair of servers at the same time to increase the transfer throughput and reliability. ECMP normally works with a layer-3 routing protocol such as the OSPF routing protocol. To spread traffic over multiple paths, ECMP can use the round-robin policy (or other policies such as the random policy) Due to the use of multiple paths at the same time, you will see that ECMP can outperform the spanning tree protocol and the Floodlight SDN forwarding module by up to 50%. 23

Two ECMP Paths Used In Parallel between Server 3 and Server 14 24

Our Application-Aware SDN Routing 25 It chooses routing paths with no load (or light load) for shuffling flows to maximize the use of network bandwidth. It monitors the load of all links in the network at any time. It knows the transfer traffic volumes of each shuffling flow from Hadoop controller and uses the information to predict future link loads. It uses the special property of the fat-tree network topology to know the degree of freedom of rerouting a path between two servers. It uses the SDN technology to easily set up routing paths and re-route them when necessary. It performs the best among the four studied routing schemes.

Interworking between Hadoop, Floodlight, and EstiNet 26

27 Design and Implementation

Three Kinds of Connections A connection between two servers can be classified into (i) a rack-local connection (they are directly connected by an edge-layer switch), (ii) a pod-local connection, or (iii) a remote connection. 28

Relationship between Two Pods The relationship between two pods can be (i) one-to-one mapping (e.g., pod 0 and pod 2) or (ii) all-to-all mapping (e.g., pod 0 and pod 1) 29

Implementation on Floodlight Controller Hadoop Provide shuffling flows information Floodlight Controller MapReduceManager Provide shuffling flows information RoutingComponent 30

Implementation of the Routing Component 31

Routing Path Allocation Priority For better path allocation, the RoutingComponent allocate paths for shuffling flows in the following order: One-to-one mapping remote-connection shuffling flows have the highest priority (because they need to use core switches and have less scheduling freedom) All-to-all remote-connection shuffling flows have middle priority (because they need to use core switches and have higher scheduling freedom) The pod-local shuffling flows have the lowest priority (because they need not use core switches) Finally, the rack-local shuffling flows are then scheduled (because their paths are unique and direct paths) 32

Path Selection from Multiple Equal- Cost Paths When iteratively allocating paths for shuffling flows, if a shuffling flow has multiple equal-cost paths to choose from, we choose the path according to the following rule: Transfer volume = 1 MB Transfer volume = 10 MB Transfer volume = 0.1 MB Transfer volume = 0.5 MB src dst Transfer volume = 0.1 MB Transfer volume = 0.7 MB Transfer volume = 1 MB Transfer volume = 10 MB 33

34 Performance Evaluation

35 Performance Evaluation Emulated network topology: a fat tree topology Link bandwidth: 5 Mbps (to make the emulation still real-time) Link propagation delay: 1 ms Routing schemes compared: Spanning Tree protocol Floodlight SDN Forwarding module ECMP with Round-Robin policy Our application-aware SDN routing Performance metrics: Total shuffle time of each scheme Shuffle-Time-Reduction-Percentage (STRP) of our scheme compared to each of the other schemes

Experimental Setup 16 Hadoop servers, 1 Floodlight SDN controller, and 1 EstiNet Emulator 36

37 Controlled-Variable Experiments We run the WordCount job with artificial input data to precisely control the values of variables. The goal is to see the impacts of these variables on the performance of the four compared routing schemes. Three variables are studied: The number of Reducers (note that the number of Mapper are always fixed to 16) The transfer file size ratios (One Reducer needs to receive N times the amount of data that other Reducers need to receive.) The number of heavy-weight Reducers (A heavy-weight Reducer receives 2 times the amount of data that other Reducer need to receive.)

Experiment 1 : Shuffle Data with Different Number of Reducers Mapper Reducer Receive 3.5 MB from each Mapper Mapper 16 N = 1 to 16 Receive 3.5 MB from each Mapper Mapper Reducer Receive 3.5 MB from each Mapper 38

STRP (%) Shuffle time (seconds) Total shuffle time 350 300 250 200 150 100 50 0 1 4 8 12 16 Number of Reducers Spanning Tree ECMP-RR Floodlight Application-Aware SDN 80 70 60 50 40 30 20 10 0 STRP of our method 1 4 8 12 16 Number of Reducers Relative to Spanning Tree Relative to ECMP-RR Relative to Floodlight 39

Floodlight Only Uses a Few Links Floodlight builds a broadcast tree for each server. But most of them are common. The following shows all of the used links in the UP direction. Not many links in the network are used. 40

ECMP s Local Decision on Each Switch May Result in Bottlenecks Ahead E.g., For the connections from server 3 to 5 and from 4 to 6, the bottleneck is on the link in pod 1, which cannot be foreseen in pod 0. 41

Application-Aware SDN Routing Can Achieve the Best Performance Application-Aware SDN routing has moved the places of performance bottleneck to the links between the edge-layer switches and servers, which is already the best arrangement. 42

Experiment 2 : Shuffle Data with Different File Size Ratios Mapper Reducer Receive 3.5 MB from each Mapper Mapper Reducer Receive 3.5 MB from each Mapper 16 16 Mapper Reducer Receive 3.5* N MB from each Mapper 43

STRP (%) Shuffle time (seconds) Total shuffle time 700 600 500 400 300 200 100 0 1 2 3 4 5 File size ratio Spanning Tree ECMP-RR Floodlight Application-Aware SDN 80 70 60 50 40 30 20 10 0 STRP of our method 1 2 3 4 5 File size ratio Relative to Spanning Tree Relative to ECMP-RR Relative to Floodlight 44

Experiment 3 : Shuffle Data with Different Number of Heavy-Weight Reducers 16 Mapper Mapper Reducer 16-N Receive 1.75 MB from each Mapper Mapper Reducer N = 1 to 16 Receive 3.5 MB from each Mapper 45

STRP (%) Shuffle time (seconds) Total shuffle time 350 300 250 200 150 100 50 0 1 4 8 12 16 Number of Heavy-Weight Reducers Spanning Tree ECMP-RR Floodlight Application-Aware SDN 46 80 70 60 50 40 30 20 10 0 STRP of our method 1 4 8 12 16 Number of Heavy-Weight Reducers Relative to Spanning Tree Relative to ECMP-RR Relative to Floodlight

Real-World Data Experiment Run the WordCount job with real-world input data We use all (over 6,500) RFC files as the input data. Mapper Reducer Receive data from each Mapper Mapper 16 N = 1 to 16 Receive data from each Mapper Mapper Reducer Receive data from each Mapper 47

STRP (%) Shuffle time (seconds) Total shuffle time 1200 1000 800 600 400 200 Spanning Tree ECMP-RR Floodlight Application-Aware SDN 0 1 4 8 12 16 Number of Reducers STRP of our method 70 60 50 40 30 20 10 0 1 4 8 12 16 Number of Reducers Relative to Spanning Tree Relative to ECMP-RR Relative to Floodlight 48

Conclusion Our application-aware SDN routing can reduce the shuffle time by up to 70% when compared with the spanning tree protocol or the Floodlight SDN controller, none of them is application-aware. ECMP can perform better than the spanning tree protocol and the Floodlight SDN controller by up to 50% because it uses multiple paths at the same time. 49

Conclusion (cont d) Our application-aware SDN routing scheme can outperform ECMP by about 20% because ECMP can only make local decisions without a global view. An application-aware SDN routing scheme can greatly reduce the data shuffle time of a big-data application and it is useful. 50

Future Work The current path allocation procedure is an iterative method. It allocates paths one-by-one based on the most recent load (traffic volume) condition. To save time, it does not try all combinations to search for the best allocation plan. Thus, it may not be optimal and can be improved further. Different big-data applications (e.g., medical data, financial data, IoT data, etc.) may exhibit different shuffling traffic volume patterns. Instead of using a general-purpose path allocation procedure, using a special-purpose path allocation procedure may generate more performance boost. 51

Thank you for your attention. shieyuan@cs.nctu.edu.tw 52