Throughput Maximization in Software-Defined Networks with Consolidated Middleboxes

Similar documents
COMPUTER networks nowadays rely on various middleboxes,

Dynamic Optimization. Assignment 1. Sasanka Nagavalli January 29, 2013 Robotics Institute Carnegie Mellon University

Dynamic Lightpath Protection in WDM Mesh Networks under Wavelength Continuity Constraint

A Comparison of Two Equivalent Real Formulations for Complex-Valued Linear Systems Part 2: Results

A NSGA-II algorithm to solve a bi-objective optimization of the redundancy allocation problem for series-parallel systems

Priority based Dynamic Multiple Robot Path Planning

NETWORK 2001 Transportation Planning Under Multiple Objectives

PRACTICAL, COMPUTATION EFFICIENT HIGH-ORDER NEURAL NETWORK FOR ROTATION AND SHIFT INVARIANT PATTERN RECOGNITION. Evgeny Artyomov and Orly Yadid-Pecht

Distributed Algorithms for the Operator Placement Problem

Resource Allocation Optimization for Device-to- Device Communication Underlaying Cellular Networks

On Interference Alignment for Multi-hop MIMO Networks

Algorithms Airline Scheduling. Airline Scheduling. Design and Analysis of Algorithms Andrei Bulatov

Decision aid methodologies in transportation

ELECTRONIC WAVELENGTH TRANSLATION IN OPTICAL NETWORKS. Milan Kovacevic and Anthony Acampora. Center for Telecommunications Research

Learning Ensembles of Convolutional Neural Networks

High Speed, Low Power And Area Efficient Carry-Select Adder

Traffic balancing over licensed and unlicensed bands in heterogeneous networks

Topology Control for C-RAN Architecture Based on Complex Network

Full-duplex Relaying for D2D Communication in mmwave based 5G Networks

Network Reconfiguration in Distribution Systems Using a Modified TS Algorithm

Efficient Large Integers Arithmetic by Adopting Squaring and Complement Recoding Techniques

Define Y = # of mobiles from M total mobiles that have an adequate link. Measure of average portion of mobiles allocated a link of adequate quality.

Resource Control for Elastic Traffic in CDMA Networks

Passive Filters. References: Barbow (pp ), Hayes & Horowitz (pp 32-60), Rizzoni (Chap. 6)

Asynchronous TDMA ad hoc networks: Scheduling and Performance

Graph Method for Solving Switched Capacitors Circuits

A MODIFIED DIRECTIONAL FREQUENCY REUSE PLAN BASED ON CHANNEL ALTERNATION AND ROTATION

Asynchronous TDMA ad hoc networks: Scheduling and Performance

To: Professor Avitabile Date: February 4, 2003 From: Mechanical Student Subject: Experiment #1 Numerical Methods Using Excel

A TWO-PLAYER MODEL FOR THE SIMULTANEOUS LOCATION OF FRANCHISING SERVICES WITH PREFERENTIAL RIGHTS

Resource Scheduling in Dependable Integrated Modular Avionics

Review: Our Approach 2. CSC310 Information Theory

Optical Amplifiers Placement in WDM Mesh Networks for Optical Multicasting Service Support

Characterization and Analysis of Multi-Hop Wireless MIMO Network Throughput

Adaptive Modulation for Multiple Antenna Channels

Optimal Transmission Scheduling of Cooperative Communications with A Full-duplex Relay

The Impact of Spectrum Sensing Frequency and Packet- Loading Scheme on Multimedia Transmission over Cognitive Radio Networks

Calculation of the received voltage due to the radiation from multiple co-frequency sources

Distributed Channel Allocation Algorithm with Power Control

Understanding the Spike Algorithm

Adaptive Avatar Handoff in the Cloudlet Network

Optimal Multicast in Multi-Channel Multi-Radio Wireless Networks

Joint Rate-Routing Control for Fair and Efficient Data Gathering in Wireless sensor Networks

Joint Backup Capacity Allocation and Embedding for Survivable Virtual Networks

A Fuzzy-based Routing Strategy for Multihop Cognitive Radio Networks

IEE Electronics Letters, vol 34, no 17, August 1998, pp ESTIMATING STARTING POINT OF CONDUCTION OF CMOS GATES

Optimal Placement of PMU and RTU by Hybrid Genetic Algorithm and Simulated Annealing for Multiarea Power System State Estimation

Performance Analysis of Multi User MIMO System with Block-Diagonalization Precoding Scheme

Comparative Analysis of Reuse 1 and 3 in Cellular Network Based On SIR Distribution and Rate

Exploiting Dynamic Workload Variation in Low Energy Preemptive Task Scheduling

Joint Adaptive Modulation and Power Allocation in Cognitive Radio Networks

Opportunistic Beamforming for Finite Horizon Multicast

Weighted Penalty Model for Content Balancing in CATS

The Synthesis of Dependable Communication Networks for Automotive Systems

Iterative Water-filling for Load-balancing in

High Speed ADC Sampling Transients

Rational Secret Sharing without Broadcast

Dynamic Lightpath Protection in WDM Mesh Networks under Risk-Disjoint Constraint

Joint Routing and Link Scheduling for Wireless Mesh Networks through Genetic Algorithms

Mission-Aware Placement of RF-based Power Transmitters in Wireless Sensor Networks

Redes de Comunicação em Ambientes Industriais Aula 8

antenna antenna (4.139)

HUAWEI TECHNOLOGIES CO., LTD. Huawei Proprietary Page 1

TECHNICAL RESEARCH REPORT

A Game Theoretic Approach for Distributed Resource Allocation and Orchestration of Softwarized Networks

The Spectrum Sharing in Cognitive Radio Networks Based on Competitive Price Game

Frequency Assignment for Multi-Cell IEEE Wireless Networks

The Effect Of Phase-Shifting Transformer On Total Consumers Payments

Walsh Function Based Synthesis Method of PWM Pattern for Full-Bridge Inverter

TECHNICAL NOTE TERMINATION FOR POINT- TO-POINT SYSTEMS TN TERMINATON FOR POINT-TO-POINT SYSTEMS. Zo = L C. ω - angular frequency = 2πf

Research of Dispatching Method in Elevator Group Control System Based on Fuzzy Neural Network. Yufeng Dai a, Yun Du b

Multiband Jamming Strategies with Minimum Rate Constraints

