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 PDFInfo
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000005457 optimization Methods 0.000 claims description 11
- 239000013598 vector Substances 0.000 claims description 9
- 230000007246 mechanism Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 241000029811 Equus burchellii quagga Species 0.000 description 1
- 241000283070 Equus zebra Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network 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
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 correspondsAnd updates the core CPUjLoad w ofjA value of (d); if not, allocating to another idle core, namely VNFkiAdding to core CPUj+1Corresponding set of vectorsPerforming the following steps;
s3, when all VNFs are distributed into proper vector sets, the sets are collectedEach 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 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 correspondsAnd updates the core CPUjLoad w ofjA value of (d); if not, allocating to another idle core, namely VNFkiAdding to core CPUj+1Corresponding set of vectorsPerforming the following steps;
s3, when all VNFs are distributed into proper vector sets, the sets are collectedEach 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 correspondsAnd updates the core CPUjLoad w ofjA value of (d); if not, allocating to another idle core, namely VNFkiAdding to core CPUj+1Corresponding set of vectorsPerforming the following steps;
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.
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 Expired - Fee Related 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)
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)
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)
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 |
-
2018
- 2018-09-13 CN CN201811067916.3A patent/CN109308210B/en not_active Expired - Fee Related
Patent Citations (2)
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)
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 | |
CN110311948B (en) | Communication method between container groups and container cloud network system based on same | |
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 | |
CN111538560B (en) | Virtual machine deployment method and device, electronic equipment and storage medium thereof | |
US20230109396A1 (en) | Load balancing and networking policy performance by a packet processing pipeline | |
CN113395183B (en) | Virtual node scheduling method and system for network simulation platform VLAN interconnection | |
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 | |
Xu et al. | CoNFV: An endhost-cloud collaborated network function virtualization framework |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20211126 |
|
CF01 | Termination of patent right due to non-payment of annual fee |