一种基于异构多核拓扑感知的虚拟资源管理系统及方法技术方案

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

A Virtual Resource Management System and Method Based on Heterogeneous Multi-core Topology Perception

The invention discloses a virtual resource management system based on heterogeneous multi-core topology awareness, which comprises a real-time access behavior monitoring module of virtual machine, a bottom interconnected topology detection module and a dynamic virtual resource scheduling module. Dynamic virtual resource scheduling module utilizes virtual machine real-time access behavior data and physical machine underlying hardware topology information to schedule virtual resources in real time. The invention also discloses a virtual resource management method based on heterogeneous multi-core topology awareness, which monitors hardware events triggered by real-time access behavior of virtual machines through performance monitoring tools, collects real-time access behavior data of virtual machines, calculates virtual resource access pressure and affinity, and models the underlying interconnection topology structure of physical machines according to relevant data obtained from monitoring. Virtual resource access pressure and affinity are used for virtual resource scheduling. The invention can efficiently utilize multi-core resources and the performance of high-performance hardware, effectively reduce the load of the system, and is suitable for today's high-performance application environment.

【技术实现步骤摘要】
一种基于异构多核拓扑感知的虚拟资源管理系统及方法
本专利技术涉及虚拟机资源管理
,尤其涉及一种基于异构多核拓扑感知的虚拟资源管理系统及方法。
技术介绍
当前数据中心服务器基本上都配备多个处理器以提供强大的计算能力,例如戴尔PowerEdgeR730服务器就配备两个处理器插槽,而PowerEdgeM830配备4个处理器插槽。这些处理器被组织成非一致性内存访问(Non-UniformMemoryAccess,NUMA)架构来提升内存访问的带宽。处理器之间通过互联(interconnect)相互连接进行数据传递和通信。然而,由于不同处理器制造厂商提供的处理器互联解决方案不一样,导致了不同服务器的互联拓扑不相同。比如,Intel处理器之间通过QuickPathInterconnect(QPI)相连接,而AMD处理器之间通过HyperTransport(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的公式如下公式一所示:公式一:其中,LLC_Misses表示第三层cache丢失的次数,Instrucion_Retired表示运行期间执行的指令数。进一步地,所述步骤1中计算所述亲和度Affinity的公式如下公式二所示:公式二:其中,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,公式四:其中,变量time_per_cycles表示每个时钟周期所需要的时间,为系统固定值,等于CPU频率的倒数,total_read_num表示在我们抽样监控周期内发生的总的内存读写次数;步骤2.5:对所有结点重复执行步骤2.1~步骤2.4,计算得到所有结点对之间的延迟,即得到一个N*N的矩阵Avglat,这个矩阵记录了处理器结点之间的互联拓扑信息。进一步地,所述步骤3中根据当前系统的所述虚拟资源访问压力Pressure和亲和度Affinity进行虚拟资源调度,根据所述物理机底层互联拓扑结构来配置最优资源放置方案的具体方法为:首先每隔一秒种调度器就更新一次收集来的信息,然后分析当前虚拟机资源访问压力pressure有没有超过阈值10000;如果当前压力pressure本文档来自技高网
...

【技术保护点】
1.一种基于异构多核拓扑感知的虚拟资源管理系统,其特征在于,包括虚拟机实时访问行为监测模块、底层互联拓扑检测模块和动态虚拟资源调度模块;所述虚拟机实时访问行为监测模块负责监测和采集虚拟机实时访问行为数据,所述底层互联拓扑检测模块负责检测和采集物理机底层硬件拓扑信息,所述动态虚拟资源调度模块综合利用所述虚拟机实时访问行为数据和所述物理机底层硬件拓扑信息来实时调度虚拟资源。

【技术特征摘要】
1.一种基于异构多核拓扑感知的虚拟资源管理系统,其特征在于,包括虚拟机实时访问行为监测模块、底层互联拓扑检测模块和动态虚拟资源调度模块;所述虚拟机实时访问行为监测模块负责监测和采集虚拟机实时访问行为数据,所述底层互联拓扑检测模块负责检测和采集物理机底层硬件拓扑信息,所述动态虚拟资源调度模块综合利用所述虚拟机实时访问行为数据和所述物理机底层硬件拓扑信息来实时调度虚拟资源。2.如权利要求1所述的基于异构多核拓扑感知的虚拟资源管理系统,其特征在于,所述虚拟机实时访问行为数据包括第三层cache丢失的次数、运行期间执行的指令数、读内存次数和写内存次数。3.如权利要求1所述的基于异构多核拓扑感知的虚拟资源管理系统,其特征在于,所述物理机底层硬件拓扑信息包括处理器结点之间的互联拓扑信息。4.一种基于异构多核拓扑感知的虚拟资源管理方法,其特征在于,应用于如权利要求1所述的基于异构多核拓扑感知的虚拟资源管理系统,包括如下步骤:步骤1:通过性能监测工具监测虚拟机实时访问行为触发的硬件事件,采集虚拟机实时访问行为数据,计算虚拟资源访问压力Pressure和亲和度Affinity;步骤2:根据监控得到的有关数据来对物理机底层互联拓扑结构进行建模,得到处理器结点之间的互联拓扑信息;步骤3:根据当前系统的所述虚拟资源访问压力Pressure和亲和度Affinity进行虚拟资源调度,根据所述物理机底层互联拓扑结构来配置最优资源放置方案。5.如权利要求4所述的基于异构多核拓扑感知的虚拟资源管理方法,其特征在于,所述步骤1中采集的虚拟机实时访问行为数据包括第三层cache丢失的次数、运行期间执行的指令数、读内存次数和写内存次数。6.如权利要求4所述的基于异构多核拓扑感知的虚拟资源管理方法,其特征在于,所述步骤1中计算所述虚拟资源访问压力Pressure的公式如下公式一所示:公式一:其中,LLC_Misses表示第三层cache丢失的次数,Instrucion_Retired表示运行期间执行的指令数。7.如权利要求4所述的基于异构多核拓扑感知的虚拟资源管理方法,其特征在于,所述步骤1中计算所述亲和度Affinity的公式...

【专利技术属性】
技术研发人员:管海兵钱建民马汝辉李健
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1