arxiv: v1 [cs.ni] 14 Oct 2015

Throughput Maximization by Adaptive Threshold Adjustment for AMC Systems

Dynamic Wavelength Routing in WDM Networks under Multiple Signal Quality Constraints

QoS Provisioning in Wireless Data Networks under Non-Continuously Backlogged Users

MTBF PREDICTION REPORT

Electricity Network Reliability Optimization

MAINTENANCE-IMMUNE DESIGN OF SPAN-RESTORABLE MESH NETWORKS

An Application-Aware Spectrum Sharing Approach for Commercial Use of 3.5 GHz Spectrum

Decomposition Principles and Online Learning in Cross-Layer Optimization for Delay-Sensitive Applications

Optimal Sizing and Allocation of Residential Photovoltaic Panels in a Distribution Network for Ancillary Services Application

EE 508 Lecture 6. Degrees of Freedom The Approximation Problem

Figure.1. Basic model of an impedance source converter JCHPS Special Issue 12: August Page 13

Chaotic Filter Bank for Computer Cryptography

On High Spatial Reuse Broadcast Scheduling in STDMA Wireless Ad Hoc Networks

Enhancing Throughput in Wireless Multi-Hop Network with Multiple Packet Reception

Research on the Process-level Production Scheduling Optimization Based on the Manufacturing Process Simplifies

Spectrum Auction Framework for Access Allocation in Cognitive Radio Networks

NOVEL ITERATIVE TECHNIQUES FOR RADAR TARGET DISCRIMINATION

4492 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 65, NO. 10, OCTOBER 2017

Cloud of Things for Sensing-as-a-Service: Architecture, Algorithms, and Use Case

TODAY S wireless networks are characterized as a static

A study of turbo codes for multilevel modulations in Gaussian and mobile channels

Maximizing Lifetime of Sensor-Target Surveillance in Wireless Sensor Networks

Subcarrier allocation for OFDMA wireless channels using lagrangian relaxation methods

Capacitated set-covering model considering the distance objective and dependency of alternative facilities

Joint Subcarrier and CPU Time Allocation for Mobile Edge Computing

RESOURCE CONTROL FOR HYBRID CODE AND TIME DIVISION SCHEDULING

Planning of Relay Station Locations in IEEE (WiMAX) Networks

Transcription:

216 IEEE 41st Conference on Local Computer Networks Throughput Maxmzaton n Software-Defned Networks wth Consoldated Mddleboxes Metan Huang, Wefa Lang, Zchuan Xu, Mke Ja, and Song Guo The Australan Natonal Unversty, Canberra, ACT 261, Australa Unversty College London, London WC1E 7JE, UK The Hong Kong Polytechnc Unversty, Hong Kong Emal: u4748@anu.edu.au, wlang@cs.anu.edu.au, z.xu@ucl.ac.uk, u5515287@anu.edu.au, cssongguo@comp.polyu.edu.hk Abstract Today s computer networks rely on a wde spectrum of specalzed mddleboxes to mprove ther securty and performance. Tradtonal mddleboxes that are mplemented by dedcated hardware are expensve and hard to manage. A promsng technque of consoldated mddleboxes mplementng tradtonal mddleboxes n Vrtual Machnes (VMs) offers economcal yet smplfed management of mddleboxes n Software-Defned Networks (SDNs). However there are stll challenges to realzng user routng requests wth network functon enforcement (a sequence of mddleboxes) whle maxmzng the network throughput, due to varous resource constrants on SDNs, such as forwardng table capacty at each swtch, bandwdth resource capacty at each lnk, and computng resource capacty at each server (Physcal Machne). In ths paper, we study the problem of maxmzng the network throughput of an SDN by admttng as many user requests as possble, where each user request has both bandwdth and computng resource demands to mplement ts network functons (consoldated mddleboxes). We frst formulate the problem as a novel network throughput maxmzaton problem. We then provde an Integer Lnear Program (ILP) soluton for t f the problem sze s small, otherwse, we devse two heurstcs that strve for the fne tradeoff between the accuracy of solutons and the runnng tmes of achevng the solutons. We fnally evaluate the performance of the proposed algorthms by smulatons, based on real and synthetc network topologes. Expermental results demonstrate that the proposed algorthms are very promsng. Keywords software-defned networkng, network functon vrtualzaton, consoldated mddleboxes, routng algorthms, network resource allocaton. I. INTRODUCTION Computer networks nowadays rely on varous mddleboxes, ncludng frewall, Intruson Detecton Systems (IDSs), WAN optmzers, and Deep Packet Inspecton (DPI), to enhance the performance and securty of dfferent network servces [7], [11], [2]. Unfortunately, the management and deployment of hardware mddleboxes are hghly complex and costly [2]. Wth the advancement of the Network Functon Vrtualzaton (NFV), mddleboxes can be mplemented n Vrtual Machnes (VMs) that run n Physcal Machnes (PMs) [6], [18], [2]. We refer to the software mplementatons of mddleboxes as the consoldated mddleboxes. Along wth the technque of Software-Defned Networkng (SDN), consoldated mddleboxes offer a promsng alternatve method to provde cheap and smplfed management of mddleboxes [9], [19]. In ths paper we deal wth realzng user requests wth each specfyng a sequence of mddleboxes n an SDN wth the am to maxmze the throughput of the network. Ths problem poses great challenges: one s that there are many dfferent types of resources n an SDN wth lmted capactes. For nstance, the forwardng table of an SDN-enabled swtch usually s made by Ternary Content-Addressable Memory (TCAM) to facltate fast, parallel lookups of forwardng rules. However, TCAM s expensve and energy hungry, ts capacty thus s restrcted to a few thousands [13]. Meanwhle, the computng resource of the PM attached to an SDN-enabled swtch s lmted too. Another challenge s that the resources n an SDN are allocated dynamcally, causng sgnfcant fluctuatons n ther consumptons and avalabltes. Such tme-varyng nature of resource demands and consumptons complcates the cost modelng of resource usages. In addton, each user request requres ts traffc to traverse a specfed sequence of mddleboxes that s referred to the servce chan of the request. To tackle the challenges, n ths paper we nnovatvely propose a cost model to accurately capture dynamc resource consumptons n an SDN. We then propose effcent algorthms that jontly meet the servce chans and resource demands on traffc routng of varous user requests. Despte that there are several studes of consoldated mddleboxes [3], [9], [18], none of them has taken the forwardng table sze nto consderaton, and they provded suboptmal solutons to the problem by decomposng routng from servce chan executon [9]. To the best of our knowledge, we are the frst to formulate a novel routng optmzaton problem n SDNs wth consoldated mddleboxes that ncorporates varous resource capacty constrants and dfferent user QoSs, by provdng effcent heurstc solutons. The man contrbutons of ths paper are summarzed as follows. We consder the network throughput maxmzaton problem n SDNs, subject to varous capacty constrants of network resources and user resource demand constrants. We frst formulate an Integer Lnear Program soluton to the problem when the problem sze s small. We then devse a heurstc for the problem through ntroducng a novel cost modelng of resource consumptons and problem reducton. 216, Metan Huang. Under lcense to IEEE. 298 DOI 1.119/LCN.216.58

