CN106095576A - 虚拟化多核环境下非一致性i/o访问虚拟机资源迁移方法 - Google Patents

虚拟化多核环境下非一致性i/o访问虚拟机资源迁移方法 Download PDF

Info

Publication number
CN106095576A
CN106095576A CN201610415935.5A CN201610415935A CN106095576A CN 106095576 A CN106095576 A CN 106095576A CN 201610415935 A CN201610415935 A CN 201610415935A CN 106095576 A CN106095576 A CN 106095576A
Authority
CN
China
Prior art keywords
rsqb
lsqb
thread
node
nonuniformity
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.)
Pending
Application number
CN201610415935.5A
Other languages
English (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.)
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 CN201610415935.5A priority Critical patent/CN106095576A/zh
Publication of CN106095576A publication Critical patent/CN106095576A/zh
Pending legal-status Critical Current

Links

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于虚拟化多核环境下的非一致性I/O访问虚拟机资源迁移方法,包括:通过VMM和宿主机内存访问检测获得各虚拟CPU线程的线程内存分布矩阵,并记录在监视模块;通过宿主各内存节点访问延迟数据收集获得线程访问各节点的访问延迟矩阵,并记录在监视模块;当发现某个节点的负载高于某个阈值时,触发本CPU上负载最高的线程标记为需要迁移状态;利用公式得到迁移的目的节点,并实施迁移;迁移结束后将反馈管理模块,取消线程标记,继续监控。本发明解决了在虚拟化多核环境下的非一致性I/O访问虚拟资源调度问题,使得高性能网络中的物理带宽利用率得到提升。

Description

