CN109308210B - Method for optimizing NFV forwarding service chain performance on multi-core server - Google Patents

Method for optimizing NFV forwarding service chain performance on multi-core server Download PDF

Info

Publication number
CN109308210B
CN109308210B CN201811067916.3A CN201811067916A CN109308210B CN 109308210 B CN109308210 B CN 109308210B CN 201811067916 A CN201811067916 A CN 201811067916A CN 109308210 B CN109308210 B CN 109308210B
Authority
CN
China
Prior art keywords
core
service chain
forwarding service
cpu
nfv
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811067916.3A
Other languages
Chinese (zh)
Other versions
CN109308210A (en
Inventor
陈鸣
戴宁赟
许博
丁科
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Army Engineering University of PLA
Original Assignee
Army Engineering University of PLA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Army Engineering University of PLA filed Critical Army Engineering University of PLA
Priority to CN201811067916.3A priority Critical patent/CN109308210B/en
Publication of CN109308210A publication Critical patent/CN109308210A/en
Application granted granted Critical
Publication of CN109308210B publication Critical patent/CN109308210B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A method for optimizing the performance of an NFV forwarding service chain on a multi-core server is characterized in that the forwarding service chain is deployed in NFV application, the forwarding service chain in an NFV network can have important influence on the performance of the NFV network, and the performance of an NFV system can be remarkably improved by applying the SCBC algorithm for optimizing the performance of the NFV forwarding service chain on the multi-core server. Furthermore, ideas similar to SCBC algorithms can also be applied to other service chains in the NFV network to optimize system performance.

Description

Method for optimizing NFV forwarding service chain performance on multi-core server
Technical Field
The invention belongs to the field of Network communication, and particularly provides a method for optimizing service chain performance in a Network Function Virtualization (NFV) Network on a multi-core server.
Background
With the increasing abundance of network applications and the increasing complexity of network functions, the computer server performance is more and more powerful, and NFV comes into play. Various network functions are realized on a commercial computer server by using virtualization technology, and the network functions can be rapidly generated, removed or migrated. When a network service can be decomposed into a set of Virtual Network Functions (VNFs), these VNFs can be implemented in software and run on a virtual machine to become network middlebox software with some equivalent of a network device. The network middlebox software becomes some kind of virtual network device. Thus, many types of virtual network devices can be integrated to run on a high-performance server, and become an NFV network that is fully equivalent to a particular network function and performance (as server performance allows). When network traffic needs change, VNFs may be relocated and instantiated at different locations to form new networks without the need to purchase, install, and configure new network hardware devices.
The core device in an IP network is a router, and the most basic function of the network is packet forwarding. In the NFV network, networks of any size are formed by connecting virtual routers in series and in parallel, or some other network middleboxes are added on the basis of the virtual routers. A plurality of VNFs with a route forwarding function are connected in series to form a forwarding service chain, and the forwarding service chain transmitting a large flow rate has a great influence on the performance and the function of the NFV network. However, at present, the concerned network middleboxes mainly include firewalls, intrusion detection systems, deep packet inspection, load balancing, and the like, and research on forwarding service chains is lacking. The meaning of this patent therefore includes two aspects: firstly, although the forwarding service chain is the most basic and most used service in the NFV network, research on the forwarding service chain and a method for optimizing the forwarding service chain are lacked, and the method disclosed by the patent makes up the deficiency. Secondly, currently, the related NFV network performance optimization work is performed aiming at different levels of a Linux operating system, and a technology for performing optimization at an NFV network application level is lacked, so that the method disclosed by the invention makes up for the deficiency of optimization at the NFV application level.
Disclosure of Invention
The invention provides an optimization method for deploying a forwarding service chain in NFV application aiming at running the NFV application on a server or a host adopting a multi-core CPU technology, and the method can fully utilize the capability of a bottom-layer multi-core CPU, thereby improving the performance of an NFV system.
The technical scheme of the invention is as follows:
the invention provides a method for optimizing the performance of an NFV forwarding service chain on a multi-core server, which comprises the following steps:
s1, initializing the system, connecting several VNFs with route forwarding function in series on the multi-core server to form a forwarding service chain SC, where one SC can run on one or more cores, where the kth forwarding service chain SC runskThe ith virtual network device VNFkiThe core CPU resource that needs to be consumed is E (VNF)ki) One core CPUjThe resource that can be provided is E (CPU)j) (j is 0,1, …, m), j is the number of the multi-core server core CPU; m represents the total number of the multi-core server cores CPU; each core CPUjInitial load w ofjIs 0;
s2, slave SC1At the beginning, the chain SC is traversed in sequencekIf each VNF in (1)kiDistribution to core CPUsjTotal load on is less than that of the core CPUjProviding α times the resource, i.e., satisfying the following equation:
E(VNFki)+wj<α×E(CPUj)
add the VNF to the set of vectors to which the core corresponds
Figure BDA0001798778360000021
And updates the core CPUjLoad w ofjA value of (d); if not, allocating to another idle core, namely VNFkiAdding to core CPUj+1Corresponding set of vectors
Figure BDA0001798778360000022
Performing the following steps;
s3, when all VNFs are distributed into proper vector sets, the sets are collected
Figure BDA0001798778360000023
Each VNF in (1)kiRespectively bound to corresponding core CPUsjAnd (6) finishing optimization.
Further, the method further comprises: and S4, distributing other threads except the forwarding service chain according to a Linux default scheduling mechanism.
Further, in step S3, binding VNFs respectively using taskset command of LinuxkiTo the corresponding core CPUjThe above.
Furthermore, the alpha is more than 0 and less than or equal to 0.7.
Further, the computer server has a multi-core CPU hardware condition capable of supporting the operation of Linux operating system, virtualization software and various network protocols.
Further, the sending virtual network device VNF comprises a virtual host of the LXC and a traffic generator sending program, which is capable of sending traffic of various strengths of TCP, UDP and various applications.
Further, the receiving virtual network device VNF comprises a virtual host of the LXC and a traffic generator receiver program, which is capable of receiving traffic of various strengths of TCP, UDP and various applications.
The invention has the beneficial effects that:
in the NFV network, the forwarding service chain can have important influence on the performance of the NFV network, and the method for optimizing the performance of the NFV forwarding service chain is applied to a multi-core server, so that the performance of an NFV system can be obviously improved. Furthermore, the idea similar to the present invention can also be applied for other service chains in the NFV network to optimize the system performance.
Additional features and advantages of the invention will be set forth in the detailed description which follows.
Drawings
The above and other objects, features and advantages of the present invention will become more apparent by describing in more detail exemplary embodiments thereof with reference to the attached drawings, in which like reference numerals generally represent like parts throughout.
Fig. 1 is a schematic diagram of the structure of a forwarding service chain.
Fig. 2 is a specific deployment diagram of an embodiment.
FIG. 3 is a comparison graph of curves of system CPU resource utilization rate varying with transmission rate when SCBC algorithm and Linux default algorithm are respectively adopted.
Fig. 4 is a graph comparing the system packet loss rate with the transmission rate when the SCBC algorithm and the Linux default algorithm are respectively adopted.
Detailed Description
Preferred embodiments of the present invention will be described in more detail below with reference to the accompanying drawings. While the preferred embodiments of the present invention are shown in the drawings, it should be understood that the present invention may be embodied in various forms and should not be limited to the embodiments set forth herein.
The invention provides a method for optimizing the performance of an NFV forwarding service chain on a multi-core server, which comprises the following steps:
s1, initializing the system, connecting several VNFs with route forwarding function in series on the multi-core server to form a forwarding service chain SC, one SCOne or more cores capable of running, wherein the k-th forwarding service chain SC runskThe ith virtual network device VNFkiThe core CPU resource that needs to be consumed is E (VNF)ki) One core CPUjThe resource that can be provided is E (CPU)j) (j is 0,1, …, m), j is the number of the multi-core server core CPU; m represents the total number of the multi-core server cores CPU; each core CPUjInitial load w ofj Is 0;
s2, slave SC1At the beginning, the chain SC is traversed in sequencekIf each VNF in (1)kiDistribution to core CPUsjTotal load on is less than that of the core CPUjProviding α times the resource, i.e., satisfying the following equation:
E(VNFki)+wj<α×E(CPUj)
add the VNF to the set of vectors to which the core corresponds
Figure BDA0001798778360000041
And updates the core CPUjLoad w ofjA value of (d); if not, allocating to another idle core, namely VNFkiAdding to core CPUj+1Corresponding set of vectors
Figure BDA0001798778360000042
Performing the following steps;
s3, when all VNFs are distributed into proper vector sets, the sets are collected
Figure BDA0001798778360000043
Each VNF in (1)kiRespectively bound to corresponding core CPUsjIn the above step, the optimization is completed;
and S4, distributing other threads except the forwarding service chain according to a Linux default scheduling mechanism.
In the invention, a multi-core computer server is used for bearing the NFV network and the NFV forwarding service chain, and the server runs a Linux operating system and a lightweight virtualization software LXC. Running a specific virtual network function VNF on the LXC can become a network middlebox with specific network functions. The LXC enters a router configuration mode through a zebra program, and is configured into a virtual router through the Quagga, and a plurality of network middleboxes can form a forwarding service chain.
The NFV network is an IP network constructed by adopting a virtualization technology, and can quickly construct a large-scale real and credible network test platform at a low cost. The platform can provide a test environment for researching a deep space network and an air-space-ground integrated network or provide a network target range for researching a network security technology and the like. When a large-scale NFV network containing a plurality of forwarding service chains is constructed, the NFV network can have better performance when the forwarding service chains are deployed on a multi-core server by adopting the SCBC algorithm optimization method provided by the patent, so that the SCBC algorithm is an important optimization means. On the premise of no optimization on server hardware, a Linux operating system and the like, the SCBC algorithm can improve the NFV network performance on the NFV network application level.
Examples
In this embodiment, an NFV network is built on a computer host, the model of the host is association T460p, an ubuntu16.04 operating system (Linux 4.8.0 kernel) is run, an 8-core CPU (model is intel (r) core (tm)) i7-6700HQ CPU @2.60GHz, and the memory is 16 GB.
In this embodiment, a performance test is performed on 8 parallel forwarding service chains L1, L2, …, and L8 running on a computer server, where each forwarding service chain runs an Iperf server-side program at a sending end, and runs an Iperf client-side program at a receiving end, and sends traffic from the sending end to the receiving end.
To test the performance of the SCBC algorithm, the following work is done: 1) sending 100-600 Mbps flow from a sending end of each forwarding service chain to a receiving end, wherein the sending VNF is the sending end, and the receiving VNF is the receiving end; 2) deploying the whole topology according to an SCBC algorithm, using a pstree command to check the process numbers of all container processes, and binding the processes of all VNFs in each forwarding service chain to a certain specified core by using a 'taskset' command of Linux, such as binding the forwarding service chain L1 to a core CPU0, binding the forwarding service chain L2 to a core CPU1, and the like; 3) and using a top command by a command line terminal on the server, checking the resource use condition and recording the occupied CPU resource. FIG. 3 is a curve showing the change of CPU resource occupation with the sending rate, wherein one L-core is a curve optimized by adopting the SCBC algorithm, and the other Default is a curve only adopting the Linux Default method, and obviously, under the same condition when the sending flow is larger, the SCBC algorithm enables the system performance to be better. Fig. 4 is a curve of the packet loss rate of the transmission flow varying with the transmission rate under two conditions, and it is obvious that the packet loss rate is almost 0 when the SCBC algorithm is adopted for optimization, and the packet loss rate can be as high as more than 12% only by adopting the Linux default method.
Having described embodiments of the present invention, the foregoing description is intended to be exemplary, not exhaustive, and not limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments.