To respond to user requests quckly, we also propose a faster heurstc by explorng the fnest tradeoff between the accuracy of the soluton obtaned and the runnng tme of fndng such a soluton. We fnally evaluate the performance of the proposed algorthms by smulatons, based on real and synthetc network topologes and usng synthetc traffc traces. Expermental results demonstrate that the proposed algorthms are very promsng. The rest of the paper s organzed as follows. Secton II wll revew related work. Secton III wll ntroduce the system model and notatons, and defne the problem. Secton IV wll formulate an ILP soluton to the problem. Sectons V and VI wll present a heurstc algorthm and a faster heurstc algorthm, respectvely. Secton VII wll evaluate the performance of the proposed algorthms wth smulatons. II. RELATED WORK Whle mddleboxes are wdely used to guarantee securty and performance of routng traffc n contemporary computer networks, the deployment of tradtonal hardware mddleboxes ncurs hgh captal nvestment [19] and hgh operatonal costs [2]. To tackle these ssues, recent efforts on new frameworks and archtectures of consoldated mddleboxes [6], [8], [16], [19], have resulted n promsng alternatves to tradtonal hardware mddleboxes. For example, Sekar et al. devsed an archtecture CoMb [19] that focused on consoldatng softwarebased mplementatons of mddlebox functons on a shared hardware platform. Qaz et al. developed SIMPLE [18] that enforces hgh-level routng polces for mddlebox-specfc traffc steerng based on SDN. One fundamental problem that has not been addressed by exstng studes s network throughput maxmzaton whle meetng varous resource constrants and user QoSs. A few recent studes nvestgated ths ssue [3], [9], however they nether consdered resource constrants such as the forwardng table sze constrant on swtches nor took global optmzaton approaches, thereby the solutons delvered are suboptmal, e.g., Charkar et al. [3] assumed that every swtch n a network can perform mddlebox functons wthout takng forwardng table szes nto consderaton. Gushchn et al. [9] assumed that the routng traffc of a request can be splt nto multple paths, and proposed a two-stage local optmzaton. In [14], the authors studed a problem of VM placement and path selecton, strkng for a tradeoff between lnk and server usage. Ths work, however, s dfferent from ours because they assumed that multple requests of the network functon can be satsfed usng a sngle VM that mplements the network functon. On the other hand, L et al. presented the desgn and mplementaton of a system that dynamcally provsons resources to provde tmng guarantees wth the objectve of the number of request admtted to the cloud, whle meetng the deadlne requrements of admtted requests [15]. III. PRELIMINARIES A. System Model We consder a software-defned network represented by a drected graph G =(V,E), where V s the node set and E s the edge set. Each node v V represents an SDN-enabled swtch, whle each drected edge u, v E represents an Internet lnk from swtch u to swtch v. Each swtch v V s equpped wth a Ternary Content-Addressable Memory (TCAM) forwardng table that can accommodate at most L v forwardng rules. A subset of swtches n V are connected to physcal machnes (PMs) to mplement mddleboxes as vrtual machnes. As each such swtch and ts attached PM are usually connected by a hgh-speed optcal lnk, the latency between them s neglgble and the swtches and ther attached PMs wll be used nterchangeably. Denote by V pm ( V ) the set of swtches that have attached PMs. We assume that each PM attached to a swtch v V pm has lmted capacty resource, and denote by C v ts computng resource capacty. If swtch v V \ V pm, then C v =. Smlarly, each lnk e E has a bandwdth capacty B e. We assume that there s a centralzed SDN controller for network G that collects and processes user requests by nstallng forwardng rules nto the forwardng tables n swtches, assgnng the mddleboxes for the requests to PMs, and allocatng bandwdth on lnks. B. User Requests We assume that tme s slotted nto equal tme slots. User requests are scheduled by the centralzed SDN controller n the begnnng of each tme slot. Let S(t) be the set of arrved user requests n tme slot t. Each user request has a certan amount of bandwdth demand to route ts traffc n G from a source swtch to a destnaton swtch that passes through a sequence of mddleboxes, and the request also has an endto-end delay requrement. Let r S(t) be a user request, represented by a quntuple r = s,t,b,sc,d, where s,t V are, respectvely, ts source and destnaton swtches, b s ts bandwdth demand, SC s ts servce chan, and d R + s ts end-to-end delay constrant. Admsson of user request r therefore nvolves routng the traffc from the source swtch s to the destnaton swtch t va a routng path P = s,...,t subjects to constrants b, SC, and d. Servce chan SC s a sequence of servces that are chaned together and has to be traversed n the specfed order by the traffc of r. Followng the same assumpton as n [9], [16], [18], [19], we assume that servces n SC are run n a sngle VM and dfferent VMs servng dfferent requests can be consoldated to a sngle Physcal Machne (PM). Specfcally, when the traffc of request r arrves at the PM hostng the VM for ts servce chan SC, t wll be drected to the VM and the servces n SC are appled n the specfed order. Performng the servces n SC for r thus wll consume the computng resource of a PM. Denote by C(, j) the amount of computng resource needed by SC n a PM attached to the swtch v j V pm. Notce that some servces n SC may alter the volume of the traffc of request r. For nstance, the volume of traffc ncreases f encrypton s appled, whle the volume of traffc decreases f compresson s appled. We here defne λ R + as the rato between the volumes of the traffc of request r after and before processng. Snce request r requres an amount 299

