CN107070709B - 一种基于底层numa感知的nfv实现方法 - Google Patents

一种基于底层numa感知的nfv实现方法 Download PDF

Info

Publication number
CN107070709B
CN107070709B CN201710209194.XA CN201710209194A CN107070709B CN 107070709 B CN107070709 B CN 107070709B CN 201710209194 A CN201710209194 A CN 201710209194A CN 107070709 B CN107070709 B CN 107070709B
Authority
CN
China
Prior art keywords
nfv
information
numa
nodes
implementation method
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
CN201710209194.XA
Other languages
English (en)
Other versions
CN107070709A (zh
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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN201710209194.XA priority Critical patent/CN107070709B/zh
Publication of CN107070709A publication Critical patent/CN107070709A/zh
Application granted granted Critical
Publication of CN107070709B publication Critical patent/CN107070709B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • 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/4557Distribution of virtual machine instances; Migration and load balancing
    • 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)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于底层NUMA感知的NFV实现方法,包括以下步骤:步骤1、获得Node间的访问延迟和带宽信息,形成信息矩阵;步骤2、解析NFV编排信息,获得NFV服务链的具体信息;步骤3、根据Node之间的访问延迟和带宽信息,生成资源调度策略;步骤4、根据资源调度策略执行虚拟机资源调度;步骤5、监视模块监视***资源负载,将负载高于所设定的阈值的节点标记为需要迁移状态;步骤6、将步骤5中被标记的节点从步骤1所得到的信息矩阵中屏蔽,然后返回步骤3。本发明的一种基于底层NUMA感知的NFV实现方法,结合实际服务器的实际性能和NFV业务编排的具体信息,动态调度分配虚拟机线程在物理CPU上的分布和资源使用,从而达到优化整体性能的目的。

Description