Claims (7)

1. A method for optimizing the performance of an NFV forwarding service chain on a multi-core server, the method comprising the steps of:
s1, initializing the system, connecting several VNFs with route forwarding function in series on the multi-core server to form a forwarding service chain SC, where the kth forwarding service chain SC is operated on one or more cores operated by an SCkThe ith virtual network device VNFkiThe core CPU resource that needs to be consumed is E (VNF)ki) One core CPUjThe resource that can be provided is E (CPU)j) (j is 0, 1.. multidot.m), j is the number of the multi-core server core CPU; m represents the total number of the multi-core server cores CPU; each core CPUjInitial load w ofjIs 0;
s2, slave SC1At the beginning, the chain SC is traversed in sequencekIf each VNF in (1)kiDistribution to core CPUsjTotal load on is less than that of the core CPUjProviding α times the resource, i.e., satisfying the following equation:
E(VNFki)+wj<α×E(CPUj)
add the VNF to the set of vectors to which the core corresponds
Figure FDA0003169298320000011
And updates the core CPUjLoad w ofjA value of (d); if not, allocating to another idle core, namely VNFkiAdding to core CPUj+1Corresponding set of vectors
Figure FDA0003169298320000012
Performing the following steps;
s3, when all VNFs are distributed into proper vector sets, the sets are paired
Figure FDA0003169298320000013
Each VNF in (1)kiRespectively bound to corresponding core CPUsjAnd (6) finishing optimization.
2. The method for optimizing NFV forwarding service chain performance on a multi-core server as claimed in claim 1, wherein the method further comprises: and S4, distributing other threads except the forwarding service chain according to a Linux default scheduling mechanism.
3. The method of claim 1, wherein in step S3, the VNFs are bound separately by taskset command of LinuxkiTo the corresponding core CPUjThe above.
4. The method for optimizing the performance of the NFV forwarding service chain on the multi-core server as claimed in claim 1, wherein α is 0 < α ≦ 0.7.
5. The method for optimizing NFV forwarding service chain performance on a multi-core server as claimed in claim 1, wherein the computer server has multi-core CPU hardware conditions capable of supporting Linux operating system, virtualization software and various network protocol operations.
6. The method for optimizing NFV forwarding service chain performance on a multi-core server of claim 1, wherein; the sending virtual network device VNF comprises a virtual host of the LXC and a traffic generator sending program that is capable of sending traffic of various strengths of TCP, UDP and various applications.
7. The method for optimizing NFV forwarding service chain performance on a multi-core server of claim 1, wherein; the receiving virtual network device VNF comprises a virtual host of the LXC and a traffic generator receiver that is capable of receiving traffic of various strengths of TCP, UDP and various applications.
CN201811067916.3A 2018-09-13 2018-09-13 Method for optimizing NFV forwarding service chain performance on multi-core server Active CN109308210B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811067916.3A CN109308210B (en) 2018-09-13 2018-09-13 Method for optimizing NFV forwarding service chain performance on multi-core server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811067916.3A CN109308210B (en) 2018-09-13 2018-09-13 Method for optimizing NFV forwarding service chain performance on multi-core server