b of bandwdth to route ts traffc before processng, t thus needs an amount λ b of bandwdth to route the processed traffc. The value of λ for each request r s gven and can be derved from hstorcal traffc [4]. In addton, each request r has a tolerant end-to-end delay requrement d. Suppose r s admtted wth a routng path P from ts source s to ts destnaton t, and ts servce chan SC s mplemented on a PM-attached swtch v V pm on P. Let D n (P ) and D p (, v) be the network delay experenced by r va path P and the processng delay of r at PM v, respectvely. The network delay D n (P ) s proportonal to the number of swtches on P, and the average processng delay D p (, v) depends on the complexty of the servce chan SC whch usually s gven as a pror. Then, the end-to-end delay D of r va path P s the sum of the network delay of P and the processng delay of SC,.e., D = D n (P )+D p (, v). It has to be guaranteed that D d for every admtted request r. C. Problem Defnton Gven an SDN G = (V,E), a subset of swtches V pm ( V ) wth each attachng a PM of computng capacty C v, the forwardng table capacty L v for each swtch v V, the bandwdth capacty B e for each lnk e E, and a set of user requests S(t) at tme slot t, the network throughput maxmzaton problem n the SDN G s to admt as many user requests as possble such that the throughput of numbers of admtted requests to the total number of requests n S(t) s maxmzed, whle the end-to-end delay d, the bandwdth demand b, and the computng demand C(, j) for servce chan SC of each admtted request r and resource constrants of G are met. D. NP-Hardness We show that ths problem s NP-hard by the followng lemma. Lemma 1. The network throughput maxmzaton problem n the software-defned network G =(V,E) s NP-hard. The sketch of the proof: We show that the network throughput maxmzaton problem n an SDN G =(V,E) s NP-hard by a polynomal reducton from a verson of generalzed assgnment problem (GAP) that s known to be NP-hard [5]. Gven an nstance of the GAP n the form of a set of bn B, a set of tems I, bn capactes cap: B R + and sze: B I R, we frst construct an SDN G =(V,E), where V = I B {t}, E = { n, m n I,m B} { m, t n B}, and t s a vrtual snk servng as the common destnaton for all requests. The forwardng table sze of each node n V and the bandwdth resource capacty of each lnk n E are set to postve nfnty. Moreover, V pm = B and the computng capacty of each node m n V pm s set to cap(m), the capacty of bn m. We then generate a set of requests S(t): For each tem n I, we add to S(t) a request r = s,t,b,sc,d, where s s set to the swtch n V, t s set to the vrtual snk t, b =, the computng resource demand C(n, m) to process ts servce chan at m V pm s sze(n, m), and d =. Therefore, routng the set of requests S(t) nto the network G s an nstance of the network throughput maxmzaton problem. We fnsh by notng that the network throughput maxmzaton problem has a soluton of admttng K requests f and only f the GAP wth dentcal profts has a soluton of proft K. IV. INTEGER LINEAR PROGRAMMING In ths secton, we formulate the network throughput maxmzaton problem as an Integer Lnear Program (ILP). The detaled descrpton s gven n Fgure 1, where x s a bnary varable wth value 1 f request r s admtted and otherwse. z v s a bnary varable wth value 1 f and only f the traffc of r s processed by the PM attached to swtch v V pm.for brevty, denote by δ + (v) and δ (v) the sets of leavng and enterng edges of a swtch v V, respectvely. In addton, to dstngush between traffc before and after beng processed, we ntroduce two bnary varables w pre (e) and w post (e) wth value 1 f and only f lnk e carres the unprocessed and processed traffc, respectvely. Constrant (2) ensures that f and only f a request r S(t) s admtted, t s processed n exactly one PM. Constrants (3) and (4) capture traffc changng at PM-attached swtches that process traffc of user requests and traffc conservaton at nontermnal swtches. Specfcally, f request r s processed at v V pm, then () exactly one ncomng edge of v carres the unprocessed traffc and none of the outgong edges of v carres the unprocessed traffc; and () exactly one of the outgong edges of v carres the processed traffc, and none of the ncomng edges of v carres the processed traffc. Otherwse, f the traffc of r s not processed by the PM attached to swtch v V pm but goes through v, ether () exactly one ncomng edge and one outgong edge of v carry the unprocessed traffc, or () exactly one ncomng edge and one outgong edge of v carry the processed traffc. Constrants (6) and (7) handle the cases where the traffc of a request v s processed at the source swtch s or the termnal swtch t. Constrants (5) and (8) ensure that no unprocessed traffc enters any source swtch s and no processed traffc leaves the termnal swtch t. Constrant (9) enforces the end-to-end delay requrement. Constrant (1) enforces the bandwdth capacty constrant for each lnk e E, Constrant (11) mposes the forwardng table capacty constrant for each swtch v V, and Constrant (12) models the computng capacty constrant of PMs. Constrants (14) to (16) restrct the range of decson varables. Constrant (17) ndcates that f there s no PM at a swtch v V \ V pm, then t cannot process any request. V. A HEURISTIC ALGORITHM As the ILP soluton s only applcable f the problem sze s small, we here devse an effcent heurstc for the problem. We frst propose a cost model to capture the dynamc resource usages of an SDN G, and then devse an algorthm for the problem by transformng t to a seres of shortest paths fndng n an auxlary graph based on the proposed cost model. 3