一种基于底层NUMA感知的NFV实现方法
技术领域
本发明涉及计算机虚拟化技术领域,尤其涉及一种基于底层NUMA感知的NFV实现方法。
背景技术
虚拟化是实现网络功能虚拟化的关键技术。虚拟化技术是一种将现有计算、存储、网络等各种实体资源进行抽象、转换的资源管理技术。虚拟化技术是IT技术发展趋势的一部分,可以为用户带来更好的使用实体资源的组织管理方式,并且这些实体资源是不受现有资源的架设方式、地域或者物理组态所限制。正因如此,虚拟化技术成为实现电信业务资源池化、动态编排、快速伸缩的关键技术。
欧洲电信标准化协会(ETSI)作为NFV的发起标准组织,于2015年年初发布了NFV参考架构等系列文稿,虽然ETSI NFV阶段成果不是强制执行的标准,但是得到了业界的普遍认可,已经成为了业界的事实标准。目前NFV的标准框架已基本稳定,如图1所示。NFV标准框架主要有NFV基础设施、虚拟网络功能和NFV管理与编排(NFV Management andOrchestration,NFV MANO)。工业界目前的主要工作仍集中在NFV管理和编排中,而关于通用服务器的性能和可靠性问题仍有待解决。
将通信行业的专有硬件设备变为通用的多核服务器,单纯从硬件的角度来说,性能和可靠性方面必然有所下降。例如核心网虚拟化设备中,其性能瓶颈主要集中在I/O接口数据转发和多核服务器的虚拟机调度上,与传统设备相比大概有30%~40%的性能损失,NFV的目标是减少到10%以内才能满足商用的需求。
另外,现有的主流的通用服务器的多核处理器采用的架构是非一致性内存访问(Non-Uniform Memory Access,简称NUMA)架构。NUMA架构的特点是***的相关硬件资源(如内存、CPU)被划分为多个节点。在NUMA架构里,处理器访问本地节点的内存的速度要比访问远程节点的内存的速度要快。将这样的通用服务器中运行特定的通信设备虚拟机,对于通用服务器来说是一种全新的应用场景,原有的针对一般应用进行优化的NUMA调度策略和负载均衡机制可能会失效,而运行在通用服务器中的虚拟网络功能对IO性能的敏感性会给通用操作***和运行平台带来新的挑战。
因此,本领域的技术人员致力于开发一种基于底层NUMA感知的NFV实现方法,在通用的NUMA架构服务器下,基于虚拟机调度方法,结合实际服务器的实际性能和NFV业务编排的具体信息,动态调度分配虚拟机线程在物理CPU上的分布和资源使用,从而达到优化整体性能的目的。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是开发一种基于底层NUMA感知的NFV实现方法,在通用的NUMA架构服务器下,基于虚拟机调度方法,结合实际服务器的实际性能和NFV业务编排的具体信息,动态调度分配虚拟机线程在物理CPU上的分布和资源使用,从而达到优化整体性能的目的。
为实现上述目的,本发明提供了一种基于底层NUMA感知的NFV实现方法,包括以下步骤:
步骤1、获得Node间的访问延迟和带宽信息,形成信息矩阵;
步骤2、解析NFV编排信息,获得NFV服务链的具体信息;
步骤3、根据Node之间的访问延迟和带宽信息,生成资源调度策略;
步骤4、根据资源调度策略执行虚拟机资源调度;
步骤5、监视模块监视***资源负载,将负载高于所设定的阈值的节点标记为需要迁移状态;
步骤6、将步骤5中被标记的节点从步骤1所得到的信息矩阵中屏蔽,然后返回步骤3。
进一步地,步骤1通过VMM和宿主机内存和IO访问检测获得各Node的访问延迟和带宽信息,将数据归一化组织形成内存访问延迟和带宽的信息矩阵,根据归一化后的信息矩阵,得出每个物理核的亲和性等价类划分矩阵,并记录在监视模块。
进一步地,步骤1获得的信息为底层硬件信息。
进一步地,步骤2通过解析NFV编排信息,获得NFV服务链的虚拟机信息,并记录在监视模块。
进一步地,虚拟机信息包括由虚拟机组成的服务链的虚拟机数量和组织拓扑、各虚拟网络功能之间的连接方式、各虚拟网络功能的资源需求特点。
进一步地,步骤3具体为根据步骤1和步骤2获得的信息,根据公式
Figure BDA0001260601880000021
得到资源调度策略。
进一步地,步骤4由调度器守护进程完成。
进一步地,步骤5中所设定的阈值被设置为物理CPU使用率高于90%,当节点的物理CPU使用率高于90%时,触发该CPU上虚拟CPU迁移,并被标记为需要迁移状态。
技术效果
1、通过对虚拟CPU资源的合理调度,使得各线程的内存访问效率最大化,平均延迟时间最少,从而使得I/O资源的带宽能够得到充分利用;
2、线程动态迁移代价较小,根据公式1可以得到最优的调度结果;
3、充分考虑到NFV服务链的特性,结合具体应用的服务组织信息进行调度决策,保证本方法在不同情况下的适用性。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是本发明的一个较佳实施例的一种基于底层NUMA感知的NFV实现方法的概率图。
图2是本发明的一个较佳实施例的一种基于底层NUMA感知的NFV实现方法的NUMA节点结构示意图。
图3是本发明的一个较佳实施例的一种基于底层NUMA感知的NFV实现方法的流程示意图。
图4是本发明的一个较佳实施例的一种基于底层NUMA感知的NFV实现方法的NFV标准框架示意图。
具体实施方式
如图1所示,本发明的一较佳实施例提供了一种基于底层NUMA感知的NFV实现方法简单地说是获得硬件信息和服务链信息,并形成信息矩阵,再将信息矩阵记录在监视模块,根据监视模块的记录,调度模块对虚拟机资源进行调度。
如图2所示,本发明的一较佳实施例提供了一种基于底层NUMA感知的物理机处理器节点和高性能网卡拓扑结构示意图,其中的处理器节点与网卡间的非对称连接方式是目前主流处理器普遍采用的架构之一。
如图3所示,本发明的一较佳实施例提供了一种基于底层NUMA感知的NFV实现方法,包括以下步骤:
步骤1、获得Node间的访问延迟和带宽信息,形成信息矩阵;具体地,通过VMM和宿主机内存和IO访问检测获得各node的访问延迟和带宽信息,将数据归一化组织形成内存访问延迟和带宽的信息矩阵,根据归一化后的矩阵,得出每个物理核的亲和性等价类划分矩阵,记录在监视模块。此步骤获取的信息为底层硬件信息。
该信息主要包括:Node的内部访问和外部访问的延迟(Latency)和带宽(Bandwidth)如表1所示,其中external和internal两项中所标示出的是主要的影响因素。***中断作为统一的影响因素故不再特别标出,由测量出的数据值统一表征。内部的访问延迟信息和带宽统计如表2所示,分别形成延迟和带宽矩阵,做为输入参数用于公式1中。此数据经过归一化之后被记录在监视模块,作为***平台基本信息存储。由于此信息只与硬件相关,故当扩展到不同平台时,只需更新该信息即可。
表1
External Internal
Latency I/O QPI
Bandwidth I/O QPI
步骤2、解析NFV编排信息,获得NFV服务链的具体信息;具体地,通过解析NFV编排信息,获得NFV服务链的虚拟机信息,并记录在监视模块。虚拟机信息包括由虚拟机组成的服务链的虚拟机数量和组织拓扑、各虚拟网络功能之间的连接方式、各虚拟网络功能的资源需求特点。
将此信息记录在监视模块中,并根据此信息在公式1中的状态转移方程中作为迭代选择依据。
表2
Node0 Node1 Node2 Node3
Node0
Node1
Node2
Node3
步骤3、根据Node之间的访问延迟和带宽信息,生成资源调度策略;根据以下公式生成资源调度策略:
Figure BDA0001260601880000041
步骤4、根据资源调度策略执行虚拟机资源调度;此过程由调度器守护进程完成。
步骤5、监视模块监视***资源负载,将负载高于所设定的阈值(节点物理CPU使用率平均值高于90%)的节点标记为需要迁移状态;
步骤6、将步骤5中被标记的节点从步骤1所得到的信息矩阵中屏蔽,然后返回步骤3。
在迁移执行模块完成了对虚拟CPU的迁移之后,对于的虚拟CPU也就被迁移到了对应的节点上,由此完成了对虚拟机虚拟处理器资源的调度。
如图4所示,本发明的一较佳实施例的基于底层NUMA感知的标准NFV实现结构示意图简单地说是基于ETSI标准NFV指导架构下基于底层物理服务器性能感知的一种具体实现。基于此种架构既能保证NFV功能的完整性要求,也能提高NFV在具体应用场景下的性能,更好的满足工业界的实现目标。
综上所述,本发明的一种基于底层NUMA感知的NFV实现方法在通用的NUMA架构服务器下,基于虚拟机调度方法,结合实际服务器的实际性能和NFV业务编排的具体信息,动态调度分配虚拟机线程在物理CPU上的分布和资源使用,从而达到优化整体性能的目的。通过对虚拟CPU资源和IO访问的合理调度,使得各虚拟CPU的内存及IO访问效率最大化,平均延迟时间最少,从而使得I/O资源的带宽能够得到充分利用。线程动态迁移代价较小,根据公式1可以得到最优的调度结果。进一步地,通过引入两个信息矩阵和IO访问延迟向量计算可以使得虚拟环境下的资源优化调度成为可能。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

Claims (7)

1.一种基于底层NUMA感知的NFV实现方法,其特征在于,包括以下步骤:
步骤1、获得Node间的访问延迟和带宽信息,形成信息矩阵;其中所述Node间的访问分为内部访问和外部访问,所述内部访问中QPI是主要影响因素,所述外部访问中的I/O是主要影响因素;
步骤2、解析NFV编排信息,获得NFV服务链的具体信息;
步骤3、根据Node之间的访问延迟和带宽信息,生成资源调度策略;
步骤4、根据所述资源调度策略执行虚拟机资源调度;
步骤5、监视模块监视***资源负载,将负载高于所设定的阈值的节点标记为需要迁移状态;
步骤6、将步骤5中被标记的节点从步骤1所得到的所述信息矩阵中屏蔽,然后返回步骤3;
所述步骤3具体为根据所述步骤1和所述步骤2获得的信息,根据公式
Figure FDA0002396797950000011
得到资源调度策略。
2.如权利要求1所述的一种基于底层NUMA感知的NFV实现方法,其特征在于,所述步骤1通过VMM和宿主机内存和IO访问检测获得各Node的访问延迟和带宽信息,将数据归一化组织形成内存访问延迟和带宽的信息矩阵,根据归一化后的信息矩阵,得出每个物理核的亲和性等价类划分矩阵,并记录在监视模块。
3.如权利要求2所述的一种基于底层NUMA感知的NFV实现方法,其特征在于,所述步骤1获得的信息为底层硬件信息。
4.如权利要求1所述的一种基于底层NUMA感知的NFV实现方法,其特征在于,所述步骤2通过解析NFV编排信息,获得NFV服务链的虚拟机信息,并记录在监视模块。
5.如权利要求4所述的一种基于底层NUMA感知的NFV实现方法,其特征在于,所述虚拟机信息包括由虚拟机组成的服务链的虚拟机数量和组织拓扑、各虚拟网络功能之间的连接方式、各虚拟网络功能的资源需求特点。
6.如权利要求1所述的一种基于底层NUMA感知的NFV实现方法,其特征在于,所述步骤4由调度器守护进程完成。
7.如权利要求1所述的一种基于底层NUMA感知的NFV实现方法,其特征在于,所述步骤5中所设定的阈值被设置为物理CPU使用率高于90%,当节点的物理CPU使用率高于90%时,触发该CPU上虚拟CPU迁移,并被标记为需要迁移状态。
CN201710209194.XA 2017-03-31 2017-03-31 一种基于底层numa感知的nfv实现方法 Active CN107070709B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710209194.XA CN107070709B (zh) 2017-03-31 2017-03-31 一种基于底层numa感知的nfv实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710209194.XA CN107070709B (zh) 2017-03-31 2017-03-31 一种基于底层numa感知的nfv实现方法