虚拟化多核环境下非一致性I/O访问虚拟机资源迁移方法
技术领域
本发明涉及计算机虚拟化领域,尤其涉及一种虚拟化多核环境下非一致性I/O访问虚拟机资源迁移方法。
背景技术
虚拟化是云计算中的关键技术。虚拟化允许多个计算机系统运行在一个物理计算机上,将物理机的硬件资源(CPU,内存,I/O设备等等)抽象成类似于电力的可按需使用的资源,提供给客户使用。虚拟化技术的使用,极大的减少了小型企业对服务器购买的投入,同时也极大的提高了空闲主机的使用效率,所以虚拟化技术广泛的存在于当今高性能服务器里面,比较有代表性的虚拟化云计算实例有亚马逊的EC2和阿里巴巴的阿里云。
虚拟化技术中一个关键组件就是虚拟机监视器(Virtual Machine Management,VMM)。虚拟机监视器负责将主机硬件资源抽象给虚拟机使用,同时还负责虚拟机的管理和虚拟机之间的通信等等。传统的硬件资源包括CPU资源,内存资源和I/O资源等,在非一致性内存访问(Non-Uniform Memory Access,NUMA)的架构下,虚拟化技术主要关注的是提升这些硬件资源虚拟化过后的性能。
CPU虚拟化是虚拟化技术的基础之一。CPU的虚拟化技术是一种硬件方案,支持虚拟话技术的CPU使用经过特别优化过的指令集来控制虚拟过程,通过这些指令集,相比纯软件的虚拟化技术,虚拟机的性能可以得到很大程度的提高。QEMU/KVM中提供了一套完整的硬件系统环境,对于客户机看来其所拥有的CPU即VCPU。在KVM环境中,每个客户机都是一个标准的Linux进程,而每个VCPU在宿主机中是QEMU进程派生的一个普通线程,所以对于虚拟机VCPU的管理,实际上就是对于宿主机中特定的线程的管理。
现有的主流多核处理器采用的架构是非一致性内存访问(Non-Uniform MemoryAccess,简称NUMA)架构。NUMA架构的特点是系统的相关硬件资源(如内存、CPU)被划分为多个节点。在NUMA架构里,处理器访问本地节点的内存的速度要比访问远程节点的内存的速度要快。如图2所示的是物理平台的具有4个NUMA节点的NUMA架构服务器的示意图。由于不同位置的处理器(CPU)与各个内存之间的距离不同,且各个处理器之间的距离也不同,因此不同处理器访问各个内存的时间也是不同的。
在多核和高速I/O的情境下,现有的调优方法集中体现在非虚拟化情况下的NUMA内存迁移,由于缺乏虚拟化环境下宿主机的相关信息,原有的调优策略在现有的NUMA和高速I/O情境下会失效。
因此,本领域的技术人员致力于开发一种虚拟化多核环境下非一致性I/O访问虚拟机资源迁移方法,可以根据各虚拟机的运行状态和资源需求,动态分配虚拟机线程在物理CPU上的分布和资源使用。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是在虚拟化非一致性内存访问架构下,当CPU负载过高时,I/O带宽并不能被完全使用,为了充分利用高性能网络中的高带宽,使得宿主机中的虚拟机整体资源利用率达到最高,通过使用物理机节点信息和虚拟机虚拟CPU信息相结合,利用访问延迟推导出最优部署,以提升虚拟机性能和总体带宽利用。使得宿主机中的虚拟机整体资源,特别是I/O资源的利用率达到最高。
为了实现上述目的,本发明提供了一种基于虚拟化多核环境下的非一致性I/O访问虚拟机资源迁移方法,包括以下步骤:
(1)、通过VMM和宿主机内存访问检测获得各虚拟CPU线程的线程内存分布TMT矩阵,并记录在监视模块;
(2)、通过宿主机各内存节点访问延迟数据收集获得线程访问各节点的访问延迟DT矩阵,并记录在监视模块;
(3)、当发现某个节点的负载高于阈值时,触发本CPU上负载最高的线程标记为需要迁移的状态;
(4)、利用公式
T M T [ T ] [ k ] Σ j = 1 n T M T [ T ] [ j ] D T [ T ] [ k ] ≤ T M T [ T ] [ p ] Σ j = 1 n T M T [ T ] [ j ] D T [ T ] [ p ]
得到迁移的目的节点,并实施迁移;迁移结束后将反馈管理模块,取消线程标记,回到步骤(1)继续监控。
进一步地,所述阈值为物理CPU使用率高于90%。
本方法与现有技术相比,至少具有以下有益的技术效果:
1.通过对VCPU资源的合理调度,使得各线程的内存访问效率最大化,平均延迟时间最少,从而使得I/O资源的带宽能够得到充分利用。
2.线程动态迁移代价较小,根据公式1可以得到最优的调度结果。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1为本发明的一个较佳实施例的结构示意图;
图2为本发明的一个较佳实施例的内存节点结构示意图;
图3为本发明的一个较佳实施例的执行流程示意图。
具体实施方式
下面结合附图对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,以下给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
基于非一致性I/O访问虚拟机VCPU资源迁移方法包括包括以下步骤:
步骤1、通过VMM和宿主机获得各线程(VCPU)信息。该信息主要包括:宿主机的处理器结构和宿主机各虚拟机线程对应的在处理器节点的内存分布情况。该数据为动态数据,需要动态获得。其数据如下表所示。所获得的数据即为公式1中TMT矩阵值。
节点0 节点1 节点2 节点3
线程1
线程2
步骤2、通过宿主机获得处理器各节点间的访问延迟信息。该信息可由IntelMemory Latency Checker获得,并形成以下数据如表2所示。所获得数据即为公式1中DT矩阵。该数据为静态数据,一旦确定,除非物理硬件结构发生改变,不再修改。
节点0 节点1 节点2 节点3
节点0
节点1
节点2
节点3
步骤3、当检测模块对于某个处理器节点的检测发现CPU利用率超过了阈值(90%),则触发线程迁移模块进行线程迁移,找到该节点上负载最高的线程并将其pid进行标记,识别为待迁移的线程。
步骤4、将该内存节点CPU利用率最高的节点根据公式1的计算结果迁移到目的节点。迁移的具体方式是利用libvirt库中相应的virDomainPinVcpuFlags()函数进行。
T M T [ T ] [ k ] Σ j = 1 n T M T [ T ] [ j ] D T [ T ] [ k ] ≤ T M T [ T ] [ p ] Σ j = 1 n T M T [ T ] [ j ] D T [ T ] [ p ]
公式1
在迁移决策模块完成了对线程的迁移之后,对于的VCPU也就被迁移到了对应的节点上,由此完成了对虚拟机虚拟处理器资源的调度。之后,回到步骤1继续进行监测。
综上所述,本技术方案至少具有以下有益效果:通过对VCPU资源的合理调度,使得各线程的内存访问效率最大化,平均延迟时间最少,从而使得I/O资源的带宽能够得到充分利用。而且线程动态迁移代价较小,根据公式1可以得到最优的调度结果。进一步地,通过引入两个信息矩阵通过计算可以使得虚拟环境下的资源优化调度成为可能。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