maxmze subject to S(t) =1 x, v V zv = x, =1,..., S(t) (2) e δ (v) wpre (e) e δ + (v) wpre (e) =z v, v V \{s }, =1,..., S(t) (3) e δ + (v) wpost (e) e δ (v) wpost (e) =z v, v V \{t }, =1,..., S(t) (4) e δ (s wpre (e) =, =1,..., S(t) (5) ) e δ + (s wpre (e) =x z t, =1,..., S(t) (6) ) e δ (t wpost (e) =x z t, =1,..., S(t) (7) ) e δ + (t wpost (e) =, =1,..., S(t) (8) ) ( w pre e E (e)+w post (e)) + v V zv D p (, v) d, =1,..., S(t) (9) S(t) ( b w pre =1 (e)+λ b w post (e) ) B e, e E (1) S(t) (e)+w post (e)) L v, v V (11) =1 S(t) =1 w pre w pre e δ + (v) (wpre z v C v, v V (12) (e)+w post (e) 2, e E, =1,..., S(t) (13) (e),w post (e) {, 1}, e E, =1,..., S(t) (14) x {, 1}, =1,..., S(t) (15) z v {, 1}, v V pm, =1,..., S(t) (16) z v =, v V \ V pm, =1,..., S(t). (17) Fg. 1: An ILP formulaton of the network throughput maxmzaton problem (1) A. Cost Modelng and Auxlary Graph Constructon Gven an SDN G = (V,E), the auxlary graph G = (V,E ; ω) s constructed, where V = {v,v v V } and E = { v,v v V } { u,v u, v E}. Intutvely, an edge v,v represents the swtch v and an edge u,v represents lnk u, v n the network G. An example of the auxlary graph constructon s shown n Fgure 2. Clearly, each a c b (a) G =(V,E) a a c c (b) G =(V,E ) b b Fg. 2: The auxlary graph constructon of G from G. edge n G represents ether swtch or lnk resources n G. A cost model of resource usages n network G s proposed as follows. For a gven type of resource, the margnal cost of ts usage dramatcally nflates wth the ncrease of ts utlzaton rato, snce the larger the proporton of the resource s occuped, the hgher the rsk the resource capacty wll be volated. We therefore use an exponental functon to model the cost of resource usage. Denote by RL v the resdual capacty of the forwardng table at v V and RB e the resdual bandwdth of lnk e E. Then, the weghts of the correspondng edges n E of swtch node v V and lnk e E are: RLv 1 α Lv f e = v,v E, ω(e) = RB v,u 1 B β v,u f e = v,u E, where α and β are constants wth α, β > 1. The larger the values of α and β, the more the resources wth hgh utlzatons wll be dscouraged from use, snce ts margnal cost wll dramatcally ncrease wth further utlzaton. B. Algorthm The basc dea behnd the proposed algorthm s to map dfferent resource usages n the SDN G to the edge weghts n the auxlary graph G. Then the problem n G s reduced to fndng a seres of shortest paths n G. To admt a gven 31

sngle user request r = s,t,b,sc,d n S(t), we frst fnd a shortest path n G =(V,E ) from s to t such that ts correspondng routng path n G meets both bandwdth demand b and ts end-to-end delay requrement d. Furthermore, a swtch v V pm attached a PM n the path has suffcent computng resource to process the servce chan SC of r. Specfcally, we frst remove the edges from G that do not have adequate resources. We then construct auxlary graph G =(V,E ) based on G. We now ncorporate computng resources n PMs through augmentng G for each PM-attached swtch v V pm, denoted by G,v =(V,v,E,v ). The only dfference between G,v and G s that the drected edge v,v ( E ) s removed, and a new node v and edges v,v and v,v are added to V,v and E,v, respectvely, as demonstrated n Fgure 3 (b). Moreover, the weght of edge v,v retans the weght of v,v n G whle the weght of v,v RCv 1 s γ Cv, where γ>1s a tunng parameter, RC v s the resdual computng capacty, and C v s the capacty of v. Therefore, f v V pm s consdered to process servce chan SC of request r, routng the traffc of r s to fnd a path P (v) n G,v that s the concatenaton of a shortest path n G,v from s to v and a shortest path n G,v from v to t. Let l(p (v)) be the length of P (v),.e., l(p (v)) = e P ω(e). (v) b a c v v d f e (a) Part of auxlary graph G = (V,E ) b a c v v v d f (b) Part of augmented auxlary graph G v =(V v,e v) Fg. 3: Augmentng auxlary graph G on the left to G v on the rght for swtch v V pm The problem of admttng a user request r n G s reduced to the problem of fndng a shortest path P (v) from all augmented auxlary graphs G,v wth the mnmum length mn{l(p (v)) v V pm } and meets the end-to-end delay d. The detaled descrpton of the algorthm s gven n Procedure 1. Havng admtted a sngle request, we now consder the admsson of a set of user requests S(t) at tme slot t. The dea s to admt the requests n S(t) teratvely untl no more requests can be admtted, where one request that ncurs the mnmum cost among the remanng requests wll be admtted n each teraton. Specfcally, n each teraton, Procedure 1 s employed to fnd a routng path for each remanng request r. Requests for whch Procedure 1 fals to fnd routng paths wll be rejected, and a request of whch the found routng path has the mnmum sum of edge weghts wll be admtted. Ths procedure repeats untl every request n S(t) s ether rejected or admtted. The detaled descrpton s gven by Algorthm 1. C. Algorthm Analyss Theorem 1. Gven an SDN G = (V,E) wth a set V of swtches and a set E of lnks, a subset V pm V of swtches e Procedure 1 Admttng a sngle request r S(t) Input: an SDN G =(V,E) and a request r = s,t,b,sc,d Output: a routng path P = s,...,v V pm,...,t that satsfes b, SC, and d 1: Construct an auxlary graph G =(V,E ; ω) for G after prunng resources wthout enough resdual capactes; 2: P sel /* a path n an augmented auxlary graph wth the mnmum sum of edge weghts */; 3: l mn /* the mnmum length of routng paths */; 4: for each PM-attached swtch v V pm do 5: Augment G to G,v; 6: Let P (v) be the concatenaton of a shortest path n G,v from s to v and a shortest path n G,v from v to t ; 7: f (P (v) exsts) and (ts end-to-end delay s no more than d ) and (ts length s less than l mn) then to P (v) and l mn to the length of P (v); 9: end f 1: end for 11: If P sel s found, fnd the correspondng routng path P n G; 8: Set P sel Algorthm 1 A heurstc for routng a set of requests Input: an SDN G =(V,E) and a set of requests S(t) Output: Routng decsons for requests n S(t) 1: S S(t) /* the set of requests to be admtted */; 2: whle S do 3: for each request r S do for r. If such a path does not exst, reject r and remove t from S ; 5: end for 6: Let r mn be a request of whch the routng path found n Step 4 has the mnmum weght among all requests; 7: Admt request r mn usng the routng path found n Step 4, and update the resource avalabltes of G; 8: S S \{r mn}; 9: end whle 4: Use Procedure 1 to fnd a path P sel each of whch s attached wth a PM, a set of user requests S(t) at tme slot t, there s an algorthm, Algorthm 1, for the network throughput maxmzaton problem, whch delvers a feasble soluton n O( S(t) 2 V 4 ) tme. Proof: The soluton delvered by Algorthm 1 s feasble because the auxlary graphs are constructed from a subgraph of G that only ncludes resources wth suffcent resdual capactes. Consequently, the routng path n G converted from the path found n an augmented auxlary graph G s feasble. We then analyze the tme complexty of Algorthm 1. In Procedure 1, the constructon and augmentaton of the auxlary graph take O( V + E ) tme, whle fndng a shortest path n each of the V pm augmented auxlary graphs takes O( V 3 ) tme. Procedure 1 thus takes O( V 3 + V + E ) =O( V 3 ) tme. For each request r S(t), Procedure 1 s nvoked at most V pm tmes. The number of requests for whch we need to fnd a shortest path s O( S(t) 2 ). The tme complexty of Algorthm 1 thus s O( S(t) 2 V pm V 3 )=O( S(t) 2 V 4 ). The theorem holds. VI. A FASTER HEURISTIC ALGORITHM Although Algorthm 1 delvers a near optmal soluton, ts runnng tme may stll be hgh and may fal to respond to user 32

requests on tme. We nstead devse a faster heurstc to deal wth dynamc user requests. A. Overvew of the Algorthm A key ngredent of the proposed algorthm s that a canddate soluton to admt a set S(t) of requests s found, based on the resdual capactes of SDN G n the begnnng of tme slot t, and no update of resdual capactes s appled untl all requests n S(t) are consdered. It then admts requests n S(t) based on an auxlary graph constructed from G and adjusts the admssons f the resource capactes of G are volated. B. Algorthm We frst fnd a set of canddate routng paths P n G for each request r = s,t,b,sc,d S(t), where a shortest path from s to t s consdered as a canddate path of r as long as t has one PM-attached swtch n V pm, and satsfes b, SC, and d. Notce that we fnd canddate routng paths for requests n S(t) on the augmented auxlary graphs bult based on the resource avalablty of network G as of the begnnng of tme slot t, through fndng a shortest path from s to v and a shortest path from v to t n the auxlary graph G,v for each request r S(t) and v V pm. Let P (v j ) = s,...,v j,...,t be a found path n G,vj for request r, whereas v j ( V pm ) s a swtch that fulflls the servce chan SC and P (v j ) meets the resource and end-toend delay constrants of r. Denote by P the set of canddate paths for request r, then, P = {P (v j ) v j V pm }. Havng the set of canddate paths P for every request r n S(t), we then pck only one canddate path P (v j ) from P for each request r such that the cost (length) sum of the selected paths s mnmzed, whle ensurng that the computng capacty of each PM s not volated. We reduce ths problem to the Generalzed Assgnment Problem (GAP), defned as follows. Gven a set of tems I and a set of bns B, where each bn m Bhas a capacty cap(b), each tem n Ihas a sze sze(n, m), and a proft proft(n, m) f the tem n s placed n bn m, the problem s to place a subset of tems U ( I) n bns B such that the sum of the profts of tems n U s maxmzed and the sum of szes of tems placed n every bn s no more than the capacty of the bn. Namely, we treat each PM-attached swtch v j V pm as a bn and each request r n S(t) as an tem, whereas the capacty of each bn v j s ts resdual computng capacty,.e., cap(v j )=LC vj, the sze of an tem r n a bn v j s the computng demand of the servce chan SC n the PM attached to v j,.e., sze(r,v j )=C(, j), and the proft of placng an tem r n a bn v j s the recprocal of the length of the canddate path that fulflls r on v j,.e., proft(, j) = 1 l(p (v j)). Havng reduced the network throughput maxmzaton problem to the GAP, we now solve the GAP and each soluton to the GAP yelds a soluton to the orgnal problem. Specfcally, we use the algorthm proposed by Cohen et al. [5] that guarantees a(2 ɛ)-approxmaton rato, where ɛ s a constant wth <ɛ 1, to solve the GAP. Denote by U a soluton found by ths algorthm as a placement of a subset of tems n bns. U yelds a potental admsson of requests n S(t): for every request r treated as an tem, f t s placed n a bn representng v j V pm, then t s admtted wth the routng path P (v j ); otherwse, r s rejected. Due to the constructon of the GAP, admttng requests n S(t) based on the soluton U to the GAP ensures that the sum of computng demands of requests of whch the servce chans are fulflled n a same PM wll not exceed the computng capacty of the PM. However, the bandwdth and forwardng table capactes may be volated, as routng paths may have overlappng resources. We thus perform adjustments to elmnate such potental resource volatons by selectvely rejectng some requests. Let P sel = P (v j )= s,...,v j,...,t be the path to route the traffc of request r accordng to U, where v j V pm. We buld a bpartte graph G b =(U b,v b,e b ) wth selected routng paths for all potentally admtted requests as node set U b, and auxlary edges whose resource capactes wll be volated f admssons are ndeed performed, as another U b and a node e V b f e s n path P sel. The weght of edge (P sel,e) s the rato of the demand of r on that resource to the sum of those of all requests on that resource, whch represents the contrbuton of r to the resource capacty volaton of e. To node set V b. There s an edge between a node P sel elmnate the volatons, we teratvely remove one node P sel wth the largest accumulatve weght of ncdent edges n G b from U, and update G b by removng nodes n V b that ther resource overloadngs are avoded due to the removal of node. Ths procedure repeats untl no edge s left n E b. The detaled descrpton s gven n Algorthm 2. P sel Algorthm 2 A faster heurstc for routng a set of requests S(t) nto a software-defned network G Input: an SDN G =(V,E) and a set of user requests S(t) Output: Routng decsons for each request r S(t) 1: Buld an auxlary graph G =(V,E ) for G; 2: Intalze P, the set of canddate routng paths n G for all requests n S(t), to ; 3: for each user request r S(t) do 4: P ; /* the set of canddate paths for request r */ 5: for each PM-attached swtch v j V pm do 6: Use Procedure 1 to fnd a path P (v j) that contans v j 7: If P (v j) exsts, add t to P; 8: end for 9: If P s empty, reject the request. Otherwse, add P to P; 1: end for 11: Construct an nstance of the GAP by representng each request as an tem and each node n V pm as a bn; 12: Solve the GAP nstance usng the algorthm n [5] 13: Construct a bpartte graph G b = (U b,v b,e b ) that reflects potental capacty volatons; 14: whle there are edges n E b do 15: Remove a node n U b wth the maxmum weghted sum of ncdent edges and ts ncdent edges from G b ; 16: Update G b ; 17: end whle C. Algorthm Analyss Theorem 2. Gven an SDN G = (V,E) wth a set V of swtches and a set E of lnks, a subset V pm V of swtches 33

Number of Admtted Requests 16 12 8 4 ILP 4 6 8 1 12 14 16 Number of Requests S(t) (a) The numbers of requests admtted by dfferent algorthms Runnng Tme n Mllseconds 1e+8 1e+6 1, 1 ILP 4 6 8 1 12 14 16 Number of Requests S(t) (b) Runnng tme of dfferent algorthms n mllseconds on a logarthmc scale Fg. 4: Performance of,,, and ILP n the GÉANT topology wthn a sngle tme slot. each of whch s attached wth a PM, a set of user requests S(t), there s an algorthm for the network throughput maxmzaton problem, Algorthm 2, whch takes O( S(t) V 3 + V S(t) 3 ɛ ) tme, where ɛ s a gven constant wth <ɛ 1. Proof: Algorthm 2 conssts of three phases: () fnd a set of canddate routng paths for each request; () select only one routng path for each request to meet computng capactes of nodes n V pm ; and () elmnate the requests that volate bandwdth or forwardng table capactes. The feasblty of solutons delvered by Algorthm 2 follows from the Phase (). Phase () takes O( S(t) V 3 ) tme because O( V pm )=O( V ) shortest paths are found for each request r S(t) n augmented auxlary graphs and each shortest path takes O( V 2 ) tme to fnd. The runnng tme of Phase () s domnated by the tme requred to solve the GAP, whch s O( V S(t) 3 ɛ ) [5]. Phase () takes O( S(t) ( V + E )) tme, there are O( S(t) ( V + E )) edges n the bpartte graph, and n the worst case, each request volates the resource capactes of all swtches and lnks. The theorem thus holds. VII. PERFORMANCE EVALUATION In ths secton, we evaluate the performance of proposed algorthms usng expermental smulatons based on several real network topologes. A. Expermental Envronment We adopt commonly used, real network topologes ncludng GÉANT [16] and several ISP networks from [21] n the smulatons, where GÉANT [16] s a European network consstng of 4 nodes and 122 lnks. The sze of the forwardng table of each swtch s from 1, to 8, [13]. The bandwdth of each Internet lnk vares from 1, Mbps to 1, Mbps [12]. There are nne PMs for the GÉANT topology as set n [9] and the number of PMs n ISP networks are provded by [18]. The computng capacty of each PM s from 4, to 8, z [1]. The delay of an Internet lnk s between 2 mllseconds (ms) and 5 ms [12], [13]. We consder fve types of mddleboxes: Frewall, Proxy, NAT, IDS, and Load Balancng, and ther computng demands are adopted from [9], [16]. The runnng tme s obtaned based on a machne wth a 3.4GHz Intel 7 Quad-core CPU and 16 GB RAM. The default accuracy parameter ɛ n solvng GAP s set to.1. Unless otherwse specfed, these parameters wll be adopted n the default settng. Each request r = s,t,b,sc,d S(t) s generated as follows, gven a network G =(V,E), two nodes from V are randomly drawn as the source swtch s and the destnaton swtch t of request r. The bandwdth demand b s randomly drawn from 1 to 12 Mbps [1] and the delay vares from 4 ms to 4 ms [17]. We evaluate Algorthms 1 and 2 aganst a baselne heurstc whch s descrbed as follows. Sort all requests n S(t) n non-decreasng order by ther computng resource demands, and then, for each request r = s,t,b,sc,d n S(t), fnd a shortest path from s to a PM-attached swtch v ( V pm ) wth the mnmum number of hops from s and a shortest path from v to d. We refer to the mnmum-hop-based baselne, Algorthm 1, and Algorthm 2 as,, and, respectvely. Each value n fgures s the mean of the results of 3 trals. B. Algorthm Performance wthn a Sngle Tme Slot We frst nvestgate the performance of the proposed algorthms n the GÉANT topology wthn a sngle tme slot. Fg. 4 (a) shows the numbers of requests admtted by dfferent algorthms, when the number of requests n a tme slot s a constant n the range from 4 to 16. It can be seen that both and can admt as many requests as ILP does f there are less than 1 requests. Otherwse, only can acheve a comparable throughput as ILP. Ths means that the network throughput of s nferor to and the dfference between them enlarges from nearly zero at S(t) =4to 21 at S(t) = 16. The reason s that wll reject more requests wth the ncrease n the number of requests, as the lkelhood of routng paths that fnds for dfferent requests beng overlappng and resource beng volated soars. Meanwhle, we notce that outperforms f the number of requests s small. Otherwse, outperforms. Specfcally, when there are 16 requests, the number of requests admtted by s only 6% of the one by and runs much faster than the latter. The reason behnd 34

Number of Admtted Requests 12 11 1 9 8 7 6 5 4 3 1 2 3 4 5 6 Network Sze V (a) The numbers of requests admtted by dfferent algorthms Runnng Tme n Mllseconds 7, 6, 5, 4, 3, 2, 1, 1 2 3 4 5 6 Network Sze V (b) Runnng tme of dfferent algorthms n mllseconds Fg. 5: Performance of,, and n the GÉANT network when the number of swtches vares from 1 to 6 whle the number of requests s fxed at 16 per tme slot. Accumulatve Number of Admtted Requests 3, 2,5 2, 1,5 1, 5 4 8 12 16 2 Tme slot (a) Total number of requests admtted by dfferent algorthms Accumulatve Runnng Tme n Mllseconds 12, 1, 8, 6, 4 2 4 8 12 Tme slot 16 2 (b) Accumulatve runnng tme of algorthms Fg. 6: Performance of,, and on a GÉANT network for a tme horzon wth 2 tme slots where the number of requests n each tme slot follows a Posson dstrbuton wth a mean of 3. ths s that does not guarantee that the overall path from ts source s of a request r to ts destnaton t has the mnmum weght, snce t fnds shortest paths from s to a PM-attached swtch and from the PM-attached swtch to t n two separate stages. Fg. 4 (b) llustrates the amount of tme spent by these algorthms, from whch we can see that the runnng tme of the ILP s orders of magntude slower than those of the other algorthms, whle s sgnfcantly faster than and s the fastest. We then evaluate the performance of dfferent algorthms by varyng the network sze. As topologes such as [12], [21] have lmted szes, we adopt the wdely used Barabás-Albert model [2] to generate networks of dfferent szes. Namely, we vary the number of swtches n an SDN from 1 to 6, whle fxng the number of requests at 16. The results are depcted n Fg. 5. We can see from Fg. 5 (a) that and acheve the smlar throughput, whle admts no more than a half as requests as two heurstcs. Fg. 5 (b) also reveals that runs much faster than. C. Algorthm Performance wthn a Fnte Tme Horzon We now consder a tme horzon consstng of 2 tme slots, under whch we evaluate dfferent algorthms, assumng that the number of requests at each tme slot follows a Posson dstrbuton wth a mean of 3, and each admtted request spans 1 to 1 tme slots randomly. The results are summarzed n Fg. 6. From Fg. 6 (a), we can see that has the lowest network throughput among the three algorthms. On the other hand, and utlze resources more effcently, and hence they can admt much more requests than that of by 15% and 5%, respectvely. From Fg. 6 (b), t can be seen that the runnng tme of s neglgble compared wth those of and. It must be notced that ths runnng tme comes at the cost of admttng much fewer requests. We fnally evaluate,, and on three Autonomous Systems (AS) from [21]: AS-4755 wth 121 swtches and 296 lnks, and AS-1755 wth 172 swtches and 762 lnks. We consder a tme horzon consstng of 2 tme slots and the number of requests at each tme slot follows a Posson dstrbuton wth a mean of 3. The results are llustrated n Fg. 7, from whch t can be seen that n all topologes, s the best, whle s the worst. The performance gap between and s small compared to that n the GÉANT topology, snce the sze of these three topologes s larger than that of the GÉANT topology, and routng paths delvered by 35

Accumulatve Number of Admtted Requests 5, 4, 3, 2, 1, 4 8 12 16 2 Tme slot (a) The accumulatve numbers of requests admtted by dfferent algorthms for AS-4755 Accumulatve Number of Admtted Requests 7, 6, 5, 4, 3, 2, 1, 4 8 12 16 2 Tme slot (b) The accumulatve numbers of requests admtted by dfferent algorthms for AS-1755 Fg. 7: The accumulatve numbers of admtted requests of,, and for a tme horzon consstng of 2 tme slots n ISP networks. for dfferent requests n a tme slot are less lkely to overlap. In AS-4755, the dfference on requests admtted by and s less than 5, whle admts no more than 4% requests of the other two algorthms. On the other hand, the performance of n AS-1755 mproves due to the larger network capacty. VIII. CONCLUSIONS In ths paper, we studed the problem of realzng user requests wth each specfyng a sequence of mddleboxes n an SDN, wth the objectve to maxmze the network throughput, subject to the constrants of forwardng table capacty, network bandwdth capacty, computng resource capacty, and user QoS requrements. We frst formulated an ILP soluton to the problem when the problem sze s small. We then devsed two heurstc algorthms that strve for fne tradeoffs between the accuracy of the solutons and the runnng tmes of the proposed algorthms. We fnally evaluated the performance of the proposed algorthms by smulatons usng real network topologes and synthetc traffc traces. Expermental results demonstrated that the proposed algorthms are very promsng. [12] S. Knght et al. The nternet topology zoo. J. Selected Areas n Communcatons, Volume 29, pp. 1765 1775, IEEE, 211. [13] D. Kreutz et al. Software-Defned Networkng: a comprehensve survey. Proceedngs of IEEE, Volume 13, pp. 14 76, IEEE, 215. [14] T.-W. Kuo et al. Deployng chans of vrtual network functons: On the relaton between lnk and server usage. Proc. of INFOCOM 16, IEEE. [15] Y. L, L. T. X. Phan, and B. T. Loo. Network functon vrtualzaton wth soft real-tme guarantees Proc of INFOCOM 16, IEEE. [16] J. Martns et al. ClckOS and the art of network functon vrtualzaton. Proc. of NSDI, 214. [17] Mcrosoft. Plan network requrements for Skype for busness. https: //technet.mcrosoft.com/en-us/lbrary/gg425841.aspx, 215. [18] Z. A. Qaz et al. SIMPLE-fyng mddlebox polcy enforcement usng SDN. Proc. of SIGCOMM, ACM, 213. [19] V. Sekar et al. Desgn and mplementaton of a consoldated mddlebox archtecture. Proc. of NSDI, USENIX, 212. [2] J. Sherry et al. Makng mddleboxes someone else s problem: network processng as a cloud servce. Proc. of SIGCOMM, ACM, 212. [21] N. Sprng, R. Mahajan, and D. Wetherall. Measurng ISP topologes wth rocketfuel. Proc. of SIGCOMM, ACM, 22. REFERENCES [1] Amazon Web Servces, Inc. Amazon ec2 nstance confguraton. https: //docs.aws.amazon.com/awsec2/latest/usergude/ebs-ec2-confg.html. [2] A.-L. Barabás and R. Albert. Emergence of scalng n random networks. Scence, Vol. 286, pp. 59 512, 1999. [3] M. Charkar et al. Mult-commodty flow wth n-network processng. http://www.cs.prnceton.edu/~jrex/papers/mopt14.pdf, 214. [4] C.-H. Ch, J. Deng, and Y.-H. Lm. Compresson proxy server: desgn and mplementaton. Proc. of USITS, 1999. [5] R. Cohen, L. Katzr, and D. Raz. An effcent approxmaton for the generalzed assgnment problem. Informaton Processng Letters, Vol. 1, pp. 162 166, Elusve, 26. [6] A. Gember-Jacobson et al. Stratos: a network-aware orchestraton layer for mddleboxes n the cloud. arxv:135.29, 213. [7] A. Gember-Jacobson et al. OpenNF: enablng nnovaton n network functon control. Proc. of SIGCOMM, ACM, 214. [8] A. Gupta et al. SDX: a software defned nternet exchange. Proc. of SIGCOMM, ACM, 214. [9] A. Gushchn, A. Wald, and A. Tang. Scalable routng n sdn-enabled networks wth consoldated mddleboxes. Proc. HotMddlebox 15, ACM. [1] Hewlett-Packard Development Company, L.P. Servers for enterprse bladesystem, rack & tower and hyperscale. http://www8.hp.com/us/en/ products/servers/, 215. [11] M. Honda et al. Is t stll possble to extend TCP? Proc. IMC 11, ACM. 36