[9] Rob Sherwood, Michael Chan,Glen Gibb, Nikhil Handigol,Te-Yuan. Huang ... Kiong Yap, Guido Appenzeller, and Nick McKeown, âCarving Research.
PAPER #5: CONSTRUCTING ENERGY-AWARE SOFTWARE-DEFINED NETWORK VIRTUALIZATION
1
Constructing Energy-Aware Software-Defined Network Virtualization Tran Manh Nama , Nguyen Huu Thanha,, Nguyen Hong Vanb, Kim Bao Longa, Nguyen Van Huynha, Nguyen Duc Lama, Nguyen Van Caa a - School of Electronics and Telecommunications, HUST, Vietnam b - Vietnam Research and Education Network - VINAREN Abstract— Energy consumption, as well as carbon emission, from ITC is growing extremely. Such a growth trend therefore needs to be facilitated by the creation of an energy-efficient network as an effort in developing the future Internet. Network Virtualization represents a technology with great potential for this purpose. This technology allows multiple isolated virtual networks to share the same substrate network, carrying the potential of supporting a trend of more efficient energy consumption. In this paper, an energy-aware network virtualization system is to be introduced for power analysis. The system is implemented with a software-defined networking technology and based on FlowVisor platform. In this paper we will also be proposing a Heuristic Energy-efficient network virtual embedding algorithm that increases energy-saving level of a network while maintaining the acceptance ratio. Index Terms—Network Virtualization, Software-Defined Networking, Virtual Network Embedding, FlowVisor, OpenFlow, Energy Efficiency I.
N
INTRODUCTION
OWADAYS, Internet services are booming and continue to play an increasingly vital role in supporting key fields of research, business, news, education, and so on. In order to create a novel network infrastructure and related services as to meet a growing traffic demand, there is therefore an urgent need for ISPs and Telcos to be supported by greater amounts of network devices built upon a more advanced architecture that is able to realize progressively complex operations in a scalable way. The Internet, with its huge ITC infrastructure has its disadvantages, among the most concerning ones being its contributions to accelerating energy consumption. According to [1], the annual growth of electricity consumption of communication network is 10,4%, much higher than the worldwide electricity consumption’s growth measured for the same period (3%). In 2007, the total electricity consumption in communication network was 200 TWH, reaching 330 TWH by 2012. Telecom operator network power consumption made up 77% of this value. The recent trend of energy consumption over the years has presented some profound negative impacts, such as: (1) Increased production cost of enterprises, putting upward pressures on product prices; (2) Growing carbon emission that severely hurt the surrounding environment. Gartner, the ICT
research and advisory company, estimates that the manufacture of ICT equipment, its use and disposal account for 2% of global CO2 emissions, which is equivalent to the contributions from the aviation industry [2]. Due to these developments, constructing a novel network that can satisfy a rapidly growing customer population while cutting on energy consumption is an important task and topic that is currently receiving greater attention and interest from a growing range of research communities. Software-Defined Networking and Network Virtualization is therefore to be presented as a technology with great potential in terms of green networking. Software-Defined Networking technology (SDN) [3] allows administrators to manage network operations and resources more easily and flexibly, while Network Virtualization (NV) [4] allows multiple separate Virtual Networks to be run on the same physical substrate network. The combination of more advanced technologies of this kind enables the realization of a programmable and flexible network. Moreover, optimized virtualization technology will also constitute less dependence on energy consumption. The implementation of network virtualization with SDN technology will not only offer an integrated orchestration experience, but also an unification of substrate and virtual innovations. FlowVisor [8, 9] is one of the most successful network virtualization layers for Software-Defined Networking, widely used in Network Virtualization testbeds such as GENI [10], Ofelia [11] and OF@TEIN [12]. Architecturally, FlowVisor acts as a transparent proxy and is mentioning as one of the first hypervisor-like virtualization architectures for network infrastructure, resembling the hypervisor model common for computing and storage (Fig.2). Network devices generate OpenFlow protocol [5] messages, which go to the FlowVisor and are then routed by network slice to the appropriate OpenFlow controller. Although the FlowVisor concept is widely used in the Network Virtualization along with the SDN technology, its system is still not deployable in particular terms, such as the power monitoring of a network. The current lack of an energyaware network constitutes significant difficulties in deploying and evaluating the energy-efficient network. In this article, our contributions are described as followings:
PAPER #5: CONSTRUCTING ENERGY-AWARE SOFTWARE-DEFINED NETWORK VIRTUALIZATION -
Constructing an Energy-Aware Software-Defined Network Virtualization (EA-SDNV). With inputs are Software-Defined Virtual Network requests (SDVNRs), the system performs separate Virtual Network Embedding algorithms (VNE) and evaluate their performance as well as power-saving level. - Proposing a novel Heuristic Energy-efficient VNE (HEE-VNE) algorithm that increases energy-saving level while maintains a reasonable acceptance ratio. This paper is organized as follows: Section II describes the related work. Section III presents the system Energy-aware Software-Defined Network Virtualization system. Section IV describes VNE modeling and our HEE-VNE algorithm. Section V shows the result of performance evaluation. Finally, conclusions and future works are drawn in section VI. II. RELATED WORK A. Network Virtualization Network virtualization is a proposed solution to the continuously rising demand for the Internet services of the current Network [13], [14]. There are many approaches of network virtualization [15] that have already been under research and used for the future of the Internet test beds [16], [17]. It provides an abstraction of coexistence of multiple virtual networks on the same physical substrate network. The greatest advantage from this technology is the sharing of resources among heterogeneous logical virtual networks. In network virtualization, a virtual node may map to several substrate nodes, as well as a virtual link spanning to several substrate links, making it possible to have multiple mapping solutions of one Virtual Network Request (VNR). Therefore a problem of embedding (mapping) virtual networks in the same physical substrate network is the main resource allocation challenge [18] and is usually referred to as the Virtual Network Embedding (VNE) problem. B. Virtual Network Embedding - VNE The goal of VNE algorithms is to map virtual network to substrate network in order to reach the maximum exploitation of system resources. This optimality can be computed with regard to different objectives such as revenue, QoS, economical profit…etc. Usually, the VNE problem is divided into two different sub-problems, namely Virtual Node Mapping (VNoM) and Virtual Link Mapping (VLiM). VNoM maps virtual nodes onto suitable substrate nodes. One virtual node may have many different mapping solutions and virtual nodes under different VNR can map onto the same substrate node. After VNoM, VLiM maps virtual links onto substrate links. One virtual link between two virtual nodes may span several substrate links. C. Software-Defined Networking Software-Defined Networking [3] is an emerging architecture that is programmable, cost-effective, centralized manageable, and flexible, making it ideal for the highbandwidth, dynamic nature of today's Internet services. This architecture decouples the control plane and data plane enabling
2
the underlying infrastructure to be abstracted for network services and applications. Software-based SDN controller maintains a global view of the whole network, which appears to network services and applications as a single network device. The OpenFlow [19] is the first and only vendor-neutral standard communications interface defined between the control plane and data plane of an SDN architecture. The OpenFlow [5] protocol gives secure communication between the data plane of devices such as routers or switches and a remote OpenFlow controller over the network. Controller
Routing
Traffic Engineering
Security
Global view of NW
CONTROL PLANE
NETWORK OS
DATA PLANE Packet forwarding Packet forwarding
Packet forwarding Packet forwarding
Fig.1. SDN architecture
D. FlowVisor FlowVisor [8] is a Software-Defined Networking virtualization approach, in which various virtual networks can share the same hardware forwarding plane. As we can see in Fig.2. Similar to computer virtualization, FlowVisor is a network virtualization layer that resides between the hardware and software architectural components.
Fig.2. FlowVisor [8]
FlowVisor is used as a middle layer among the SDN controllers and SDN switches. The benefit of FlowVisor layer is providing fast, easy and transparent decomposition of a given network into virtual slices and delegating slice messages to the OpenFlow controller. Depending on the resource allocation policy, message type, destination, and content, the FlowVisor will forward a given unchanged message, translate it into a suitable message to be forwarded, or “bounce” the message back to its sender in the form of an OpenFlow error message. FlowVisor has the advantage of providing extremely high performance and isolation while allowing sophisticated perpacket processing [8].
PAPER #5: CONSTRUCTING ENERGY-AWARE SOFTWARE-DEFINED NETWORK VIRTUALIZATION III. CONSTRUCTING ENERGY-AWARE SOFTWARE-DEFINED NETWORK VIRTUALIZATION SYSTEM
In this session we describe our Energy-aware SoftwareDefined Network Virtualization system. Inputs of this system are Software-Defined Substrate Network (SDSN) and a set of Software-Defined Virtual Network Requests (SDVNRs). The SDSN contains OpenFlow-enable switches while each SDVNR consists its virtual controller information (controller type: POX or Floodlight), a set of virtual nodes, links and their capacity demands. A. System’s architecture SDVNR 1 (CTL 1:POX)
Software-Defined Virtual Network Requests (VNRs)
Openflow Controllers (POX, FloodLight)
CTL 1
SDVNR 2 (CTL 2:FloodLight)
Management Controller management
GUI
VNE
Control and configure Controllers
Java-based Application
Algorithms - CG VNE - HEE VNE
CTL 2
Extended FlowVisor Slicer
Power
Slicing, port mapping, Switches, Controllers coordinating and configuring
Power monitoring: monitor NW power consumption Power controlling: Control NW devices’ state -Using NetFGPA energy model-
SDVNR 1
SDVNR 2
Substrate network (Openflow-enable Switches)
Fig. 3. The Architecture of Energy-Aware Network Virtualization system
Fig.3. shows our architecture of the Energy-aware network virtualization system. There are four blocks: Management; OpenFlow Controllers; Extended FlowVisor; and Substrate Network. Inputs of this system are Software-defined Virtual Network Requests including controller demand, virtual nodes with capacity demand and virtual links with bandwidth demand. With these inputs, Management block uses the virtual network embedding (VNE) module to solve the embedding problems. Management sends its results to Extended FlowVisor for virtual network slicing and power controlling. For each virtual software-defined network, Management also creates a virtual controller by using controller management sub-block. The Substrate network consists of OpenFlow-enable switches which can be controlled and monitored by FlowVisor. The virtual networks on this substrate network connect and control with their controllers by Slicer sub-block via OpenFlow secure channels.
3
B. Workflow In this part we describe the detail workflow of our system when Software-Defined Virtual Network Requests (SDVNRs) arrive. 1) Step 1: Identifying inputs Management identifies the set of SDVNR and substrate network which contain following detail information - SDVNR: Each SDVNR consists its controller information (controller type: POX or Floodlight), a set of virtual nodes and links and their capacity demands - Substrate network contains a set of available substrate nodes and links with their available capacity (CPU for node and bandwidth for link). 2) Step 2: Virtual Network Embedding After receiving a set of SDVNRs, the VNE calculates and gives results that contain both successful virtual node mapping (VNoM) and virtual link mapping (VLiM) results. A set of controllers and acceptance ratio are built correspondingly to the results and sent to the extended FlowVisor and OpenFlow Controllers blocks. 3) Step 3: Slicer and Power control The FlowVisor configures virtual networks by creating flowspaces and allocates resources to them. Besides, based on a VNE result, the Power sub-block controls the substrate network by sending extended OpenFlow messages change states of substrate nodes and links. 4) Step 4: Configuring OpenFlow Controllers Based on the successful SDVNR results, the OpenFlow Controllers block configures corresponding controllers and connects them to FlowVisor for their communicating to SDVN. 5) Step 5: Finish and monitoring Power consumptions and states of substrate network are monitoring by Power and GUI sub-blocks. The statistical information contain following: - Energy consumption and saving level of the system. - States of substrate network such as number of turning on devices, working speeds of links. - The acceptance ratio and the VNE information C. Extended FlowVisor FlowVisor [8, 9] is and specialized OpenFlow Controller that was designed with the following main aims: (1) defines a slice as a set of flows to create isolated virtual networks; (2) sits transparently between OpenFlow controllers and switches that controls them. In order to build the energy-aware system, we extend FlowVisor by adding a Power sub-block that controls and monitors the power state of a substrate network. This subblock controls the devices’ states by sending OpenFlow messages. Because of a lack of OpenFlow’s state-control mechanism, we extend the OpenFlow v1.0 protocol by changing a Vendor message (from OpenFlow v1.1 the Vendor message was replaced by the Experimenter message, but carrying the same structure nevertheless). Vendor messages provide a way to offer additional feature for OpenFlow-enable devices. Fig.3. describes the original and extended message with necessary fields and information.
PAPER #5: CONSTRUCTING ENERGY-AWARE SOFTWARE-DEFINED NETWORK VIRTUALIZATION
4
respectively. /* Vendor extension. */ struct ofp_vendor_header { struct ofp_header header; /* Type OFPT_VENDOR. */ uint32_t vendor; /* Vendor ID: * - MSB 0: low-order bytes are IEEE OUI. * - MSB != 0: defined by OpenFlow * consortium. */ /* Vendor-defined arbitrary additional data. */ }; OFP_ASSERT(sizeof(struct ofp_vendor_header) == 12);
a) the original Vendor message /* Type of message: Controller to Switch */ struct ofp_power_cfg_msg{ struct ofp_header header; /* Type OFPT_VENDOR. LENGTH==8*/ uint32_t vendor; /* Vendor ID: * - MSB 0: low-order bytes are IEEE OUI. * - MSB != 0: defined by OpenFlow * consortium. */ struct ext_data; /* Extension data */ }; OFP_ASSERT(sizeof(ofp_power_cfg_msg) == 23);
b) OpenFlow extended ofp_power_cfg_msg message struct ext_data{ uint8_t state; uint64_t dpid; uint8_t port_id;
//Port states (00,01,10,11: Idle, //10Mbps, 100Mbps, 1Gbps) //Datapath ID of Switch //PortID (11111111->turn off all //ports and this switch)
uint8_t reserved; } OFP_ASSERT(sizeof(struct ext_data) == 11);
c) Struct ext_data Fig.4. Extended OpenFlow Message
The ofp_power_cfg_msg message is used to control openflow-enable switches by ext_data extension data, described in Fig.4c. D. OpenFlow-enable Switch We have two options for choosing OpenFlow-enable switches: (1) OpenFlow-enable NetFGPA-based Switches and (2) emulation OpenFlow switches base on OpenVSwitch [22]. 1) NetFGPA contains all of the logic resources, four 1Gbps interfaces and memory necessary to build an OpenFlow device. In [20] we successfully built an energy-aware switch based on the NetFPGA Card. The power scaling algorithms adapt the energy consumption of this switch proportionally to the load of traffic. The power consumption is measured at various states: off state, 10Mbps, 100Mbps and 1Gbps as seen in Table 1.
-
n1G, n100, n10 and n0 are number of ports that works at bandwidth 1Gbps, 100Mbps, 10Mbps, idle, respectively 2) OpenVSwitch In our lab, the lack of using OpenFlow-enable NetFGPAbased switches is a difficulty of scalability. We haven’t had enough NetFGPA cards to build a large testbed, so we decide to employ an emulation environment based on Mininet. Mininet is a tool which is able to emulate a network with OpenFlow controllers, OpenFlow switches, hosts and links. The advantage of using mininet is that the code deployed and tested for OpenFlow devices under mininet can completely move to real network without any changes. In Mininet, virtual OpenFlow switch is an OpenVSwitch which is managed by an OpenvSwitch Database Management Protocol (OVSDB). For energy consumption evaluation we apply the NetFPGA energymodel to OpenvSwitch, the energy-state of system is full-power when all switches and links are turning on in maximum working speeds. E. OpenFlow Controllers After VNE calculation step, we create OpenFlow controllers proportionally to the SDVNRs. There are several types of OpenFlow controllers such as NOX, POX, Beacon, Floodlight, OpenDayLight. Among there controllers’ types, we choose POX and Floodlight for our system. - POX [6] is an OpenFlow Controller developed by Python programming language. This controller is a single-threaded and widely used for fast prototyping of network applications in research. - Floodlight [7] is a multi-threaded Java-based controller that uses Netty framework. Each controller demand contains the address (IP address, service port) and a set of necessary modules. F. Graphic User Interface - GUI
TABLE 1 – POWER CONSUMPTION FOR NETFPGA-BASED SWITCH Net-FPGA configuration Static (baseline) FPGA Core At least one 1Gbps port Not all ports running at 1Gbps (10/ 100Mbps) Idle One Ethernet port Idle 10Mbps 100Mbps 1000Mbps
Power (mW) 4496 2694 1394 81 23 52 112 1080
Energy model of OpenFlow-enable NetFGPA-based switch: Ptotal=Pstatic+PNetFPGA + n1G*P1G+n100*P100+n10*P10+ n0*P0 (1) Where: -
P1G, P100, P10 and P0 are the power consumption of port in link states 1Gbps, 100Mbps, 10Mbps, idle,
Fig.4. EA.SDVN Graphic User Interface
In this work we also construct a Graphic User Interface (GUI – Fig.4.) which allows users to monitor and manage the resources of substrate network, as well as the demands of SDVNRs, more easily. This Java-based GUI stays in the Management block and communicates with FlowVisor and OpenFlow controllers. On this GUI users can establish several main tasks:
PAPER #5: CONSTRUCTING ENERGY-AWARE SOFTWARE-DEFINED NETWORK VIRTUALIZATION -
Create and manage a substrate network with OpenVSwitches Input SDVNRs and select VNE algorithms Monitor the state and energy consumption level of the network Configure suitable OpenFlow controllers. In our system users can create two types of controllers that are POX and Floodlight. In the near future we will embed a wider range of types of controllers.
-
IV. VNE MODELING AND HEE-VNE ALGORITHM A. VNE Modeling In Table 2 we describe territories that we use in this work. TABLE 2 TERMINOLOGY USED THROUGHOUT THIS WORK Term Description TS(ES,NS) Substrate Network ES Set of substrate Links NS Set of substrate Nodes CPU(nS) CPU Capacity of substrate node nS S B(e ) Bandwidth of substrate link eS SDVNRi(Ei,Ni) Software-defined Virtual Network Request i Ei Set of virtual Links in SDVNR i Ni Set of virtual Nodes in SDVNR i RC(𝑛𝑗𝑖 ) CPU requirement of virtual node 𝑛𝑗𝑖 𝑖 RB(𝑒(𝑛 ) 𝑖 𝑖 Bandwidth requirement between 𝑛ℎ𝑖 and 𝑛𝑘𝑖 ,𝑛 ) ℎ
Vn(nS) Ve(eS) 𝐶𝑎 (𝑛 𝑆 ) 𝐵𝑎 (𝑒 𝑆 ) P(aS,bS) m(p) Rp Nnei(n) 𝑀𝑁𝑖 𝑀𝐸𝑖
𝑘
Set of virtual nodes which are mapped on substrate node nS Set of virtual links which are mapped onto substrate link eS Available CPU of substrate node nS Leftover bandwidth of substrate link eS Set of substrate paths connect between aS and bS Metric of substrate path p Maximum bandwidth of substrate path p Set of neighbors of node n Mapping result of Node Mapping Mapping result of Link Mapping S
S
S
A weighted graph T (E ,N ) denotes a substrate network where ES is a set of substrate links and NS is a set of substrate nodes. Each substrate node nS ϵ NS has CPU capacity: CPU(nS) and each substrate link eS has bandwidth capacity B(eS). 𝑆 B(𝑒(𝑎 𝑆 ,𝑏𝑆 ) ) denotes bandwidth capacity of substrate link that interconnect between two substrate nodes aS and bS. Each SDVNRi(Ei,Ni) ϵ SDVNR(ER,NR) denote ith Softwaredefined virtual network request with a set of virtual links Ei and a set of virtual nodes Ni. RC(𝑛𝑗𝑖 ) is CPU request of jth virtual node 𝑖 𝑛𝑗𝑖 of SDVNRi. RB(𝑒(𝑛 𝑖 𝑖 ) is bandwidth request of virtual link ,𝑛 ) ℎ
𝑘
ei that interconnects between two virtual nodes 𝑛ℎ𝑖 and 𝑛𝑘𝑖 in SDVNRi. We define VN(nS) is a set of virtual nodes that are mapped onto substrate node nSϵNS. VE(eS) is a set of virtual links that are mapped onto the substrate link eS. Ca is available CPU of substrate node nS, then: 𝐶𝑎 (𝑛 𝑆 ) = CPU(𝑛 𝑆 ) − 𝑅𝐶 (𝑉𝑁 (𝑛 𝑆 )) (2) Ba is available bandwidth of substrate link eS: 𝐵𝑎 (𝑒 𝑆 ) = B(𝑒 𝑆 ) − 𝑅𝐵 (𝑉𝑒 (𝑒 𝑆 )) (3) We define P(aS,bS) as a set of substrate links that interconnect between substrate nodes aS and bS. With each p ϵ P(aS,bS) we have m(p) is metric of link p. In this work we define metric as a number of hops. Besides, each substrate link p has a maximum bandwidth Rp
𝑅𝑃 = min (𝐵𝑎 (𝑒 𝑆 )) 𝑆
5 (4)
∀𝑒 𝜖𝑝
Then we have these constraints when we deploy VNE algorithms: A virtual node 𝑛ℎ𝑖 ϵ SDVNRi that has a set of neighbors nodes Nnei(𝑛ℎ𝑖 ) can map onto substrate node nS 𝑀𝑁𝑖 = 𝑁 𝑆 ← 𝑁 𝑖 (5) When: 𝐶𝑎 (𝑛 𝑆 ) ≥ 𝑅𝐶 (𝑛ℎ𝑖 ) { ∀𝑛ℎ𝑖 ∈ 𝑁 𝑖 (6) 𝑉𝑛 (𝑛 𝑆 ) ∩ 𝑁𝑛𝑒𝑖 (𝑛ℎ𝑖 ) = ∅ 𝑖 A virtual link 𝑒(𝑛 can map onto substrate link 𝑖 𝑖 ,𝑛 ) ℎ
𝑝 𝜖 𝑃(𝑛ℎ𝑖 , 𝑛𝑘𝑖 ): 𝑀𝐸𝑖 = 𝑃 ← 𝐸 𝑖 When:
𝑘
(7)
𝑖 𝑖 𝑖 𝑖 𝑖 𝑖 𝑖 𝐵𝑃 (p) ≥ 𝑅𝐵 (𝑒(𝑛 𝑖 𝑖 ) ∀𝑒 ∈ 𝐸 , 𝑝 𝜖 𝑃(𝑀𝑁 (𝑛ℎ ), 𝑀𝑁 (𝑛𝑘 )) (8) ,𝑛 ) ℎ
𝑘
B. Heuristic energy-efficient algorithm – HEE VNE In this article, we choose the rate adaptation and idle logic approaches [8] for energy-efficient network. - Idle logic approach turns off the unused subnet or network devices when no traffic are performed, and rapidly turns on them when necessary. - Rate adaptation approach dynamically changes working speed of network devices adapted to traffic demand. For each coming SDVNR, we begin by implementing VNoM, and thereafter implementing VLiM. We focus on handling the requests that are chosen one by one, mostly in a First-Come-First-Serve order, to map to the physical substrate Network TS 1) Greedy Virtual Node Mapping Algorithm 1: Greedy Node Mapping 1. input: 𝑻𝑺 (𝑬𝑺 , 𝑵𝑺 ) and 𝑺𝑫𝑽𝑵𝑹(𝑬𝑹 , 𝑵𝑹 ) 2. begin 3. //Sort 𝑁 𝑆 by CPU in non-decreasing order 4. 𝑁 𝑆 ← 𝑠𝑜𝑟𝑡𝐶𝑃𝑈 (𝑁 𝑆 ) 5. for all 𝑛𝑅 in 𝑁 𝑅 do 6. for all 𝑛 𝑆 in 𝑁 𝑆 do 7. if 𝑉𝑛 (𝑛 𝑆 ) ∩ 𝑁𝑛𝑒𝑖 (𝑛𝑅 ) ≠ ∅ then 8. continue 9. else if 𝐶𝑎 (𝑛 𝑆 ) ≥ 𝑅𝐶 (𝑛𝑅 ) then 10. 𝑀𝑁 = 𝑀𝑁 + {𝑛 𝑆 ← 𝑛𝑅 } 11. SUCCESS 12. break 13. end if 14. end for 15. end for 16. end 17. output: 𝑻𝑺 (𝑬𝑺 , 𝑵𝑺 ), 𝑴𝑵 VNE problem is NP-hard [24] and difficult to get the optimal result. As a result, many Greedy VNE algorithms are proposed [25, 26, 27] for the scalability. In this task we deploy capacity greedy VNoM that get higher priority of available node capacity (CPU) for mapping selection. This VNoM algorithm is described in Algorithm 1 which sorts a set of substrate nodes by CPU capacity non-decreasing order (line 4). It is evident that it takes into account one by one substrate node
PAPER #5: CONSTRUCTING ENERGY-AWARE SOFTWARE-DEFINED NETWORK VIRTUALIZATION in sorted set to obtain a suitable node for virtual node nR map on. The nR is mapped on nS if only it satisfied conditions in line 7 and 9. 2) Heuristic Energy-Efficient VNoM For energy-efficient VNE, we focus on minimum number of active substrate nodes. The unused nodes will be turned off when no activities are performed. In this work we propose a Heuristic Energy-efficient VNoM (HEE) algorithm that realizes node mapping in order of priority as follows: - Maps a virtual node on the already active substrate node - Maps onto the neighboring substrate nodes that have the biggest number of connected neighbors 𝑁𝑛𝑒𝑖 (𝑁 𝑆 ) The purpose of this mapping priority is reducing the active substrate nodes in VNoM and indirectly eliminate the number of hidden hops in VLiM. The HEE-VNE is shown in Algoritm 2. Algorithm 2: HEE Node Mapping 1. input: 𝑻𝑺 (𝑬𝑺 , 𝑵𝑺 ) and 𝑺𝑫𝑽𝑵𝑹(𝑬𝑹 , 𝑵𝑹 ) 2. begin 3. //Sort 𝑁 𝑆 by |𝑁𝑛𝑒𝑖 (𝑁 𝑆 )| in non-decreasing order 4. 𝑁 𝑆 ← 𝑠𝑜𝑟𝑡𝑛𝑒𝑖 (𝑁 𝑆 ) 5. for all 𝑛𝑅 in 𝑁 𝑅 do 6. for all 𝑛 𝑆 in 𝑁 𝑆 do 7. if 𝑉𝑛 (𝑛 𝑆 ) ∩ 𝑁𝑛𝑒𝑖 (𝑛𝑅 ) ≠ ∅ then 8. continue 9. else if 𝐶𝑎 (𝑛 𝑆 ) ≥ 𝑅𝐶 (𝑛𝑅 ) then 10. 𝑀𝑁 = 𝑀𝑁 + {𝑛 𝑆 ← 𝑛𝑅 } 11. SUCCESS 12. end if 13. if 𝑛 𝑆 is off then 14. turn on 𝑛 𝑆 15. 𝑁 𝑛 . 𝑝𝑢𝑠ℎ(𝑛 𝑆 ) 16. 𝑁 𝑆 . 𝑟𝑒𝑚𝑜𝑣𝑒(𝑛 𝑆 ) 17. 𝑁 𝑛 . 𝑝𝑢𝑠ℎ(𝑁𝑛𝑒𝑖 (𝑛 𝑆 )) 18. 𝑁 𝑆 . 𝑟𝑒𝑚𝑜𝑣𝑒(𝑁𝑛𝑒𝑖 (𝑛 𝑆 )) 19. 𝑁 𝑆 ← 𝑁 𝑛 . 𝑝𝑢𝑠ℎ(𝑁 𝑆 ) 20. end if 21. break 22. end for 23. end for 24. end 25. output: 𝑻𝑺 (𝑬𝑺 , 𝑵𝑺 ), 𝑴𝑵 3) BFS VLiM After VNoM, we use VLiM based on Breadth-first search (BFS) algorithm to find the shortest part among the nodes. The virtual link will be mapped onto this shortest path. V. PERFORMANCE EVALUATION In this session we deploy the algorithms and make a comparison among them. For creating a substrate network, firstly we use the Waxman algorithm [28] that generate random Topology, then we build a substrate network with OpenVSwitches following the topology. We evaluate the algorithms based on two aspects: Acceptance Ratio and Energy Consumption Ratio
-
6
An acceptance ratio is known as the number of SDVNRs that could be embedded Energy consumption ratio is ratio of system’s energy consumption to the maximum energy consumption 1 when all substrate nodes and links are working at maximum speeds.
Fig.5. Acceptance ratio’s comparison
Fig.6. Energy consumption ratio’s comparison
As we can see in the Fig.5 and Fig.6, the HEE (VNoM)+BFS (VLiM) mapping algorithm is not only better in term of energy-saving level, but also better in term of acceptance ratio in comparison with Greedy+BFS VNE algorithm. VI. CONCLUSION In this article we successfully deploy the energy-aware Software-Defined Network Virtualization system that allows monitoring and controlling energy consumption of the substrate network. We also define the HEE mapping algorithm that reduce energy consumption of the network while maintains the acceptance ratio. In the near future, we are going to develop a system for QoS and fault- tolerance evaluation. VII. REFERENCES [1]
[2] [3]
Ward Van Heddeghem, Sofie Lambert, Bart Lannoo, Didier Colle, Mario Pickavet, Piet Demeester, “Trends in worldwide ICT electricity consumption from 2007 to 2012”, Computer Communications, Volume 50, 1 September 2014, Pages 64–76 Global Action Plan, “An Inefficient Truth.” Global Action Plan Report, http://globalactionplan.org.uk, Dec. 2007. Diego Kreutz, Fernando M. V. Ramos, Paulo Verissimo, Christian Esteve Rothenberg, Siamak Azodolmolky, and Steve Uhlig, “Software-Defined Networking: A Comprehensive Survey”,
PAPER #5: CONSTRUCTING ENERGY-AWARE SOFTWARE-DEFINED NETWORK VIRTUALIZATION [4] [5] [6] [7] [8]
[9]
[10] [11] [12] [13]
[14]
[15] [16]
[17]
[18]
N.M. Mosharaf Kabir Chowdhury, Raouf Boutaba, “A survey of network virtualization”, Computer Networks 54 (2010) 862–876 OpenFlow Switch Specifiation – v1.5, Open Network Foundation, September 27, 2013. Available: https://www.opennetworking.org POX. http://www.noxrepo.org/pox/about-pox/ Floodlight. http://Floodlight.openflowhub.org/ R. Sherwood, G. Gibb, K. Yap, G. Appenzeller, N. McKeown, and G. Parulkar, “FlowVisor: A network virtualization layer” OpenFlow Switch Consortium, Tech. Rep. OPENFLOW-TR-2009-1, 2009. [Online]. Available: http://www.OpenFlow.org/wk/index.php/ Rob Sherwood, Michael Chan,Glen Gibb, Nikhil Handigol,Te-Yuan Huang,Peyman Kazemian, Masayoshi Kobayashi, David Underhill, KokKiong Yap, Guido Appenzeller, and Nick McKeown, “Carving Research Slices Out of Your Production Networks with OpenFlow” Newsletter ACM SIGCOMM Computer Communication Review archive Volume 40 Issue 1, January 2010 Pages 129-130 “Exploring networks of the future.” [Online]. Available: http://www.geni.net/ “Ofelia, OpenFlow in Europe.” [Online]. Available: http://www.fp7ofelia.eu OF@TEIN - OpenFlow@Trans-Eurasian Information Network, [Online] - http://oftein.net T. Anderson, L. Peterson, S. Shenker, and J. Turner, “Overcoming the internet impasse through virtualization,” Computer, vol. 38, pp. 34–41, April 2005. N. Feamster, L. Gao, and J. Rexford, “How to lease the internet in your spare time,” ACM SIGCOMM Computer Communication Review, vol. 37, pp. 61–64, 2007. N. M. K. Chowdhury and R. Boutaba, “A survey of network virtualization,” Computer Networks, vol. 54, no. 5, pp. 862 – 876, 2010. A. Bavier, N. Feamster, M. Huang, L. Peterson, and J. Rexford, “In VINI Veritas: realistic and controlled network experimentation,” SIGCOMM Comput. Commun. Rev., vol. 36, pp. 3–14, August 2006. D. Schwerdel, D. Gunther, R. Henjes, B. Reuther, and P. M ¨ uller, ¨ “German-lab experimental facility,” in Future Internet - FIS 2010, ser.Lecture Notes in Computer Science, A. Berre, A. Gomez-Perez, K. Tutschku, and D. Fensel, Eds., vol. 6369. Springer Berlin /Heidelberg, 2010, pp. 1–10, 10.1007/978-3-642-15877-3_1. Andreas Fischer, Juan Felipe Botero, Michael Till Beck, Hermann de Meer, and Xavier Hesselbach, “Virtual Network Embedding: A Survey”, IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 15, NO. 4, FOURTH QUARTER 2013, DOI: 10.1109/SURV.2013.013013.00155
[19] OpenFlow: https://www.opennetworking.org/sdn-resources/openflow [20] Nam Pham Ngoc, Thanh Nguyen Huu, Trong Vu Quang, Vu Tran Hoang, Huong Truong Thu, Phuoc Tran-Gia, Christian Schwartz, “A new power profiling method and power scaling mechanism for energy-aware NetFPGA gigabit router”, Computer Networks, Volume 78, 26 February 2015, Pages 4–25. [21] V. Sivaraman A. Vishwanath Zhi Zhao, C. Russell, “Profiling perpacket and per-byte energy consumption in the NetFPGA Gigabit router” - IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS), 2011 vol., no. 10–15 April 2011, pp. 331–336. [22] OvS: http://openvswitch.org/ [23] Raffaele Bolla, Roberto Bruschi, Franco Davoli, Flavio Cucchietti. “Energy Efficiency in the Future Internet: A Survey of Existing Approaches and Trends in Energy-Aware Fixed Network Infrastructures” - Communications Surveys & Tutorials, IEEE (Volume:13, Issue: 2), 2nd Quarter 2011. [24] Juan Felipe Botero, Xavier Hesselbach, Michael Duelli, Daniel Schlosser, Andreas Fischer, and Hermann de Meer, “Energy Efficient Virtual Network Embedding”, IEEE COMMUNICATIONS LETTERS, VOL. 16, NO. 5, MAY 2012
[25] Yan Luo, Xuzhou Chen, Jie Wang, “A Virtual Network Embedding Algorithm for Providing Stronger Connectivity in the Residual Networks” JOURNAL OF NETWORKS, VOL. 8, NO. 4, APRIL 2013 DOI:10.4304/jnw.8.4.779-786 [26] Minlan Yu, Yung Yi, Jennifer Rexford, Mung Chiang “Rethinking Virtual Network Embedding: Substrate Support for Path Splitting and Migration, [27] Zhiping Cai, Fang Liu, Nong Xiao, Qiang Liu, Zhiying Wang, “Virtual Network Embedding For Evolving Networks”, publication in the IEEE Globecom 2010 proceedings [28] B. M. Waxman, “Routing of multipoint connections,“ IEEE J. Sel. Areas Commun., vol. 6, no. 9, pp. 16171622, 1988.
7