Publications (2)

Publication Number Publication Date
CN109308210A CN109308210A (en) 2019-02-05
CN109308210B true CN109308210B (en) 2021-11-26

Family

ID=65224482

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811067916.3A Active CN109308210B (en) 2018-09-13 2018-09-13 Method for optimizing NFV forwarding service chain performance on multi-core server

Country Status (1)

Country Link
CN (1) CN109308210B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110636137B (en) * 2019-10-14 2022-06-17 河海大学常州校区 Cluster-based NFV service chain optimization method in ocean view monitoring network
CN113691607B (en) * 2021-08-20 2023-06-02 绿盟科技集团股份有限公司 Flow load balancing control method and device and electronic equipment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106254178A (en) * 2016-08-03 2016-12-21 陈鸣 A kind of network test platform NFVNTP based on NFV and test method thereof
CN108353004A (en) * 2015-11-12 2018-07-31 是德科技新加坡(控股)私人有限公司 Method, system and computer-readable medium for test network virtualization of function (NFV)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10057112B2 (en) * 2016-03-24 2018-08-21 Ca, Inc. Fault detection of service chains in a SDN/NFV network environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108353004A (en) * 2015-11-12 2018-07-31 是德科技新加坡(控股)私人有限公司 Method, system and computer-readable medium for test network virtualization of function (NFV)
CN106254178A (en) * 2016-08-03 2016-12-21 陈鸣 A kind of network test platform NFVNTP based on NFV and test method thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"基于Linux容器实现NFV平台的研究";葛虎;《电子技术》;20160831(第8期);第10-14页 *