Publications (2)

Publication Number Publication Date
CN107070709A CN107070709A (zh) 2017-08-18
CN107070709B true CN107070709B (zh) 2020-06-26

Family

ID=59601603

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710209194.XA Active CN107070709B (zh) 2017-03-31 2017-03-31 一种基于底层numa感知的nfv实现方法

Country Status (1)

Country Link
CN (1) CN107070709B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107967180B (zh) * 2017-12-19 2019-09-10 上海交通大学 基于numa虚拟化环境下资源全局亲和度网络优化方法和***
CN110738316B (zh) * 2018-07-20 2024-05-14 北京三星通信技术研究有限公司 基于神经网络的操作方法、装置及电子设备
CN110545228B (zh) * 2019-07-26 2020-11-20 北京邮电大学 服务功能链请求处理方法及***
CN112306628B (zh) * 2020-10-12 2022-10-14 上海交通大学 一种基于多核服务器的虚拟网络功能资源管理***
CN113518016B (zh) * 2021-06-22 2022-08-30 新华三大数据技术有限公司 一种消息发送方法及vnfm、计算机可读存储介质
CN115794317B (zh) * 2023-02-06 2023-04-21 天翼云科技有限公司 一种基于虚拟机的处理方法、装置、设备及介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104050043A (zh) * 2014-06-17 2014-09-17 华为技术有限公司 基于共享缓存感知的虚拟机调度方法和装置
CN104572307B (zh) * 2015-01-30 2019-03-05 无锡华云数据技术服务有限公司 一种对虚拟资源进行弹性调度的方法
CN104615480A (zh) * 2015-02-04 2015-05-13 上海交通大学 基于numa高性能网络处理器负载的虚拟处理器调度方法
US10430248B2 (en) * 2015-04-17 2019-10-01 Vmware, Inc. Proactive high availability in a virtualized computer system
CN106533723B (zh) * 2015-09-11 2020-10-23 南京中兴软件有限责任公司 虚拟资源调度方法、装置及***
CN106095576A (zh) * 2016-06-14 2016-11-09 上海交通大学 虚拟化多核环境下非一致性i/o访问虚拟机资源迁移方法
CN106293944B (zh) * 2016-08-11 2019-12-10 上海交通大学 虚拟化多核环境下基于非一致性i/o访问***和优化方法

Also Published As

Publication number Publication date
CN107070709A (zh) 2017-08-18

Similar Documents

Publication Publication Date Title
CN107070709B (zh) 一种基于底层numa感知的nfv实现方法
US11507430B2 (en) Accelerated resource allocation techniques
Lai et al. Cost-effective app user allocation in an edge computing environment
WO2022262167A1 (zh) 集群资源调度方法及装置、电子设备和存储介质
CN106776005B (zh) 一种面向容器化应用的资源管理***及方法
EP3507692B1 (en) Resource oversubscription based on utilization patterns in computing systems
US8424059B2 (en) Calculating multi-tenancy resource requirements and automated tenant dynamic placement in a multi-tenant shared environment
CN109669774B (zh) 硬件资源的量化方法、编排方法、装置及网络设备
Di et al. Characterizing and modeling cloud applications/jobs on a Google data center
US20150178117A1 (en) Selecting cloud computing resource based on fault tolerance and network efficiency
Gill et al. Tails in the cloud: a survey and taxonomy of straggler management within large-scale cloud data centres
CN109614227A (zh) 任务资源调配方法、装置、电子设备及计算机可读介质
Chen et al. Latency minimization for mobile edge computing networks
Weng et al. Beware of Fragmentation: Scheduling {GPU-Sharing} Workloads with Fragmentation Gradient Descent
Elshater et al. A study of data locality in YARN
Ludwig et al. Optimizing multi‐tier application performance with interference and affinity‐aware placement algorithms
CN117076133B (zh) 云游戏平台异构资源分配方法、计算机装置及存储介质
CN112306628B (zh) 一种基于多核服务器的虚拟网络功能资源管理***
Lou et al. ArkGPU: enabling applications’ high-goodput co-location execution on multitasking GPUs
Rao et al. Scheduling microservice containers on large core machines through placement and coalescing
US10642657B2 (en) Client-server architecture for multicore computer system to realize single-core-equivalent view
US9176910B2 (en) Sending a next request to a resource before a completion interrupt for a previous request
Zhao et al. vSpec: Workload-adaptive operating system specialization for virtual machines in cloud computing
Matsuura et al. A highly efficient consolidated platform for stream computing and hadoop
Li et al. SoDa: A Serverless‐Oriented Deadline‐Aware Workflow Scheduling Engine for IoT Applications in Edge Clouds

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