Claims (2)

1.一种基于虚拟化多核环境下的非一致性I/O访问虚拟机资源迁移方法,其特征在于,包括以下步骤:
(1)、通过VMM和宿主机内存访问检测获得各虚拟CPU线程的线程内存分布TMT矩阵,并记录在监视模块;
(2)、通过宿主机各内存节点访问延迟数据收集获得线程访问各节点的访问延迟DT矩阵,并记录在监视模块;
(3)、当发现某个节点的负载高于阈值时,触发本CPU上负载最高的线程标记为需要迁移的状态;
(4)、利用公式
T M T [ T ] [ k ] Σ j = 1 n T M T [ T ] [ j ] D T [ T ] [ k ] ≤ T M T [ T ] [ p ] Σ j = 1 n T M T [ T ] [ j ] D T [ T ] [ p ]
得到迁移的目的节点,并实施迁移;迁移结束后将反馈管理模块,取消线程标记,回到步骤(1)继续监控。
2.如权利要求1所述的基于虚拟化多核环境下的非一致性I/O访问虚拟机资源迁移方,其特征在于,所述阈值为物理CPU使用率高于90%。
CN201610415935.5A 2016-06-14 2016-06-14 虚拟化多核环境下非一致性i/o访问虚拟机资源迁移方法 Pending CN106095576A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610415935.5A CN106095576A (zh) 2016-06-14 2016-06-14 虚拟化多核环境下非一致性i/o访问虚拟机资源迁移方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610415935.5A CN106095576A (zh) 2016-06-14 2016-06-14 虚拟化多核环境下非一致性i/o访问虚拟机资源迁移方法

Publications (1)

Publication Number Publication Date
CN106095576A true CN106095576A (zh) 2016-11-09

Family

ID=57845362

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610415935.5A Pending CN106095576A (zh) 2016-06-14 2016-06-14 虚拟化多核环境下非一致性i/o访问虚拟机资源迁移方法

Country Status (1)