Also Published As

Publication number Publication date
CN109308210A (en) 2019-02-05

Similar Documents

Publication Publication Date Title
US12015563B2 (en) Management of resource affinities in computing systems having multiple cores
Wette et al. Maxinet: Distributed emulation of software-defined networks
US11283718B2 (en) Hybrid network processing load distribution in computing systems
Mai et al. Netagg: Using middleboxes for application-specific on-path aggregation in data centres
US9961002B2 (en) PacketUsher: accelerating computer-intensive packet processing
Bhowmik et al. High performance publish/subscribe middleware in software-defined networks
CN107409097B (en) Apparatus, medium, and method for load balancing mobility
CN110798517B (en) Decentralized cluster load balancing method and system, mobile terminal and storage medium
CN103401947A (en) Method and device for allocating tasks to multiple servers
CN103455363B (en) Command processing method, device and physical host of virtual machine
US10715424B2 (en) Network traffic management with queues affinitized to one or more cores
CN109308210B (en) Method for optimizing NFV forwarding service chain performance on multi-core server
Papadogiannaki et al. Efficient software packet processing on heterogeneous and asymmetric hardware architectures
Bhowmik et al. Distributed control plane for software-defined networks: A case study using event-based middleware
CN113014611A (en) Load balancing method and related equipment
CN116723143B (en) Network target range resource allocation method and system based on traffic affinity
CN113395183B (en) Virtual node scheduling method and system for network simulation platform VLAN interconnection
Li et al. An parallelized deep packet inspection design in software defined network
Beckmann et al. Pika: A network service for multikernel operating systems
CN111538560B (en) Virtual machine deployment method and device, electronic equipment and storage medium thereof
US20150263958A1 (en) Load balancing apparatus and method
Sapio et al. Cross-platform estimation of network function performance
WO2016122714A1 (en) Job scheduling in an infiniband network based hpc cluster
Baldi et al. A network function modeling approach for performance estimation
Qi et al. LIFL: A Lightweight, Event-driven Serverless Platform for Federated Learning

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant