CN109117247B - 一种基于异构多核拓扑感知的虚拟资源管理***及方法 - Google Patents

一种基于异构多核拓扑感知的虚拟资源管理***及方法 Download PDF

Info

Publication number
CN109117247B
CN109117247B CN201810790559.7A CN201810790559A CN109117247B CN 109117247 B CN109117247 B CN 109117247B CN 201810790559 A CN201810790559 A CN 201810790559A CN 109117247 B CN109117247 B CN 109117247B
Authority
CN
China
Prior art keywords
virtual
virtual resource
virtual machine
real
topology
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
CN201810790559.7A
Other languages
English (en)
Other versions
CN109117247A (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 CN201810790559.7A priority Critical patent/CN109117247B/zh
Publication of CN109117247A publication Critical patent/CN109117247A/zh
Application granted granted Critical
Publication of CN109117247B publication Critical patent/CN109117247B/zh
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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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
    • 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/45583Memory management, e.g. access or 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

本发明公开了一种基于异构多核拓扑感知的虚拟资源管理***,包括虚拟机实时访问行为监测模块、底层互联拓扑检测模块和动态虚拟资源调度模块。动态虚拟资源调度模块综合利用虚拟机实时访问行为数据和物理机底层硬件拓扑信息来实时调度虚拟资源。本发明还公开了一种基于异构多核拓扑感知的虚拟资源管理方法,通过性能监测工具监测虚拟机实时访问行为触发的硬件事件,采集虚拟机实时访问行为数据,计算虚拟资源访问压力和亲和度;根据监控得到的有关数据来对物理机底层互联拓扑结构进行建模;根据虚拟资源访问压力和亲和度进行虚拟资源调度。本发明能够高效利用多核资源和高性能硬件的性能,并有效降低***的负载,适应于当今高性能应用环境。

Description

一种基于异构多核拓扑感知的虚拟资源管理***及方法
技术领域
本发明涉及虚拟机资源管理技术领域,尤其涉及一种基于异构多核拓扑感知的虚拟资源管理***及方法。
背景技术
当前数据中心服务器基本上都配备多个处理器以提供强大的计算能力,例如戴尔PowerEdge R730服务器就配备两个处理器插槽,而PowerEdge M830配备4个处理器插槽。这些处理器被组织成非一致性内存访问(Non-Uniform Memory Access,NUMA)架构来提升内存访问的带宽。处理器之间通过互联(interconnect)相互连接进行数据传递和通信。然而,由于不同处理器制造厂商提供的处理器互联解决方案不一样,导致了不同服务器的互联拓扑不相同。比如,Intel处理器之间通过Quick Path Interconnect(QPI)相连接,而AMD处理器之间通过Hyper Transport(HT)相连接。Intel的互联拓扑都是对称的,而AMD的互联拓扑却是不对称的。这种不对称的互联拓扑对资源访问效率有着不同的影响,如果在管理应用资源的时候没有意识到这种底层的互联拓扑特性,那么应用的性能也将会受到影响。
于此同时,数据中心服务器都被高度虚拟化以充分利用服务器物理资源。虚拟化技术可以允许多个用户运行自己的应用在一个物理服务器上。服务器的硬件资源(CPU,内存,I/O设备等等)被抽象成虚拟资源(虚拟CPU,内存地址映射,虚拟网卡等等)提供给虚拟机使用,同时还负责虚拟机的管理和虚拟机之间的通信等等。虚拟化技术的使用,极大的减少了小型企业对服务器购买的投入,同时也极大的提高了空闲主机的使用效率,所以虚拟化技术广泛的存在于当今大规模云平台中,比较有代表性的实例有亚马逊的EC2和微软的Azure。然而虚拟化技术也带来了许多其他问题。虚拟化资源池化了底层的硬件资源,屏蔽了底层的硬件特性。因此,上层应用无法感知底层的硬件特性,也无法做出相应的资源调度来消除底层硬件特性在性能上带来的影响。
虚拟化同时也给基于异构互联的NUMA服务器性能优化带来了新的挑战。虚拟化技术中一个关键组件就是虚拟机监视器(VMM),虚拟机监视器将硬件物理资源虚拟化成统一的虚拟资源。随着当今高性能网络技术和CPU多核技术的发展,硬件虚拟化的性能已经不是瓶颈,反而这些高性能硬件之间的高效的协同处理成为了瓶颈。现有的虚拟资源管理方案并没有意识到以上的性能瓶颈,存在以下两点缺陷:
第一,现有的基于NUMA架构的虚拟资源调度模型没有考虑到底层异构的互联拓扑的特性。这些调度模型只考虑当前***的负载均衡和数据访问亲和性,而没有考虑到这些硬件资源差异带来的性能影响。例如NUMA节点之间的互联(interconnect)。传统的资源管理模型认为底层互联拓扑结构是对称的,然而随着多核处理器的不断发展,不对称的NUMA节点互联架构也变得越来越普遍,而且这种不对称性对应用资源管理的影响极大。所以资源调度模型不考虑异构的互联拓扑信息会导致性能的优化达不到最优。
第二,更重要的一点是,当前基于NUMA架构下的资源管理方案都采用本地性感知的调度方案来消除。这种调度方案没有结合应用的实时访问行为,例如,即便将虚拟机的内存和虚拟CPU放置在一个节点上,如果应用很少去访问这一块数据那么也不会达到优化的效果。现在的基于大数据环境下的应用数据访问模式都很不规则,如果应用访问的数据源变化很快,这种预先放置数据的调度方案就不能够准确的优化数据访问开销。
因此,本领域的技术人员致力于开发一种基于异构多核拓扑感知的虚拟资源管理***及方法,以期能够高效利用多核资源和高性能硬件的性能,并有效降低***的负载,适应于当今高性能应用环境。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种在异构多核互连拓扑架构下虚拟资源实时调度策略,从而提高虚拟机在NUMA架构的服务器上运行性能。
为实现上述目的,本发明提供了一种基于异构多核拓扑感知的虚拟资源管理***,包括虚拟机实时访问行为监测模块、底层互联拓扑检测模块和动态虚拟资源调度模块;
所述虚拟机实时访问行为监测模块负责监测和采集虚拟机实时访问行为数据,所述底层互联拓扑检测模块负责检测和采集物理机底层硬件拓扑信息,所述动态虚拟资源调度模块综合利用所述虚拟机实时访问行为数据和所述物理机底层硬件拓扑信息来实时调度虚拟资源。
进一步地,所述虚拟机实时访问行为数据包括第三层cache丢失的次数、运行期间执行的指令数、读内存次数和写内存次数。
进一步地,所述物理机底层硬件拓扑信息包括处理器结点之间的互联拓扑信息。
本发明还提供了一种基于异构多核拓扑感知的虚拟资源管理方法,应用于如权利要求1所述的基于异构多核拓扑感知的虚拟资源管理***,包括如下步骤:
步骤1:通过性能监测工具监测虚拟机实时访问行为触发的硬件事件,采集虚拟机实时访问行为数据,计算虚拟资源访问压力Pressure和亲和度Affinity;
步骤2:根据监控得到的有关数据来对物理机底层互联拓扑结构进行建模,得到处理器结点之间的互联拓扑信息;
步骤3:根据当前***的所述虚拟资源访问压力Pressure和亲和度Affinity进行虚拟资源调度,根据所述物理机底层互联拓扑结构来配置最优资源放置方案。
进一步地,所述步骤1中采集的虚拟机实时访问行为数据包括第三层cache丢失的次数、运行期间执行的指令数、读内存次数和写内存次数。
进一步地,所述步骤1中计算所述虚拟资源访问压力Pressure的公式如下公式一所示:
公式一:
Figure BDA0001734785700000031
其中,LLC_Misses表示第三层cache丢失的次数,Instrucion_Retired表示运行期间执行的指令数。
进一步地,所述步骤1中计算所述亲和度Affinity的公式如下公式二所示:
公式二:
Figure BDA0001734785700000032
其中,NodeAcci表示结点i的内存访问次数,即单位时间内的内存读写次数之和。
进一步地,所述步骤2中对物理机底层互联拓扑结构进行建模,得到处理器结点之间的互联拓扑信息的具体方法包括以下步骤:
步骤2.1:针对一对结点i和j,在结点j上开辟一个读写缓冲区,在结点i上创建一个读写进程;
步骤2.2:在开始读写数据之前记录下当前的时钟数start_cycles;
步骤2.3:读写之后记录下时钟数end_cycles;
步骤2.4:依据以下公式三、公式四计算时钟数差值total_cycles和延迟latency;
公式三:total_cycles=end_cycles-start_cycles,
公式四:
Figure BDA0001734785700000033
其中,变量time_per_cycles表示每个时钟周期所需要的时间,为***固定值,等于CPU频率的倒数,total_read_num表示在我们抽样监控周期内发生的总的内存读写次数;
步骤2.5:对所有结点重复执行步骤2.1~步骤2.4,计算得到所有结点对之间的延迟,即得到一个N*N的矩阵Avglat,这个矩阵记录了处理器结点之间的互联拓扑信息。
进一步地,所述步骤3中根据当前***的所述虚拟资源访问压力Pressure和亲和度Affinity进行虚拟资源调度,根据所述物理机底层互联拓扑结构来配置最优资源放置方案的具体方法为:
首先每隔一秒种调度器就更新一次收集来的信息,然后分析当前虚拟机资源访问压力pressure有没有超过阈值10000;如果当前压力pressure超过阈值,则将虚拟机加入调度队列,如果虚拟机在调度队列里面等待时间大于180秒,则优先调度该虚拟机;针对虚拟机寻找其对应的最优结点,调度虚拟机资源到最优节点上。
进一步地,所述针对虚拟机寻找其对应的最优结点的具体方法为:
依据以下公式五计算虚拟机与每个结点的平均访问延迟AAL,
公式五:
Figure BDA0001734785700000041
AAL值越高越好,具有最高AAL值的结点即为最优结点。
本发明与现有技术方案相比,具有以下有益技术效果:
(1)本发明考虑了虚拟机的实时数据访问行为,在传统的静态建模方案上添加了一个维度,模型更加能够反映出当前应用的不规则数据访问模式。
(2)本发明同时考虑了物理机底层处理器互联拓扑架构特点,考虑了不对称的互联拓扑架构,从而得到更加准确的优化结果。能够充分的优化当前异构多核处理器的性能开销,解决了当今虚拟化资源性能瓶颈问题。
(3)本发明设计了更加精确和灵活的资源调度方法,根据虚拟机的实时访问行为计算得到了虚拟机亲和度模型。再根据底层的互联拓扑来计算最优的数据放置方案,更加适合对当前不规则数据访问应用的优化。能够更加精确的反映虚拟机和各个处理器结点间的亲和度关系,更加高效的提升应用的性能和减小物理机的资源开销。能够动态的进行资源调度,实时监测***的资源需求,从而进行优化,实时提升***的性能。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是本发明的一个较佳实施例的***架构图。
具体实施方式
以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
实施例一
如图1所示,一种基于异构多核拓扑感知的虚拟资源管理***包括虚拟机实时访问行为监测模块1、底层互联拓扑检测模块2和动态虚拟资源调度模块3。
虚拟机实时访问行为监测模块1负责监测和采集虚拟机实时访问行为数据,包括第三层cache丢失的次数、运行期间执行的指令数、读内存次数和写内存次数。
底层互联拓扑检测模块2负责检测和采集物理机底层硬件拓扑信息,包括处理器结点之间的互联拓扑信息。
动态虚拟资源调度模块3综合利用所述虚拟机实时访问行为数据和所述物理机底层硬件拓扑信息计算当前虚拟机实时数据访问的亲和性,再根据宿主机底层拓扑的信息,计算当前最优数据放置方案并调度虚拟机资源到当前最优的节点上来优化虚拟机的整体性能。
实施例二
一种基于异构多核拓扑感知的虚拟资源管理方法,应用于上述基于异构多核拓扑感知的虚拟资源管理***,包括如下步骤:
步骤1:通过性能监测工具监测虚拟机实时访问行为触发的硬件事件,采集虚拟机实时访问行为数据,计算虚拟资源访问压力Pressure和亲和度Affinity;
步骤2:根据监控得到的有关数据来对物理机底层互联拓扑结构进行建模,得到处理器结点之间的互联拓扑信息;
步骤3:根据当前***的所述虚拟资源访问压力Pressure和亲和度Affinity进行虚拟资源调度,根据所述物理机底层互联拓扑结构来配置最优资源放置方案。
步骤1中采集的虚拟机实时访问行为数据包括第三层cache丢失的次数、运行期间执行的指令数、读内存次数和写内存次数。步骤1中通过性能监测工具监测虚拟机实时访问行为触发的硬件事件如表1所示。其中,LLC_Misses为第三层cache丢失的次数;Instrucion_Retired表示运行期间执行的指令数;UNC_QMC_NORMAL_READS为内存的读次数;UNC_QMC_WRITES为内存的写次数。
表1监控的硬件事件
硬件事件 描述
LLC_Misses 第三层cache丢失的次数
Instrucion_Retired 运行期间执行的指令数
UNC_QMC_NORMAL_READS 内存的读次数
UNC_QMC_WRITES 内存的写次数
通过表1中的硬件事件,可以根据监控得到的数据来计算虚拟机当前资源访问的压力,以及当前虚拟机和各个NUMA结点的亲和度。
因为在NUMA***中,同一个节点上的所有处理器核心都共享一个第三层cache(LLC),因此LLC的竞争情况就可以被用来反映处理器线程访问共享资源的压力。通过计算每条指令的LLC丢失率来获得资源访问的压力。计算所述虚拟资源访问压力Pressure的公式如下公式一所示:
公式一:
Figure BDA0001734785700000051
其中,LLC_Misses表示第三层cache丢失的次数,Instrucion_Retired表示运行期间执行的指令数。
当虚拟机的资源访问压力过高时,就要选择其它结点来迁移当前的虚拟机资源。根据当前虚拟机资源的访问行为来计算哪一个结点和虚拟机最具有亲和性。计算亲和度Affinity的公式如下公式二所示:
公式二:
Figure BDA0001734785700000061
其中,NodeAcci表示结点i的内存访问次数,即单位时间内的内存读写次数之和。
为了获取底层处理器互联拓扑结构,需要利用结点间的延迟来描述结点间的物理距离。步骤2中对物理机底层互联拓扑结构进行建模,得到处理器结点之间的互联拓扑信息的具体方法包括以下步骤:
步骤2.1:针对一对结点i和j,在结点j上开辟一个读写缓冲区,在结点i上创建一个读写进程;
步骤2.2:在开始读写数据之前记录下当前的时钟数start_cycles;
步骤2.3:读写之后记录下时钟数end_cycles;
步骤2.4:依据以下公式三、公式四计算时钟数差值total_cycles和延迟latency;
公式三:total_cycles=end_cycles-start_cycles,
公式四:
Figure BDA0001734785700000062
其中,变量time_per_cycles表示每个时钟周期所需要的时间,为***固定值,等于CPU频率的倒数,total_read_num表示在我们抽样监控周期内发生的总的内存读写次数;
步骤2.5:对所有结点重复执行步骤2.1~步骤2.4,计算得到所有结点对之间的延迟,即得到一个N*N的矩阵Avglat,这个矩阵记录了处理器结点之间的互联拓扑信息。
调度方案根据以上信息来计算当前最优的放置方案。如图1所示,步骤3中根据当前***的所述虚拟资源访问压力Pressure和亲和度Affinity进行虚拟资源调度,根据所述物理机底层互联拓扑结构来配置最优资源放置方案的具体方法为:
首先每隔一秒种调度器就更新一次收集来的信息,然后分析当前虚拟机资源访问压力pressure有没有超过阈值10000;如果当前压力pressure超过阈值,则将虚拟机加入调度队列,如果虚拟机在调度队列里面等待时间大于180秒,则优先调度该虚拟机。依据以下公式五计算虚拟机与每个结点的平均访问延迟AAL,
公式五:
Figure BDA0001734785700000063
AAL值越高越好,具有最高AAL值的结点即为最优结点,调度虚拟机资源到最优节点上。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

Claims (9)

1.一种基于异构多核拓扑感知的虚拟资源管理方法,其特征在于,包括如下步骤:
步骤1:通过性能监测工具监测虚拟机实时访问行为触发的硬件事件,采集虚拟机实时访问行为数据,计算虚拟资源访问压力Pressure和亲和度Affinity;
步骤2:根据监控得到的有关数据来对物理机底层互联拓扑结构进行建模,得到处理器结点之间的互联拓扑信息;
步骤3:根据当前***的所述虚拟资源访问压力Pressure和亲和度Affinity进行虚拟资源调度,根据所述物理机底层互联拓扑结构来配置最优资源放置方案;
所述步骤2中对物理机底层互联拓扑结构进行建模,得到处理器结点之间的互联拓扑信息的具体方法包括以下步骤:
步骤2.1:针对一对结点i和j,在结点j上开辟一个读写缓冲区,在结点i上创建一个读写进程;
步骤2.2:在开始读写数据之前记录下当前的时钟数start_cycles;
步骤2.3:读写之后记录下时钟数end_cycles;
步骤2.4:依据以下公式三、公式四计算时钟数差值total_cycles和延迟latency;
公式三:total_cycles=end_cycles-start_cycles,
公式四:
Figure FDA0003294768150000011
其中,变量time_per_cycles表示每个时钟周期所需要的时间,为***固定值,等于CPU频率的倒数,total_read_num表示在抽样监控周期内发生的总的内存读写次数;
步骤2.5:对所有结点重复执行步骤2.1~步骤2.4,计算得到所有结点对之间的延迟,即得到一个N*N的矩阵Avglat,这个矩阵记录了处理器结点之间的互联拓扑信息。
2.如权利要求1所述的基于异构多核拓扑感知的虚拟资源管理方法,其特征在于,所述步骤1中采集的虚拟机实时访问行为数据包括第三层cache丢失的次数、运行期间执行的指令数、读内存次数和写内存次数。
3.如权利要求1所述的基于异构多核拓扑感知的虚拟资源管理方法,其特征在于,所述步骤1中计算所述虚拟资源访问压力Pressure的公式如下公式一所示:
公式一:
Figure FDA0003294768150000012
其中,LLC_Misses表示第三层cache丢失的次数,Instrucion_Retired表示运行期间执行的指令数。
4.如权利要求1所述的基于异构多核拓扑感知的虚拟资源管理方法,其特征在于,所述步骤1中计算所述亲和度Affinity的公式如下公式二所示:
公式二:
Figure FDA0003294768150000021
其中,NodeAcci表示结点i的内存访问次数,即单位时间内的内存读写次数之和。
5.如权利要求1所述的基于异构多核拓扑感知的虚拟资源管理方法,其特征在于,所述步骤3中根据当前***的所述虚拟资源访问压力Pressure和亲和度Affinity进行虚拟资源调度,根据所述物理机底层互联拓扑结构来配置最优资源放置方案的具体方法为:
首先每隔一秒种调度器就更新一次收集来的信息,然后分析当前虚拟机资源访问压力pressure有没有超过阈值10000;如果当前压力pressure超过阈值,则将虚拟机加入调度队列,如果虚拟机在调度队列里面等待时间大于180秒,则优先调度该虚拟机;针对虚拟机寻找其对应的最优结点,调度虚拟机资源到最优节点上。
6.如权利要求5所述的基于异构多核拓扑感知的虚拟资源管理方法,其特征在于,所述针对虚拟机寻找其对应的最优结点的具体方法为:
依据以下公式五计算虚拟机与每个结点的平均访问延迟AAL,
公式五:
Figure FDA0003294768150000022
AAL值越高越好,具有最高AAL值的结点即为最优结点。
7.一种基于异构多核拓扑感知的虚拟资源管理***,其特征在于,包括虚拟机实时访问行为监测模块、底层互联拓扑检测模块和动态虚拟资源调度模块;
所述虚拟机实时访问行为监测模块负责监测和采集虚拟机实时访问行为数据,所述底层互联拓扑检测模块负责检测和采集物理机底层硬件拓扑信息,所述动态虚拟资源调度模块综合利用所述虚拟机实时访问行为数据和所述物理机底层硬件拓扑信息来实时调度虚拟资源;
其中,所述虚拟机实时访问行为监测模块被配置为执行如权利要求1所述的基于异构多核拓扑感知的虚拟资源管理方法中的所述步骤1;
所述底层互联拓扑检测模块被配置为执行如权利要求1所述的基于异构多核拓扑感知的虚拟资源管理方法中的所述步骤2;
所述动态虚拟资源调度模块被配置为执行如权利要求1所述的基于异构多核拓扑感知的虚拟资源管理方法中的所述步骤3。
8.如权利要求7所述的基于异构多核拓扑感知的虚拟资源管理***,其特征在于,所述虚拟机实时访问行为数据包括第三层cache丢失的次数、运行期间执行的指令数、读内存次数和写内存次数。
9.如权利要求7所述的基于异构多核拓扑感知的虚拟资源管理***,其特征在于,所述物理机底层硬件拓扑信息包括处理器结点之间的互联拓扑信息。
CN201810790559.7A 2018-07-18 2018-07-18 一种基于异构多核拓扑感知的虚拟资源管理***及方法 Active CN109117247B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810790559.7A CN109117247B (zh) 2018-07-18 2018-07-18 一种基于异构多核拓扑感知的虚拟资源管理***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810790559.7A CN109117247B (zh) 2018-07-18 2018-07-18 一种基于异构多核拓扑感知的虚拟资源管理***及方法

Publications (2)

Publication Number Publication Date
CN109117247A CN109117247A (zh) 2019-01-01
CN109117247B true CN109117247B (zh) 2021-12-07

Family

ID=64863048

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810790559.7A Active CN109117247B (zh) 2018-07-18 2018-07-18 一种基于异构多核拓扑感知的虚拟资源管理***及方法

Country Status (1)

Country Link
CN (1) CN109117247B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110753107B (zh) * 2019-10-21 2022-12-20 中国科学院空间应用工程与技术中心 天基云雾计算架构下的资源调度***、方法和存储介质
CN112306628B (zh) * 2020-10-12 2022-10-14 上海交通大学 一种基于多核服务器的虚拟网络功能资源管理***

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104156181A (zh) * 2014-08-18 2014-11-19 上海众恒信息产业股份有限公司 虚拟资源交叉访问与安全隔离方法
CN107168771A (zh) * 2017-04-24 2017-09-15 上海交通大学 一种非一致性内存访问架构下的虚拟机调度装置及方法
CN107209681A (zh) * 2015-10-21 2017-09-26 华为技术有限公司 一种存储设备访问方法、装置和***
CN107967180A (zh) * 2017-12-19 2018-04-27 上海交通大学 基于numa虚拟化环境下资源全局亲和度网络优化方法和***
CN108021429A (zh) * 2017-12-12 2018-05-11 上海交通大学 一种基于numa架构的虚拟机内存及网卡资源亲和度计算方法
CN108037994A (zh) * 2017-11-15 2018-05-15 中国电子科技集团公司第三十二研究所 一种支持异构环境下多核并行处理的调度机制

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9098335B2 (en) * 2009-12-23 2015-08-04 Citrix Systems, Inc. Systems and methods for managing spillover limits in a multi-core system
KR101850318B1 (ko) * 2011-12-09 2018-04-20 삼성전자주식회사 가상 메모리 관리 장치 및 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104156181A (zh) * 2014-08-18 2014-11-19 上海众恒信息产业股份有限公司 虚拟资源交叉访问与安全隔离方法
CN107209681A (zh) * 2015-10-21 2017-09-26 华为技术有限公司 一种存储设备访问方法、装置和***
CN107168771A (zh) * 2017-04-24 2017-09-15 上海交通大学 一种非一致性内存访问架构下的虚拟机调度装置及方法
CN108037994A (zh) * 2017-11-15 2018-05-15 中国电子科技集团公司第三十二研究所 一种支持异构环境下多核并行处理的调度机制
CN108021429A (zh) * 2017-12-12 2018-05-11 上海交通大学 一种基于numa架构的虚拟机内存及网卡资源亲和度计算方法
CN107967180A (zh) * 2017-12-19 2018-04-27 上海交通大学 基于numa虚拟化环境下资源全局亲和度网络优化方法和***

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
Hypervisor-Induced Negative Interference in Virtualized Multi-core Platforms: The P4080 Case;Sourav Dutta; Dimitri Kagaris; Harini Ramaprasad;《IEEE》;20180329;全文 *
Towards collaborative resource sharing under real-time conditions in multitasking and multicore environments;Marcel Baunach;《IEEE》;20130328;全文 *
基于多核的多虚拟机计算资源调度***;黄健;《中国优秀硕士学位论文全文数据库信息科技辑》;20111215(第S2期);第10-18、30-33页 *
多核环境下虚拟机VCPU调度研究:问题与挑战;金海,钟阿林,吴松,石宣化;《计算机研究与发展》;20111231;全文 *
面向多处理器虚拟机的动态NUMA方法;施继成,陈海波,臧斌宇;《小型微型计算机***》;20150430;全文 *
黄健.基于多核的多虚拟机计算资源调度***.《中国优秀硕士学位论文全文数据库信息科技辑》.2011,(第S2期), *

Also Published As

Publication number Publication date
CN109117247A (zh) 2019-01-01

Similar Documents

Publication Publication Date Title
Ferdman et al. Clearing the clouds: a study of emerging scale-out workloads on modern hardware
US10355966B2 (en) Managing variations among nodes in parallel system frameworks
Gu et al. SHadoop: Improving MapReduce performance by optimizing job execution mechanism in Hadoop clusters
CN107967180B (zh) 基于numa虚拟化环境下资源全局亲和度网络优化方法和***
US11204798B2 (en) Apparatus and method for virtual machine scheduling in non-uniform memory access architecture
CN106293881B (zh) 一种基于非一致性i/o访问构架的性能监控器及其监控方法
Jeon et al. TPC: Target-driven parallelism combining prediction and correction to reduce tail latency in interactive services
US20120297216A1 (en) Dynamically selecting active polling or timed waits
US9442817B2 (en) Diagnosis of application server performance problems via thread level pattern analysis
Ferdman et al. Quantifying the mismatch between emerging scale-out applications and modern processors
Tuli et al. Start: Straggler prediction and mitigation for cloud computing environments using encoder lstm networks
Li et al. Analysis of NUMA effects in modern multicore systems for the design of high-performance data transfer applications
GB2558394A (en) Data processing
Nilakantan et al. Synchrotrace: synchronization-aware architecture-agnostic traces for light-weight multicore simulation
CN109117247B (zh) 一种基于异构多核拓扑感知的虚拟资源管理***及方法
Nishtala et al. Energy-aware thread co-location in heterogeneous multicore processors
CN104657198A (zh) Numa架构***在虚拟机环境中的访存优化方法及***
Chen et al. Co-locating online workload and offline workload in the cloud: An interference analysis
CN106681830B (zh) 一种任务缓存空间监测方法和装置
Pons et al. Cloud white: Detecting and estimating qos degradation of latency-critical workloads in the public cloud
CN112306628B (zh) 一种基于多核服务器的虚拟网络功能资源管理***
Lv et al. Dynamic I/O-aware scheduling for batch-mode applications on chip multiprocessor systems of cluster platforms
Fu et al. Optimizing memory access traffic via runtime thread migration for on-chip distributed memory systems
CN115934309A (zh) 用于核心特定度量收集的技术
Qin et al. Optimizing data migration for cloud-based key-value stores

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