Country Link
CN (1) CN106095576A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106951343A (zh) * 2017-03-20 2017-07-14 深圳市科力锐科技有限公司 非特定对象的延迟还原方法及延迟还原组件
CN107070709A (zh) * 2017-03-31 2017-08-18 上海交通大学 一种基于底层numa感知的nfv实现方法
CN108021429A (zh) * 2017-12-12 2018-05-11 上海交通大学 一种基于numa架构的虚拟机内存及网卡资源亲和度计算方法
CN108469986A (zh) * 2017-02-23 2018-08-31 华为技术有限公司 一种数据迁移方法及装置
CN109343949A (zh) * 2018-10-12 2019-02-15 武汉斗鱼网络科技有限公司 一种容量迁移方法、装置、电子设备及存储介质
CN111459660A (zh) * 2020-03-13 2020-07-28 平安科技(深圳)有限公司 云主机在宿主机上的动态分配方法、电子装置及存储介质
CN111756802A (zh) * 2020-05-26 2020-10-09 深圳大学 一种数据流任务在numa平台上的调度方法及系统
CN111984383A (zh) * 2020-08-18 2020-11-24 薛东 基于云网融合和人工智能的业务数据处理方法及云端平台
CN113467884A (zh) * 2021-05-25 2021-10-01 阿里巴巴新加坡控股有限公司 资源配置方法和装置、电子设备及计算机可读存储介质
CN117271056A (zh) * 2023-09-19 2023-12-22 北京火山引擎科技有限公司 公有云降频风险识别方法、设备及存储介质

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11347542B2 (en) 2017-02-23 2022-05-31 Huawei Technologies Co., Ltd. Data migration method and apparatus
CN108469986A (zh) * 2017-02-23 2018-08-31 华为技术有限公司 一种数据迁移方法及装置
CN108469986B (zh) * 2017-02-23 2021-04-09 华为技术有限公司 一种数据迁移方法及装置
CN106951343A (zh) * 2017-03-20 2017-07-14 深圳市科力锐科技有限公司 非特定对象的延迟还原方法及延迟还原组件
CN107070709A (zh) * 2017-03-31 2017-08-18 上海交通大学 一种基于底层numa感知的nfv实现方法
CN108021429A (zh) * 2017-12-12 2018-05-11 上海交通大学 一种基于numa架构的虚拟机内存及网卡资源亲和度计算方法
CN108021429B (zh) * 2017-12-12 2019-08-06 上海交通大学 一种基于numa架构的虚拟机内存及网卡资源亲和度计算方法
CN109343949A (zh) * 2018-10-12 2019-02-15 武汉斗鱼网络科技有限公司 一种容量迁移方法、装置、电子设备及存储介质
CN109343949B (zh) * 2018-10-12 2021-06-15 武汉斗鱼网络科技有限公司 一种容量迁移方法、装置、电子设备及存储介质
CN111459660A (zh) * 2020-03-13 2020-07-28 平安科技(深圳)有限公司 云主机在宿主机上的动态分配方法、电子装置及存储介质
CN111459660B (zh) * 2020-03-13 2023-07-07 平安科技(深圳)有限公司 云主机在宿主机上的动态分配方法、电子装置及存储介质
CN111756802A (zh) * 2020-05-26 2020-10-09 深圳大学 一种数据流任务在numa平台上的调度方法及系统
CN111984383A (zh) * 2020-08-18 2020-11-24 薛东 基于云网融合和人工智能的业务数据处理方法及云端平台
CN111984383B (zh) * 2020-08-18 2021-05-14 上海悟景信息科技有限公司 基于云网融合和人工智能的业务数据处理方法及云端平台
CN113467884A (zh) * 2021-05-25 2021-10-01 阿里巴巴新加坡控股有限公司 资源配置方法和装置、电子设备及计算机可读存储介质
CN117271056A (zh) * 2023-09-19 2023-12-22 北京火山引擎科技有限公司 公有云降频风险识别方法、设备及存储介质

Similar Documents

Publication Publication Date Title
CN106095576A (zh) 虚拟化多核环境下非一致性i/o访问虚拟机资源迁移方法
US10447806B1 (en) Workload scheduling across heterogeneous resource environments
US9594590B2 (en) Application migration with dynamic operating system containers
US9239765B2 (en) Application triggered state migration via hypervisor
CN102053873B (zh) 一种缓存感知的多核处理器虚拟机故障隔离保证方法
CN104199718B (zh) 一种基于numa高性能网络缓存资源亲和度的虚拟处理器的调度方法
US11204798B2 (en) Apparatus and method for virtual machine scheduling in non-uniform memory access architecture
US9146609B2 (en) Thread consolidation in processor cores
US20170010912A1 (en) Feedback system for optimizing the allocation of resources in a data center
US8972780B2 (en) Low-latency fault-tolerant virtual machines
Yang et al. Design adaptive task allocation scheduler to improve MapReduce performance in heterogeneous clouds
CN106293944A (zh) 虚拟化多核环境下基于非一致性i/o访问系统和优化方法
US8880764B2 (en) Pessimistic interrupt affinity for devices
CN103617087A (zh) 一种适合迭代计算的MapReduce优化方法
KR20160033517A (ko) 인터럽트 컨트롤러를 위한 하이브리드 가상화 방법
CN104615480A (zh) 基于numa高性能网络处理器负载的虚拟处理器调度方法
US9798482B1 (en) Efficient and secure memory allocation in virtualized computer systems
US20150242229A1 (en) Idle processor management by guest in virtualized systems
CN107491340B (zh) 跨物理机的巨型虚拟机实现方法
JP2016103113A5 (zh)
CN103595780A (zh) 基于消重的云计算资源调度方法
CN103064733A (zh) 云计算虚拟机热迁移技术
US20210342173A1 (en) Dynamic power management states for virtual machine migration
Malav et al. Effect and benefits of deploying Hadoop in private cloud
Yang et al. Implementation of GPU virtualization using PCI pass-through mechanism

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20161109