CN101452406A - 一种对操作系统透明的机群负载平衡方法 - Google Patents

一种对操作系统透明的机群负载平衡方法 Download PDF

Info

Publication number
CN101452406A
CN101452406A CNA2008102405011A CN200810240501A CN101452406A CN 101452406 A CN101452406 A CN 101452406A CN A2008102405011 A CNA2008102405011 A CN A2008102405011A CN 200810240501 A CN200810240501 A CN 200810240501A CN 101452406 A CN101452406 A CN 101452406A
Authority
CN
China
Prior art keywords
node
processor
migration
algorithm
load
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.)
Granted
Application number
CNA2008102405011A
Other languages
English (en)
Other versions
CN101452406B (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.)
Huawei Technologies Co Ltd
Original Assignee
Beihang 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 Beihang University filed Critical Beihang University
Priority to CN2008102405011A priority Critical patent/CN101452406B/zh
Publication of CN101452406A publication Critical patent/CN101452406A/zh
Application granted granted Critical
Publication of CN101452406B publication Critical patent/CN101452406B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

本发明提供了一种对操作系统透明的机群负载平衡方法,主要功能模块包括:负载平衡模块、处理器迁移模块和通信模块;其特征在于:该方法的步骤如下:步骤一、驱动虚拟处理器迁移;步骤二、平衡迁移驱动;步骤三、向目标节点发送迁移请求并协商;步骤四、虚拟处理器状态的保存和恢复;步骤五、通信。本发明较好地解决了机群系统资源利用率低的问题。可以预见,未来随着机群系统的更加普及和硬件虚拟化技术的不断发展,本发明将成为很好的机群系统资源利用率低的解决方案,具有良好的应用前景。

Description

一种对操作系统透明的机群负载平衡方法
(一)技术领域
本发明主要涉及一种对操作系统透明的机群负载平衡方法,具体是指计算机硬件虚拟化技术和单一系统映像技术,通过虚拟化技术将计算任务合理分配到不同的处理器,从而提高机群系统的资源利用率。属于计算机领域。
(二)背景技术
1.当前机群系统的负载平衡技术
机群系统就是将一组相互独立的计算机通过高速通信网络互连而组成的一个单一的计算机系统。它的优点在于其系统资源可用性、规模可扩展性以及可并行性,因此在并行处理领域中得到了广泛应用。
机群系统作为一种可扩展性能良好的服务器结构,具有良好的性价比,然而由于机群低耦合的特点,使得节点间的负载经常不平衡,致使个别节点负载很重,而其他节点却空闲着,从而造成资源的浪费。如何提高资源利用率一直是一个热门话题,而能够自动实现负载平衡则是资源利用率问题的一个解决方案。
通常,一个机群系统要同时处理多个用户作业,而每个结点需要同时处理多个进程,就要通过对作业和任务的调度、分配算法来实现对作业或任务的优化分配,有效地减小平均响应时间,减少执行时的额外开销等。于是,负载平衡就成为改善机群系统性能的重要手段。目前,机群系统中采用的负载平衡策略多是在作业、进程和线程中的任一级实现,其原因是为了减少在实现负载平衡的过程中引入大量的通信开销。例如,IBM的LoadLeveler,它只提供作业级的负载平衡,但一个并行作业提交以后就完全由PVM或MPI接口来负责执行任务,系统本身并不管理这些任务的分配。而在实际应用中,当一个大型的并行作业提交以后,会产生多个子任务,它们的分配和执行完全可能破坏已有的负载平衡。由此可见,只有作业级的管理并不满足整个机群系统的负载平衡要求。另外,也有采用作业级和进程级相结合的多级负载平衡方法,这种方法在作业分配到后台的执行节点之后,在任务调度时再引入进程级的负载平衡策略,实现起来比较复杂,当后台执行节点增多的时候,节点之间进程的通信和频繁迁移会消耗大量的网络资源,成为制约机群系统的瓶颈。在实现单一系统映像的机群系统中,这种作业级或进程级的负载平衡方法对操作系统和上层的应用程序并不是透明的,有时甚至需要用户显式地干预,这不利于机群系统的使用和管理。
目前,机群系统负载平衡技术的实现可以在系统软件层、中间件层和应用层。目前,在系统软件层的实现方案较少,有MOSIX等,在该层实现负载平衡,对用户透明性较好,但实现难度较大,有的实现方案还会带来其他方面的问题,如MOSIX通过动态迁移进程的机制在一定程度上提高了系统的资源利用率,但是进程迁移后的控制结构仍存留在宿主结点,I/O操作仍在宿主结点完成,带来了大量的网络通信,降低了系统性能。在中间件层实现负载平衡策略的方案已有很多,实现方法各不相同,其都是从不同的方面支持分布式应用负载平衡的需求,所采用的方法依赖于具体的应用环境,通用性较差。例如,需要平衡工作负载的无状态的分布式应用往往采用和名字服务集成在一起的负载平衡服务机制,这种负载平衡机制只支持静态非自适应的负载平衡,不能满足复杂负载平衡应用的需要。另外,随着分布式应用的拓扑结构日益复杂,应用规模日益增大,现有中间件层的负载平衡功能已不能完全满足复杂分布式应用的可扩展需求,在可扩展性方面,中间件层的负载平衡机制不具有优势。在应用层,最典型的有通过Linux虚拟服务器(Linux Virtual Servers,LVS)作为机群系统负载平衡的解决方案,在该层实现负载平衡与具体应用结合过于紧密,因此,类似的解决方案不具有通用性。
2.分布式虚拟机监控器
虚拟化在计算机方面通常是指计算和处理在虚拟的基础上而不是真实的基础上运行。计算机虚拟化技术是指对计算机系统的物理资源进行抽象的技术。计算机虚拟化技术可在计算机硬件和操作系统之间构建一个虚拟平台,实现在同一个硬件平台上构建相互隔离的多个运行域,每一个运行域中都可以分别运行自己的操作系统和应用软件。
分布式虚拟机监控器(以下简称DVMM)是针对机群系统所提出的虚拟化解决方案,主要目的是解决机群系统的整体效能及资源利用率问题。其主要技术手段是基于硬件虚拟化技术,在机群硬件之上构建一层系统软件DVMM,将分散的物理计算资源进行整合抽象。整个DVMM由分布于各节点之上的VMM组成,各VMM完全对称;在DVMM之上运行操作系统(以下简称OS),通过DVMM感知机群的物理资源并分类整合生成全局物理资源信息,虚拟化全局物理资源,构建全局虚拟资源信息并呈现给上层OS;OS基于所感知的虚拟资源集,调度、执行进程,管理、分配资源,对底层的DVMM透明;DVMM截获并代理OS执行访问资源的操作,实现虚拟资源到物理资源的映射,操纵物理资源。这样,保证了OS既能够感知到机群所拥有的资源,又能够管理和使用所感知的资源,从而隐藏了硬件的分布式特性,实现了机群系统的单一系统映像。
(三)发明内容
本发明的目的在于提供一种对操作系统透明的机群负载平衡方法。它利用虚拟化技术,通过VMM中的虚拟处理器在物理服务器上的迁移,从而实现机群系统节点之间负载的平衡,在操作系统及其之上的应用程序毫无觉察的情况下,使得计算资源得到合理的分配和利用,提高了资源的利用率。
本发明的一种对操作系统透明的机群负载平衡方法,其总体设计方案为:包括以下几个关键点:
1.在平衡负载之前驱动虚拟处理器迁移;
2.平衡迁移驱动;
3.向目标节点发送迁移请求并协商;
4.虚拟处理器状态的保存和恢复。
5.通信
本发明所述的方法的主要功能是在VMM中实现的,见附图1。其中主要包括:
负载平衡模块:该模块负责计算节点负载,与其他节点交换负载信息,选择被迁移的虚拟处理器和目标节点等工作。
处理器迁移模块:该模块负责读取被迁移虚拟处理器的执行环境,并将其进行封装后传送到目标节点,然后再恢复其运行状态。
通信模块:在整个系统中,通信模块起着非常重要的作用。分布在各个节点上的VMM系统是通过通信机制将其组合起来,从而对上呈现单一系统映像。虚拟处理器执行环境的迁移和通信模块紧密相连,其状态能否被准确无误并且高效的传送到目标节点由通信模块来保证。
本发明所述的方法的具体方案为:
步骤一、驱动虚拟处理器迁移
该机制中有三种算法可以决定被迁移的虚拟处理器以及目标节点。它们分别是负载均衡自适应算法,缺页引导算法和I/O操作引导算法。
1)、负载均衡自适应算法的主要思想是通过计算各节点内的虚拟处理器负载信息,统计所有节点的负载情况,然后决定哪些虚拟处理器将被迁移以及迁移的目标节点。该算法主要有三个部分组成:负载计算算法,用来计算每个节点上各个虚拟处理器当前的负载情况,其负载包括处理器在一段时间内的忙闲状况,执行操作的类型等;负载信息交换算法,用来与其他节点交换负载信息,生成并维护各节点的负载向量表;迁移选择算法:根据负载向量表决定需要将哪些虚拟处理器向哪些节点迁移。
该负载均衡自适应算法的具体步骤如下:
步骤1:利用DVMM中虚拟处理器的调度器,计算每个节点上各个虚拟处理器当前执行的任务负载,包括:执行的任务类型,执行用户程序的时间,处理器空闲时间,处理器处理中断的时间等。最后生成本节点的负载向量,如:(节点号,全局VCPU号,执行用户程序时间,空闲时间,处理中断时间);
步骤2:向其他节点广播本节点的负载向量,同时接收其他节点发送的负载向量;
步骤3:统计各个节点的负载向量,生成全局负载向量表;
步骤4:根据全局负载向量表,选中当前负载最重的处理器作为待迁移的处理器,选中当前负载最轻的节点作为目标迁移节点;
步骤5:
  if(待迁移处理器不属于本节点且本节点是迁移目标节点)
              等待其他节点的迁移请求;
  else if(若待迁移处理器在本节点且本节点不是目标节点)
          调用平衡迁移驱动算法确定最终的迁移处理器和目标节点;
  else
              goto步骤1;
2)、缺页引导算法:
在硬件虚拟化的环境下,为了对上层操作系统实现单一系统映像,需要实现分布式共享存储(Distributed Shared Memory,DSM)子系统。DSM对下屏蔽了实际的内存分布,对上提供统一的存储空间,虚拟处理器通过访问DSM达到访问真实内存的目的。这一算法通过统计每个节点内各虚拟处理器在调用DSM时产生缺页(真实内存页面不在本地)的次数,从而决定被迁移的处理器。该算法也包含三个部分:缺页计算算法,计算节点内各虚拟处理器在一段时间内产生缺页的次数;缺页信息交换算法,该算法和其他节点交换缺页次数信息,同时生成各节点的缺页向量表;迁移选择算法,根据缺页向量表选择被迁移的处理器以及目标节点。
该缺页引导算法的具体步骤如下:
步骤1:当处理器执行环境陷入到DVMM时,各节点利用DSM模块计算单位时间内本节点处理器产生缺页的次数和原因,包括:指令缺页次数和数据缺页次数,生成缺页向量,如:(节点号,全局VCPU号,指令缺页次数,数据缺页次数);
步骤2:向其他节点广播本节点的缺页向量,同时接收其他节点发送的缺页向量;
步骤3:统计各个节点的缺页向量,生成全局缺页向量表;
步骤4:根据全局缺页向量表,选中缺页次数最多的处理器作为待迁移的处理器,选中缺页次数最少的处理器所在的节点作为目标迁移节点;步骤5:
      if(待迁移处理器不属于本节点且本节点是迁移目标节点)
                 等待其他节点的迁移请求;
      else if(若待迁移处理器在本节点且本节点不是目标节点)
             调用平衡迁移驱动算法确定最终的迁移处理器和目标节点;
      else
                  goto步骤1;
3)、I/O操作引导算法:
在部署了DVMM的机群环境中,操作系统具有统一的I/O空间,而真实的I/O设备可能分布在不同的节点上。该算法记录了所有虚拟处理器在执行过程中访问的真实设备所在的节点以及访问次数,并且该记录随着I/O访问的变化而更新。该算法包含三个部分:I/O操作计算算法,计算节点内各虚拟处理器一段时间内访问各个I/O设备的次数,生成本节点的I/O操作向量表,例如,(访问的设备号,设备所在节点号,访问次数);I/O信息交换算法,和其他节点交换I/O操作向量表,同时生成全局I/O操作向量表,例如,(设备号,设备所在节点号,访问该设备的VCPU号,该VCPU所在节点号,访问次数),该表每个节点保留一份;迁移选择算法,根据全局I/O操作向量表选择被迁移的处理器和目标节点。
该I/O操作引导算法的具体步骤如下:
步骤1:当处理器执行环境陷入到DVMM时,各节点利用DSM模块计算单位时间内本节点处理器产生I/O操作的情况,包括:访问的设备号,设备所在节点号和访问次数,生成I/O操作向量,如:(节点号,全局VCPU号,访问的设备号,设备所在节点号,访问次数);
步骤2:向其他节点广播本节点的I/O操作向量,同时接收其他节点发送的I/O操作向量;
步骤3:统计各个节点的I/O操作向量,生成全局I/O操作向量表;
步骤4:根据全局I/O操作向量表,选中I/O操作次数最多的处理器作为待迁移的处理器;
步骤5:
    if(待迁移处理器不属于本节点)
   if(待迁移处理器访问的I/O设备在本节点)
               等待其他节点的迁移请求;
        elseif
               goto步骤1;
   else if(待迁移处理器访问的I/O设备不在本节点)
         选择该设备所在节点作为迁移目标节点;
         调用平衡迁移驱动算法确定最终的迁移处理器和目标节点;
      else
             goto步骤1。
整个驱动处理器迁移的过程如下:
步骤1:操作系统启动后,在源节点中,DVMM中的负载平衡模块利用迁移驱动算法自动检测当前的系统负载状况,并与其他节点交换信息;
步骤2:当发现需要进行负载平衡干预时,选中待迁移的处理器并确定迁移的目标节点,此时还需判定待迁移处理器和目标节点是否有冲突;
步骤3:若有冲突,则需要运用平衡迁移驱动算法来解决冲突(见下述步骤2,算法见图3),最终确定待迁移的处理器,如:图2中最后选中VCPU3作为待迁移的处理器。
步骤二、平衡迁移驱动
这里设定三种驱动算法的优先级,即:负载均衡算法具有最高的优先级,缺页引导算法次之,I/O引导算法优先级最低,在产生冲突时,根据各算法的优先级决定迁移的目标节点。具体的平衡方案如下:
步骤1:选择由较高优先级算法判定的运行最高优先级任务的处理器作为待迁移处理器,若该处理器不具有最高优先级任务,则执行步骤2;
步骤2:忽略处理器执行任务的优先级,任然选择较高优先级判定的处理器作为待迁移处理器,若此时存在多个待迁移处理器的竞争时,执行步骤3;
步骤3:根据当时各处理器上任务的优先级,选择级别较高的任务所在的处理器作为待迁移处理器。
本发明优先考虑机群系统的负载平衡,当计算任务优先级和算法优先级冲突时,优先考虑算法优先级,当算法之间产生迁移冲突时,优先满足负载均衡算法的需求。
步骤三、向目标节点发送迁移请求并协商
当算法选择好被迁移的虚拟处理器和目标节点后,便开始迁移,此时迁移工作主要内容是向目标节点发送迁移请求并协商。
步骤1:负载平衡模块通告处理器迁移模块,当待迁移处理器被调度器调度后,迁移模块检测待迁移处理器的迁移标志位和其运行状态(见图3),若不符合迁移要求则重新调用迁移驱动算法;
步骤2:检测无误后源节点VMM迁移模块开始向目标节点VMM发送迁移请求,等待回应;
步骤3:此时目标节点的守护线程负责和源节点通信,守护线程创建新线程接管迁移工作;
步骤4:新的线程询问本地负载平衡模块是否同意此次迁移请求,若同意则回应源节点;
步骤5:在和目标节点协商成功后,源节点的VMM断开VCPU3与本地物理处理器CPU1的映射(图2中用虚线表示),处理器迁移模块开始准备待迁移处理器的执行环境数据,如图2中:源节点保存VCPU3的运行环境,此时,目标节点的新线程准备从源节点接收处理器的状态;
步骤6:若协商未成功,新线程告知源节点,守护线程重新接管,等待下次迁移请求(见图3),而源节点则重新进入负载平衡模块计算当前系统负载。
步骤四、虚拟处理器状态的保存和恢复
步骤1:当虚拟处理器陷入到DVMM环境中执行时,判断被迁移的虚拟处理器的运行状态。若处于Idle或僵死状态,则重新进入负载平衡模块;若处于I/O操作状态,则等待这次操作完成;若处于正常的运行状态,则保存该虚拟处理器的执行环境,包括所有通用寄存器的值、栈指针、打开的文件指针等;
步骤2:在DVMM执行环境中,等待VCPU调度器将其从物理处理器调出时,停止该虚拟处理器的执行,源节点迁移模块将之前保存的执行环境封装后传递给通信模块;
步骤3:经过通信模块封装数据和通过动态配置文件查找目标节点的IP地址后,开始向目标节点传送VCPU的运行环境(如图2中所示的VCPU3,其中虚线箭头是迁移的逻辑路径,实线箭头表示真实迁移路径)。
步骤4:目标节点的通信模块接收到数据(如图2中,目标节点VMM接收到VCPU3的运行环境数据)后,负责接管迁移工作的线程初始化新的VCPU结构vcpu_struct,并用接收到的数据创建其执行环境,并建立VCPU和本地CPU的映射(如图2中的VCPU3),最后将其状态标记为可运行,放入等待队列,等待VCPU调度器将其调度到物理处理器上执行。
至此,一次负载平衡的迁移操作完成,通过VCPU的迁移,使得目标节点较空闲的计算资源再次得到利用,达到了负载平衡的目的。从迁移的全过程来看,虚拟处理器的管理和迁移的控制都由VMM负责,整个过程对上层的操作系统来说是完全透明的,OS无法感知下层物理计算资源的重新调配。
步骤五、通信
这里为每个节点都被分配一个唯一的节点号,节点号是一个整型值,从1开始连续分配的。O表示的是当前节点。通过节点号抽象,可以很方便的定位某个节点。但是通过网络发送和接收数据,都是以IP地址来寻找节点的。因此,这里采用了动态配置文件的方式,建立了整个集群系统节点号和IP地址之间的对应关系。当某节点的IP地址发生变化时,配置文件将被即时更新,从而得到新的对应关系。当机群系统的VMM之间需要通信时,会首先查询该配置文件,得到目标节点的IP地址,之后再向目标节点发出通信请求。
处理器的执行环境从源节点迁移到目标节点之后,通信双方即可断开链接,释放通信资源,这时只需各自维护对方的节点号(全局静态的)。当目标节点不同意此次迁移请求时,可以通过节点号和配置文件再次请求和源节点通信,而当迁移成功后,双方针对上次迁移就没有了任何通信的需求,不占用任何的通信资源。
本发明一种对操作系统透明的机群负载平衡方法,其优点及功效在于:
(1)本发明基于硬件虚拟化技术和单一系统映像技术,提出了一种适用于机群系统的负载平衡方法,在对上层客户操作系统和用户程序透明的情况下,实现了机群系统的负载平衡策略,提高了系统资源的利用率。这种方法对客户操作系统透明,基于x86体系结构,在软件上需要部署虚拟机监控器VMM,在硬件上,除了需要支持硬件虚拟化的处理器外(支持硬件虚拟化的处理器是未来处理器的主流),不需要任何特殊的硬件支持,具有较好的通用性。
(2)本方法在实施过程中,都是由VMM中的内核级线程完成的,并且在通过高速互连网络迁移处理器的过程中,有较少的通信次数和较低的通信时延,比传统的中间件层和应用层负载平衡解决方案具有更高的效率;当处理器迁移成功后,源节点不需保留任何和迁移相关的信息,比传统的系统软件层负载平衡解决方案具有更少的网络通信量。当机群的节点规模随着需求的增加而扩充时,只需要在相应的节点中部署包含本发明的VMM就可实现整个系统的负载平衡策略,具有较好的可扩展性。
(3)因此,本发明所提出的负载平衡解决方案,实现了对上层操作系统的透明性,使得上层操作系统透明地利用下层更加合理的资源配置,同时整个负载平衡过程具有较短的时延和较低的网络通信量,与目前存在的解决方案相比,具有一定的优越性。
(4)机群系统作为一种服务器结构,具有可扩展性好,易部署,性价比较高等特点,已经成为目前主流的服务器结构,目前在全球前500的高性能服务器排名当中,采用机群结构的服务器占了80%多。然而,由于机群低耦合的特点,使得节点间的负载经常不平衡,致使个别节点负载很重,而其他节点却空闲着,从而造成资源的浪费。如何提高资源利用率一直是机群系统的热门话题,而能够自动实现负载平衡则是资源利用率问题的一个解决方案。
综上所述,在当前,随着硬件虚拟化技术的不断发展,利用硬件虚拟化技术部署机群系统已经显示出了很多优势。通过在物理节点上部署VMM,各VMM之间相互协作,为上层的操作系统呈现并协助操作系统管理全局的计算资源,实现了机群系统的单一系统映像。在这种背景下,本发明提出了在VMM内部实施负载平衡的方法,对上层操作系统透明,并且具有较好的通用性以及较高的效率,较好地解决了机群系统资源利用率低的问题。可以预见,未来随着机群系统的更加普及和硬件虚拟化技术的不断发展,本发明将成为很好的机群系统资源利用率低的解决方案,因此,具有良好的应用前景。
(四)附图说明
图1为系统模块示意图
图2为虚拟处理器迁移示意图
图3为负载平衡算法流程图
(五)具体实施方式
本发明的一种对操作系统透明的机群负载平衡方法,其总体设计方案为:
1.在平衡负载之前驱动虚拟处理器迁移;
2.平衡迁移驱动;
3.向目标节点发送迁移请求并协商;
4.虚拟处理器状态的保存和恢复。
本方法的主要功能是在DVMM中实现的。如图1所示,在机群系统的各节点上部署包含本发明方法的DVMM。该方法可以在N(N>=2)台机群节点机上实施。部署后的整个系统结构如下:在最底层的是机群系统的各个物理节点(为了示意方便,图1中只画出两个节点),每个节点都有独立的CPU、存储系统和I/O设备,之间通过高速互连网络连接;之上是本发明各模块所在的DVMM,其中包括负载平衡模块,处理器迁移模块,通信模块。另外,DVMM中还有本发明所依赖的机群系统的DSM子系统;DVMM之上是各个虚拟机的具体实现,其中每个机群节点上有VM控制台,其本身也是虚拟机,为整个机群系统提供管理界面和设备模型等。机群系统所服务的是跨节点的VM虚拟机,其中包括操作系统(OS)和用户应用程序(App),机群系统为整个VM提供单一系统映像,本发明的实现对上层的VM来说是完全透明的。
图2中所示的是本发明所述方法中一次虚拟处理器迁移的全过程。位于图中左侧的是迁移的源节点,右侧的是目标节点,每个节点都有自己独立的CPU和内存。图中DVMM给操作系统分配了3个处理器,VCPU2、VCPU3和VCPU4。
本发明所述方法的具体方案为:
步骤一:驱动虚拟处理器迁移
本发明提出了三种算法,可以决定被迁移的虚拟处理器以及目标节点。它们分别是负载均衡自适应算法,缺页引导算法和I/O操作引导算法。
1)负载均衡自适应算法:
负载均衡自适应算法的主要思想是通过计算各节点内的虚拟处理器负载信息,统计所有节点的负载情况,然后决定哪些虚拟处理器将被迁移以及迁移的目标节点。该算法主要有三个部分组成:负载计算算法,用来计算每个节点上各个虚拟处理器当前的负载情况,其负载包括处理器在一段时间内的忙闲状况,执行操作的类型等;负载信息交换算法,用来与其他节点交换负载信息,生成并维护各节点的负载向量表;迁移选择算法:根据负载向量表决定需要将哪些虚拟处理器向哪些节点迁移。
该负载均衡自适应算法的具体步骤如下:
步骤1:利用DVMM中虚拟处理器的调度器,计算每个节点上各个虚拟处理器当前执行的任务负载,包括:执行的任务类型,执行用户程序的时间,处理器空闲时间,处理器处理中断的时间等。最后生成本节点的负载向量,如:(节点号,全局VCPU号,执行用户程序时间,空闲时间,处理中断时间);
步骤2:向其他节点广播本节点的负载向量,同时接收其他节点发送的负载向量;
步骤3:统计各个节点的负载向量,生成全局负载向量表;
步骤4:根据全局负载向量表,选中当前负载最重的处理器作为待迁移的处理器,选中当前负载最轻的节点作为目标迁移节点;
步骤5:
   if(待迁移处理器不属于本节点且本节点是迁移目标节点)
          等待其他节点的迁移请求;
   else if(若待迁移处理器在本节点且本节点不是目标节点)
          调用平衡迁移驱动算法确定最终的迁移处理器和目标节点;
   else
          goto步骤1;
2)缺页引导算法:
在硬件虚拟化的环境下,为了对上层操作系统实现单一系统映像,需要实现分布式共享存储(Distributed Shared Memory,DSM)子系统。DSM对下屏蔽了实际的内存分布,对上提供统一的存储空间,虚拟处理器通过访问DSM达到访问真实内存的目的。这一算法通过统计每个节点内各虚拟处理器在调用DSM时产生缺页(真实内存页面不在本地)的次数,从而决定被迁移的处理器。该算法也包含三个部分:缺页计算算法,计算节点内各虚拟处理器在一段时间内产生缺页的次数;缺页信息交换算法,该算法和其他节点交换缺页次数信息,同时生成各节点的缺页向量表;迁移选择算法,根据缺页向量表选择被迁移的处理器以及目标节点。
该缺页引导算法的具体步骤如下:
步骤1:当处理器执行环境陷入到DVMM时,各节点利用DSM模块计算单位时间内本节点处理器产生缺页的次数和原因,包括:指令缺页次数和数据缺页次数,生成缺页向量,如:(节点号,全局VCPU号,指令缺页次数,数据缺页次数);
步骤2:向其他节点广播本节点的缺页向量,同时接收其他节点发送的缺页向量;
步骤3:统计各个节点的缺页向量,生成全局缺页向量表;
步骤4:根据全局缺页向量表,选中缺页次数最多的处理器作为待迁移的处理器,选中缺页次数最少的处理器所在的节点作为目标迁移节点;
步骤5:
  if(待迁移处理器不属于本节点且本节点是迁移目标节点)
         等待其他节点的迁移请求;
  else if(若待迁移处理器在本节点且本节点不是目标节点)
         调用平衡迁移驱动算法确定最终的迁移处理器和目标节点;
  else
         goto步骤1;
3)I/O操作引导算法:
在部署了DVMM的机群环境中,操作系统具有统一的I/O空间,而真实的I/O设备可能分布在不同的节点上。该算法记录了所有虚拟处理器在执行过程中访问的真实设备所在的节点以及访问次数,并且该记录随着I/O访问的变化而更新。该算法包含三个部分:I/O操作计算算法,计算节点内各虚拟处理器一段时间内访问各个I/O设备的次数,生成本节点的I/O操作向量表,例如,(访问的设备号,设备所在节点号,访问次数);I/O信息交换算法,和其他节点交换I/O操作向量表,同时生成全局I/O操作向量表,例如,(设备号,设备所在节点号,访问该设备的VCPU号,该VCPU所在节点号,访问次数),该表每个节点保留一份;迁移选择算法,根据全局I/O操作向量表选择被迁移的处理器和目标节点。
该I/O操作引导算法的具体步骤如下:
步骤1:当处理器执行环境陷入到DVMM时,各节点利用DSM模块计算单位时间内本节点处理器产生I/O操作的情况,包括:访问的设备号,设备所在节点号和访问次数,生成I/O操作向量,如:(节点号,全局VCPU号,访问的设备号,设备所在节点号,访问次数);
步骤2:向其他节点广播本节点的I/O操作向量,同时接收其他节点发送的I/O操作向量;
步骤3:统计各个节点的I/O操作向量,生成全局I/O操作向量表;
步骤4:根据全局I/O操作向量表,选中I/O操作次数最多的处理器作为待迁移的处理器;
步骤5:
    if(待迁移处理器不属于本节点)
       if(待迁移处理器访问的I/O设备在本节点)
            等待其他节点的迁移请求;
       else if
              goto步骤1;
  else if(待迁移处理器访问的I/O设备不在本节点)
       选择该设备所在节点作为迁移目标节点;
           调用平衡迁移驱动算法确定最终的迁移处理器和目标节点;
       else
           goto步骤1;
整个驱动处理器迁移的过程如下:
步骤1:操作系统启动后,在源节点中,DVMM中的负载平衡模块利用迁移驱动算法自动检测当前的系统负载状况,并与其他节点交换信息;
步骤2:当发现需要进行负载平衡干预时,选中待迁移的处理器并确定迁移的目标节点,此时还需判定待迁移处理器和目标节点是否有冲突;
步骤3:若有冲突,则需要运用平衡迁移驱动算法来解决冲突(步骤二,算法见图3),最终确定待迁移的处理器,如:图2中最后选中VCPU3作为待迁移的处理器;
步骤二:平衡迁移驱动
这里设定三种驱动算法的优先级,即:负载均衡算法具有最高的优先级,缺页引导算法次之,I/O引导算法优先级最低,在产生冲突时,根据各算法的优先级决定迁移的目标节点。具体的平衡过程如下:
步骤1:选择由较高优先级算法判定的运行最高优先级任务的处理器作为待迁移处理器,若该处理器不具有最高优先级任务,则执行步骤2;
步骤2:忽略处理器执行任务的优先级,任然选择较高优先级判定的处理器作为待迁移处理器,若此时存在多个待迁移处理器的竞争时,执行步骤3;
步骤3:根据当时各处理器上任务的优先级,选择级别较高的任务所在的处理器作为待迁移处理器。
本发明优先考虑机群系统的负载平衡,当计算任务优先级和算法优先级冲突时,优先考虑算法优先级,当算法之间产生迁移冲突时,优先满足负载均衡算法的需求。
步骤三:向目标节点发送迁移请求并协商
当算法选择好被迁移的虚拟处理器和目标节点后,便开始迁移,此时迁移工作主要内容是向目标节点发送迁移请求并协商。
步骤1:负载平衡模块通告处理器迁移模块,当待迁移处理器被调度器调度后,迁移模块检测待迁移处理器的迁移标志位和其运行状态(见图3),若不符合迁移要求则重新调用迁移驱动算法;
步骤2:检测无误后源节点VMM迁移模块开始向目标节点VMM发送迁移请求,等待回应;
步骤3:此时目标节点的守护线程负责和源节点通信,守护线程创建新线程接管迁移工作;
步骤4:新的线程询问本地负载平衡模块是否同意此次迁移请求,若同意则回应源节点;
步骤5:在和目标节点协商成功后,源节点的VMM断开VCPU3与本地物理处理器CPU1的映射(图2中用虚线表示),处理器迁移模块开始准备待迁移处理器的执行环境数据,如图2中:源节点保存VCPU3的运行环境,此时,目标节点的新线程准备从源节点接收处理器的状态;
步骤6:若协商未成功,新线程告知源节点,守护线程重新接管,等待下次迁移请求(见图3),而源节点则重新进入负载平衡模块计算当前系统负载;
步骤四:虚拟处理器状态的保存和恢复
步骤1:当虚拟处理器陷入到DVMM环境中执行时,判断被迁移的虚拟处理器的运行状态。若处于Idle或僵死状态,则重新进入负载平衡模块;若处于I/O操作状态,则等待这次操作完成;若处于正常的运行状态,则保存该虚拟处理器的执行环境,包括所有通用寄存器的值、栈指针、打开的文件指针等;
步骤2:在DVMM执行环境中,等待VCPU调度器将其从物理处理器调出时,停止该虚拟处理器的执行,源节点迁移模块将之前保存的执行环境封装后传递给通信模块;
步骤3:经过通信模块封装数据和通过动态配置文件查找目标节点的IP地址后,开始向目标节点传送VCPU的运行环境(如图2中所示的VCPU3,其中虚线箭头是迁移的逻辑路径,实线箭头表示真实迁移路径)。
步骤4:目标节点的通信模块接收到数据(如图2中,目标节点VMM接收到VCPU3的运行环境数据)后,负责接管迁移工作的线程初始化新的VCPU结构vcpu_struct,并用接收到的数据创建其执行环境,并建立VCPU和本地CPU的映射(如图2中的VCPU3),最后将其状态标记为可运行,放入等待队列,等待VCPU调度器将其调度到物理处理器上执行。
至此,一次负载平衡的迁移操作完成,通过VCPU的迁移,使得目标节点较空闲的计算资源再次得到利用,达到了负载平衡的目的。从迁移的全过程来看,虚拟处理器的管理和迁移的控制都由VMM负责,整个过程对上层的操作系统来说是完全透明的,OS无法感知下层物理计算资源的重新调配。

Claims (3)

1、一种对操作系统透明的机群负载平衡方法,主要功能模块包括:负载平衡模块、处理器迁移模块和通信模块;其特征在于:该方法的步骤如下:
步骤一、驱动虚拟处理器迁移
该机制中有三种算法可以决定被迁移的虚拟处理器以及目标节点,它们分别是负载均衡自适应算法,缺页引导算法和I/O操作引导算法;
1)、负载均衡自适应算法的主要思想是通过计算各节点内的虚拟处理器负载信息,统计所有节点的负载情况,然后决定哪些虚拟处理器将被迁移以及迁移的目标节点;该算法主要有三个部分组成:负载计算算法,用来计算每个节点上各个虚拟处理器当前的负载情况,其负载包括处理器在一段时间内的忙闲状况,执行操作的类型等;负载信息交换算法,用来与其他节点交换负载信息,生成并维护各节点的负载向量表;迁移选择算法:根据负载向量表决定需要将哪些虚拟处理器向哪些节点迁移;
该负载均衡自适应算法的具体步骤如下:
步骤1:利用DVMM中虚拟处理器的调度器,计算每个节点上各个虚拟处理器当前执行的任务负载,包括:执行的任务类型,执行用户程序的时间,处理器空闲时间,处理器处理中断的时间等,最后生成本节点的负载向量;
步骤2:向其他节点广播本节点的负载向量,同时接收其他节点发送的负载向量;
步骤3:统计各个节点的负载向量,生成全局负载向量表;
步骤4:根据全局负载向量表,选中当前负载最重的处理器作为待迁移的处理器,选中当前负载最轻的节点作为目标迁移节点;
步骤5:
      if(待迁移处理器不属于本节点且本节点是迁移目标节点)等待其他节点的迁移请求;
      else if(若待迁移处理器在本节点且本节点不是目标节点)
            调用平衡迁移驱动算法确定最终的迁移处理器和目标节点;
else
              goto步骤1;
2)、缺页引导算法:
在硬件虚拟化的环境下,为了对上层操作系统实现单一系统映像,需要实现分布式共享存储子系统,DSM对下屏蔽了实际的内存分布,对上提供统一的存储空间,虚拟处理器通过访问DSM达到访问真实内存的目的;这一算法通过统计每个节点内各虚拟处理器在调用DSM时产生缺页的次数,从而决定被迁移的处理器;该算法也包含三个部分:缺页计算算法,计算节点内各虚拟处理器在一段时间内产生缺页的次数;缺页信息交换算法,该算法和其他节点交换缺页次数信息,同时生成各节点的缺页向量表;迁移选择算法,根据缺页向量表选择被迁移的处理器以及目标节点;
该缺页引导算法的具体步骤如下:
步骤1:当处理器执行环境陷入到DVMM时,各节点利用DSM模块计算单位时间内本节点处理器产生缺页的次数和原因,包括:指令缺页次数和数据缺页次数,生成缺页向量;
步骤2:向其他节点广播本节点的缺页向量,同时接收其他节点发送的缺页向量;
步骤3:统计各个节点的缺页向量,生成全局缺页向量表;
步骤4:根据全局缺页向量表,选中缺页次数最多的处理器作为待迁移的处理器,选中缺页次数最少的处理器所在的节点作为目标迁移节点;
步骤5:
       if(待迁移处理器不属于本节点且本节点是迁移目标节点)等待其他节点的迁移请求;
       else if(若待迁移处理器在本节点且本节点不是目标节点)
              调用平衡迁移驱动算法确定最终的迁移处理器和目标节点;
      else
                    goto步骤1;
3)、I/O操作引导算法:
在部署了DVMM的机群环境中,操作系统具有统一的I/O空间,而真实的I/O设备可能分布在不同的节点上;该算法记录了所有虚拟处理器在执行过程中访问的真实设备所在的节点以及访问次数,并且该记录随着I/O访问的变化而更新;该算法包含三个部分:I/O操作计算算法,计算节点内各虚拟处理器一段时间内访问各个I/O设备的次数,生成本节点的I/O操作向量表;I/O信息交换算法,和其他节点交换I/O操作向量表,同时生成全局I/O操作向量表,该表每个节点保留一份;迁移选择算法,根据全局I/O操作向量表选择被迁移的处理器和目标节点;
该I/O操作引导算法的具体步骤如下:
步骤1:当处理器执行环境陷入到DVMM时,各节点利用DSM模块计算单位时间内本节点处理器产生I/O操作的情况,包括:访问的设备号,设备所在节点号和访问次数,生成I/O操作向量;
步骤2:向其他节点广播本节点的I/O操作向量,同时接收其他节点发送的I/O操作向量;
步骤3:统计各个节点的I/O操作向量,生成全局I/O操作向量表;
步骤4:根据全局I/O操作向量表,选中I/O操作次数最多的处理器作为待迁移的处理器;
步骤5:
         if(待迁移处理器不属于本节点)
        if(待迁移处理器访问的I/O设备在本节点)
                   等待其他节点的迁移请求;
            else if
                   goto步骤1;
        else if(待迁移处理器访问的I/O设备不在本节点)
            选择该设备所在节点作为迁移目标节点;
            调用平衡迁移驱动算法确定最终的迁移处理器和目标节点;
         else
                goto步骤1;
整个驱动处理器迁移的过程如下:
步骤1:操作系统启动后,在源节点中,DVMM中的负载平衡模块利用迁移驱动算法自动检测当前的系统负载状况,并与其他节点交换信息;
步骤2:当发现需要进行负载平衡干预时,选中待迁移的处理器并确定迁移的目标节点,此时还需判定待迁移处理器和目标节点是否有冲突;
步骤3:若有冲突,则需要运用平衡迁移驱动算法来解决冲突,最终确定待迁移的处理器;
步骤二、平衡迁移驱动
这里设定三种驱动算法的优先级,即:负载均衡算法具有最高的优先级,缺页引导算法次之,I/O引导算法优先级最低,在产生冲突时,根据各算法的优先级决定迁移的目标节点,具体的平衡方案如下:
步骤1:选择由较高优先级算法判定的运行最高优先级任务的处理器作为待迁移处理器,若该处理器不具有最高优先级任务,则执行步骤2;
步骤2:忽略处理器执行任务的优先级,任然选择较高优先级判定的处理器作为待迁移处理器,若此时存在多个待迁移处理器的竞争时,执行步骤3;
步骤3:根据当时各处理器上任务的优先级,选择级别较高的任务所在的处理器作为待迁移处理器;
本发明优先考虑机群系统的负载平衡,当计算任务优先级和算法优先级冲突时,优先考虑算法优先级,当算法之间产生迁移冲突时,优先满足负载均衡算法的需求;
步骤三、向目标节点发送迁移请求并协商
当算法选择好被迁移的虚拟处理器和目标节点后,便开始迁移,此时迁移工作主要内容是向目标节点发送迁移请求并协商;
步骤1:负载平衡模块通告处理器迁移模块,当待迁移处理器被调度器调度后,迁移模块检测待迁移处理器的迁移标志位和其运行状态,若不符合迁移要求则重新调用迁移驱动算法;
步骤2:检测无误后源节点VMM迁移模块开始向目标节点VMM发送迁移请求,等待回应;
步骤3:此时目标节点的守护线程负责和源节点通信,守护线程创建新线程接管迁移工作;
步骤4:新的线程询问本地负载平衡模块是否同意此次迁移请求,若同意则回应源节点;
步骤5:在和目标节点协商成功后,源节点的VMM断开VCPU3与本地物理处理器CPU1的映射,处理器迁移模块开始准备待迁移处理器的执行环境数据,如图2中:源节点保存VCPU3的运行环境,此时,目标节点的新线程准备从源节点接收处理器的状态;
步骤6:若协商未成功,新线程告知源节点,守护线程重新接管,等待下次迁移请求,而源节点则重新进入负载平衡模块计算当前系统负载;
步骤四、虚拟处理器状态的保存和恢复
步骤1:当虚拟处理器陷入到DVMM环境中执行时,判断被迁移的虚拟处理器的运行状态;若处于Idle或僵死状态,则重新进入负载平衡模块;若处于I/O操作状态,则等待这次操作完成;若处于正常的运行状态,则保存该虚拟处理器的执行环境,包括所有通用寄存器的值、栈指针、打开的文件指针等;
步骤2:在DVMM执行环境中,等待VCPU调度器将其从物理处理器调出时,停止该虚拟处理器的执行,源节点迁移模块将之前保存的执行环境封装后传递给通信模块;
步骤3:经过通信模块封装数据和通过动态配置文件查找目标节点的IP地址后,开始向目标节点传送VCPU的运行环境;
步骤4:目标节点的通信模块接收到数据后,负责接管迁移工作的线程初始化新的VCPU结构vcpu_struct,并用接收到的数据创建其执行环境,并建立VCPU和本地CPU的映射,最后将其状态标记为可运行,放入等待队列,等待VCPU调度器将其调度到物理处理器上执行;
至此,一次负载平衡的迁移操作完成,通过VCPU的迁移,使得目标节点较空闲的计算资源再次得到利用,达到了负载平衡的目的;从迁移的全过程来看,虚拟处理器的管理和迁移的控制都由VMM负责,整个过程对上层的操作系统来说是完全透明的,OS无法感知下层物理计算资源的重新调配;
步骤五、通信
这里为每个节点都被分配一个唯一的节点号,节点号是一个整型值,从1开始连续分配的;0表示的是当前节点,通过节点号抽象,可以很方便的定位某个节点,但是通过网络发送和接收数据,都是以IP地址来寻找节点的;因此,这里采用了动态配置文件的方式,建立了整个集群系统节点号和IP地址之间的对应关系;当某节点的IP地址发生变化时,配置文件将被即时更新,从而得到新的对应关系;当机群系统的VMM之间需要通信时,会首先查询该配置文件,得到目标节点的IP地址,之后再向目标节点发出通信请求;
处理器的执行环境从源节点迁移到目标节点之后,通信双方即可断开链接,释放通信资源,这时只需各自维护对方的节点号;当目标节点不同意此次迁移请求时,可以通过节点号和配置文件再次请求和源节点通信,而当迁移成功后,双方针对上次迁移就没有了任何通信的需求,不占用任何的通信资源。
CN2008102405011A 2008-12-23 2008-12-23 一种对操作系统透明的机群负载平衡方法 Expired - Fee Related CN101452406B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008102405011A CN101452406B (zh) 2008-12-23 2008-12-23 一种对操作系统透明的机群负载平衡方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008102405011A CN101452406B (zh) 2008-12-23 2008-12-23 一种对操作系统透明的机群负载平衡方法

Publications (2)

Publication Number Publication Date
CN101452406A true CN101452406A (zh) 2009-06-10
CN101452406B CN101452406B (zh) 2011-05-18

Family

ID=40734653

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008102405011A Expired - Fee Related CN101452406B (zh) 2008-12-23 2008-12-23 一种对操作系统透明的机群负载平衡方法

Country Status (1)

Country Link
CN (1) CN101452406B (zh)

Cited By (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011029371A1 (zh) * 2009-09-08 2011-03-17 华为技术有限公司 自动扩容的方法、管理设备及系统
CN102082692A (zh) * 2011-01-24 2011-06-01 华为技术有限公司 基于网络数据流向的虚拟机迁移方法、设备和集群系统
CN102158513A (zh) * 2010-02-11 2011-08-17 联想(北京)有限公司 一种服务器集群节能的方法、装置和服务器集群
CN102279771A (zh) * 2011-09-02 2011-12-14 北京航空航天大学 一种虚拟化环境中自适应按需资源分配的方法及系统
CN102317914A (zh) * 2011-08-01 2012-01-11 华为技术有限公司 虚拟资源管理方法、系统及装置
CN102323896A (zh) * 2011-05-12 2012-01-18 中山爱科数字科技有限公司 一种能根据业务节点数自动进行负载均衡的综合业务平台
CN102402462A (zh) * 2010-09-30 2012-04-04 微软公司 用于对启用gpu的虚拟机进行负载平衡的技术
CN102469126A (zh) * 2010-11-10 2012-05-23 中国移动通信集团公司 一种应用调度系统、方法和相关装置
CN102521044A (zh) * 2011-12-30 2012-06-27 北京拓明科技有限公司 一种基于消息中间件的分布式任务调度方法及系统
CN102571986A (zh) * 2012-02-27 2012-07-11 浙江大学 一种基于向量映射的负载均衡方法
CN102667723A (zh) * 2009-10-30 2012-09-12 思科技术公司 根据物理资源的可用性来均衡服务器负荷
CN102770845A (zh) * 2009-12-04 2012-11-07 国际商业机器公司 档案管理调度的优化
CN103036927A (zh) * 2011-09-29 2013-04-10 中国电信股份有限公司 智能交通控制方法、装置与系统
CN103106112A (zh) * 2013-02-05 2013-05-15 浪潮(北京)电子信息产业有限公司 一种基于最高负载的进行负载均衡调度的方法及设备
CN103154896A (zh) * 2010-10-19 2013-06-12 株式会社日立制作所 配置虚拟计算机的方法和装置
CN103176845A (zh) * 2011-12-22 2013-06-26 中国移动通信集团公司 一种虚拟机部署方法、系统和装置
CN102141973B (zh) * 2010-02-02 2013-12-25 联想(北京)有限公司 一种管理机群的方法、装置以及机群管理与监控系统
CN103744766A (zh) * 2013-12-30 2014-04-23 飞天诚信科技股份有限公司 一种监控系统的工作方法
CN103810076A (zh) * 2012-11-15 2014-05-21 国家电网公司 数据复制的监控方法及装置
CN103838656A (zh) * 2012-11-20 2014-06-04 英业达科技有限公司 计算机系统及其操作方法
WO2014134771A1 (en) * 2013-03-04 2014-09-12 Intel Corporation Energy aware information processing framework for computation and communication devices (ccd) coupled to a cloud
CN104345662A (zh) * 2013-07-24 2015-02-11 横河电机株式会社 过程控制装置及系统以及其健康性判定方法
CN104615498A (zh) * 2015-01-22 2015-05-13 北京仿真中心 一种基于任务迁移的集群系统动态负载均衡方法
CN104991822A (zh) * 2015-06-30 2015-10-21 浪潮(北京)电子信息产业有限公司 一种管理内存的方法和装置
CN105378667A (zh) * 2013-12-10 2016-03-02 华为技术有限公司 一种虚拟机资源的调度方法和装置
WO2016149895A1 (en) * 2015-03-23 2016-09-29 Intel Corporation Execution context migration method and apparatus
CN106155632A (zh) * 2016-08-02 2016-11-23 合肥奇也信息科技有限公司 一种用于计算机最优定位数据处理中小码集的系统
CN106168911A (zh) * 2016-06-30 2016-11-30 联想(北京)有限公司 一种信息处理方法和设备
CN106201937A (zh) * 2015-05-27 2016-12-07 三星电子株式会社 处理自适应中断的方法和装置、主机、i/o设备和系统
CN106469018A (zh) * 2015-08-17 2017-03-01 阿里巴巴集团控股有限公司 分布式存储系统的负载监控方法及设备
CN106537366A (zh) * 2014-06-30 2017-03-22 惠普发展公司,有限责任合伙企业 全虚拟机功能
CN106688210A (zh) * 2014-08-05 2017-05-17 阿姆多克斯软件系统有限公司 用于扩充利用网络功能虚拟化协调器(nfv‑o)的物理系统的系统、方法和计算机程序
CN106775992A (zh) * 2017-01-18 2017-05-31 清华大学 一种冗余计算机系统任务补偿调度方法
WO2017167247A1 (en) * 2016-03-31 2017-10-05 Huawei Technologies Co., Ltd. Systems and methods for service and session continuity in software defined topology management
CN107624181A (zh) * 2015-06-17 2018-01-23 英特尔公司 包括虚拟处理器的闲置和调度的虚拟机管理方法和装备
CN108156207A (zh) * 2016-12-02 2018-06-12 航天星图科技(北京)有限公司 一种多节点系统的数据处理方法
CN109314671A (zh) * 2016-07-22 2019-02-05 英特尔公司 加速器资源分配和池化
CN110502893A (zh) * 2019-08-26 2019-11-26 郑州昂视信息科技有限公司 一种java虚拟机层面表决的方法及系统
CN111736990A (zh) * 2020-06-11 2020-10-02 湖北美和易思教育科技有限公司 一种基于负载均衡的教学科研平台资源分配方法及装置
CN115277568A (zh) * 2022-07-20 2022-11-01 重庆星环人工智能科技研究院有限公司 一种数据发送方法、装置、设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1251110C (zh) * 2002-12-31 2006-04-12 联想(北京)有限公司 机群中节点负载信息传递及节点存活检测的方法
CN1599351A (zh) * 2003-12-17 2005-03-23 浪潮电子信息产业股份有限公司 构建高性价比机群网络负载均衡转发器的方法
US20060069761A1 (en) * 2004-09-14 2006-03-30 Dell Products L.P. System and method for load balancing virtual machines in a computer network

Cited By (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9225586B2 (en) 2009-09-08 2015-12-29 Huawei Technologies Co., Ltd. Automatic expansion method, management device, management system
WO2011029371A1 (zh) * 2009-09-08 2011-03-17 华为技术有限公司 自动扩容的方法、管理设备及系统
CN102013991B (zh) * 2009-09-08 2012-10-17 华为技术有限公司 自动扩容的方法、管理设备及系统
CN102667723A (zh) * 2009-10-30 2012-09-12 思科技术公司 根据物理资源的可用性来均衡服务器负荷
CN102770845B (zh) * 2009-12-04 2015-02-25 国际商业机器公司 档案管理调度的优化
CN102770845A (zh) * 2009-12-04 2012-11-07 国际商业机器公司 档案管理调度的优化
CN102141973B (zh) * 2010-02-02 2013-12-25 联想(北京)有限公司 一种管理机群的方法、装置以及机群管理与监控系统
CN102158513A (zh) * 2010-02-11 2011-08-17 联想(北京)有限公司 一种服务器集群节能的方法、装置和服务器集群
US9069622B2 (en) 2010-09-30 2015-06-30 Microsoft Technology Licensing, Llc Techniques for load balancing GPU enabled virtual machines
CN102402462A (zh) * 2010-09-30 2012-04-04 微软公司 用于对启用gpu的虚拟机进行负载平衡的技术
CN103154896A (zh) * 2010-10-19 2013-06-12 株式会社日立制作所 配置虚拟计算机的方法和装置
CN102469126A (zh) * 2010-11-10 2012-05-23 中国移动通信集团公司 一种应用调度系统、方法和相关装置
CN102469126B (zh) * 2010-11-10 2014-08-06 中国移动通信集团公司 一种应用调度系统、方法和相关装置
CN102082692B (zh) * 2011-01-24 2012-10-17 华为技术有限公司 基于网络数据流向的虚拟机迁移方法、设备和集群系统
CN102082692A (zh) * 2011-01-24 2011-06-01 华为技术有限公司 基于网络数据流向的虚拟机迁移方法、设备和集群系统
CN102323896B (zh) * 2011-05-12 2013-02-27 中山爱科数字科技股份有限公司 一种能根据业务节点数自动进行负载均衡的综合业务平台
CN102323896A (zh) * 2011-05-12 2012-01-18 中山爱科数字科技有限公司 一种能根据业务节点数自动进行负载均衡的综合业务平台
CN102317914A (zh) * 2011-08-01 2012-01-11 华为技术有限公司 虚拟资源管理方法、系统及装置
CN102279771A (zh) * 2011-09-02 2011-12-14 北京航空航天大学 一种虚拟化环境中自适应按需资源分配的方法及系统
CN102279771B (zh) * 2011-09-02 2013-07-10 北京航空航天大学 一种虚拟化环境中自适应按需资源分配的方法及系统
CN103036927A (zh) * 2011-09-29 2013-04-10 中国电信股份有限公司 智能交通控制方法、装置与系统
CN103176845B (zh) * 2011-12-22 2016-07-06 中国移动通信集团公司 一种虚拟机部署方法、系统和装置
CN103176845A (zh) * 2011-12-22 2013-06-26 中国移动通信集团公司 一种虚拟机部署方法、系统和装置
CN102521044A (zh) * 2011-12-30 2012-06-27 北京拓明科技有限公司 一种基于消息中间件的分布式任务调度方法及系统
CN102521044B (zh) * 2011-12-30 2013-12-25 北京拓明科技有限公司 一种基于消息中间件的分布式任务调度方法及系统
CN102571986A (zh) * 2012-02-27 2012-07-11 浙江大学 一种基于向量映射的负载均衡方法
CN102571986B (zh) * 2012-02-27 2014-05-21 浙江大学 一种基于向量映射的负载均衡方法
CN103810076A (zh) * 2012-11-15 2014-05-21 国家电网公司 数据复制的监控方法及装置
CN103838656A (zh) * 2012-11-20 2014-06-04 英业达科技有限公司 计算机系统及其操作方法
CN103106112A (zh) * 2013-02-05 2013-05-15 浪潮(北京)电子信息产业有限公司 一种基于最高负载的进行负载均衡调度的方法及设备
WO2014134771A1 (en) * 2013-03-04 2014-09-12 Intel Corporation Energy aware information processing framework for computation and communication devices (ccd) coupled to a cloud
CN104345662A (zh) * 2013-07-24 2015-02-11 横河电机株式会社 过程控制装置及系统以及其健康性判定方法
US9891603B2 (en) 2013-07-24 2018-02-13 Yokogawa Electric Corporation Process control apparatus and system, and method for determining normality thereof
CN105378667B (zh) * 2013-12-10 2018-09-28 华为技术有限公司 一种虚拟机资源的调度方法和装置
CN105378667A (zh) * 2013-12-10 2016-03-02 华为技术有限公司 一种虚拟机资源的调度方法和装置
CN103744766A (zh) * 2013-12-30 2014-04-23 飞天诚信科技股份有限公司 一种监控系统的工作方法
CN103744766B (zh) * 2013-12-30 2016-08-24 飞天诚信科技股份有限公司 一种监控系统的工作方法
CN106537366B (zh) * 2014-06-30 2019-07-23 惠普发展公司,有限责任合伙企业 全虚拟机功能
CN106537366A (zh) * 2014-06-30 2017-03-22 惠普发展公司,有限责任合伙企业 全虚拟机功能
US10223148B2 (en) 2014-06-30 2019-03-05 Hewlett-Packard Development Company, L.P. Full virtual machine functionality
CN106688210B (zh) * 2014-08-05 2020-06-26 阿姆多克斯软件系统有限公司 用于扩充利用网络功能虚拟化协调器(nfv-o)的物理系统的系统、方法和计算机程序
CN106688210A (zh) * 2014-08-05 2017-05-17 阿姆多克斯软件系统有限公司 用于扩充利用网络功能虚拟化协调器(nfv‑o)的物理系统的系统、方法和计算机程序
CN104615498A (zh) * 2015-01-22 2015-05-13 北京仿真中心 一种基于任务迁移的集群系统动态负载均衡方法
CN104615498B (zh) * 2015-01-22 2018-04-03 北京仿真中心 一种基于任务迁移的集群系统动态负载均衡方法
US10372491B2 (en) 2015-03-23 2019-08-06 Intel Corporation Execution context migration method and apparatus
WO2016149895A1 (en) * 2015-03-23 2016-09-29 Intel Corporation Execution context migration method and apparatus
CN106201937A (zh) * 2015-05-27 2016-12-07 三星电子株式会社 处理自适应中断的方法和装置、主机、i/o设备和系统
CN107624181B (zh) * 2015-06-17 2021-11-23 英特尔公司 包括虚拟处理器的闲置和调度的虚拟机管理方法和装备
CN107624181A (zh) * 2015-06-17 2018-01-23 英特尔公司 包括虚拟处理器的闲置和调度的虚拟机管理方法和装备
CN104991822A (zh) * 2015-06-30 2015-10-21 浪潮(北京)电子信息产业有限公司 一种管理内存的方法和装置
CN106469018A (zh) * 2015-08-17 2017-03-01 阿里巴巴集团控股有限公司 分布式存储系统的负载监控方法及设备
CN106469018B (zh) * 2015-08-17 2019-12-27 阿里巴巴集团控股有限公司 分布式存储系统的负载监控方法及设备
US10356184B2 (en) 2016-03-31 2019-07-16 Huawei Technologies Co., Ltd. Systems and methods for service and session continuity in software defined topology management
US10681150B2 (en) 2016-03-31 2020-06-09 Huawei Technologies Co., Ltd. Systems and methods for management plane—control plane interaction in software defined topology management
US10142427B2 (en) 2016-03-31 2018-11-27 Huawei Technologies Co., Ltd. Systems and methods for service and session continuity in software defined topology management
WO2017167247A1 (en) * 2016-03-31 2017-10-05 Huawei Technologies Co., Ltd. Systems and methods for service and session continuity in software defined topology management
CN106168911A (zh) * 2016-06-30 2016-11-30 联想(北京)有限公司 一种信息处理方法和设备
CN109314671A (zh) * 2016-07-22 2019-02-05 英特尔公司 加速器资源分配和池化
CN106155632A (zh) * 2016-08-02 2016-11-23 合肥奇也信息科技有限公司 一种用于计算机最优定位数据处理中小码集的系统
CN108156207A (zh) * 2016-12-02 2018-06-12 航天星图科技(北京)有限公司 一种多节点系统的数据处理方法
CN106775992B (zh) * 2017-01-18 2020-03-27 清华大学 一种冗余计算机系统任务补偿调度方法
CN106775992A (zh) * 2017-01-18 2017-05-31 清华大学 一种冗余计算机系统任务补偿调度方法
CN110502893A (zh) * 2019-08-26 2019-11-26 郑州昂视信息科技有限公司 一种java虚拟机层面表决的方法及系统
CN111736990A (zh) * 2020-06-11 2020-10-02 湖北美和易思教育科技有限公司 一种基于负载均衡的教学科研平台资源分配方法及装置
CN111736990B (zh) * 2020-06-11 2024-04-02 武汉美和易思数字科技有限公司 一种基于负载均衡的教学科研平台资源分配方法及装置
CN115277568A (zh) * 2022-07-20 2022-11-01 重庆星环人工智能科技研究院有限公司 一种数据发送方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN101452406B (zh) 2011-05-18

Similar Documents

Publication Publication Date Title
CN101452406B (zh) 一种对操作系统透明的机群负载平衡方法
Li et al. Serverless computing: state-of-the-art, challenges and opportunities
US8321693B2 (en) Parallel processing method and system, for instance for supporting embedded cluster platforms, computer program product therefor
CN107273185B (zh) 一种基于虚拟机的负载均衡控制方法
CN101727351B (zh) 面向多核平台的虚拟机监控器非对称调度器及其调度方法
Mishra et al. Dynamic resource management using virtual machine migrations
US9582221B2 (en) Virtualization-aware data locality in distributed data processing
CN100511151C (zh) 多路多核服务器及其cpu的虚拟化处理方法
Tripathy et al. Scheduling in cloud computing
US20080295094A1 (en) Integrated placement planning for heterogenous storage area network data centers
Ajit et al. VM level load balancing in cloud environment
US20080229320A1 (en) Method, an apparatus and a system for controlling of parallel execution of services
CN114138486A (zh) 面向云边异构环境的容器化微服务编排方法、系统及介质
CN117480494A (zh) 改进虚拟计算环境中资源分配的协调容器调度
CN103294540A (zh) 一种通过至强融核协处理器提升Erlang虚拟机性能的方法
Fan et al. A live migration algorithm for containers based on resource locality
Patra et al. A randomized algorithm for load balancing in containerized cloud
Subalakshmi et al. Enhanced hybrid approach for load balancing algorithms in cloud computing
Stafford et al. Improving utilization of heterogeneous clusters
JP5030647B2 (ja) 複数処理ノードを含むコンピュータ・システムでプログラムをロードする方法、該プログラムを含むコンピュータ可読媒体、及び、並列コンピュータ・システム
AU2021103249A4 (en) A novel multi-level optimization for task scheduling and load balancing in cloud
CN111459668A (zh) 用于服务器的轻量级资源虚拟化方法及轻量级资源虚拟化装置
CN117707693A (zh) 一种异构智能计算平台虚拟化管理系统和方法
US20150286508A1 (en) Transparently routing job submissions between disparate environments
Shen et al. KubeGPU: efficient sharing and isolation mechanisms for GPU resource management in container cloud

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: HUAWEI TECHNOLOGY CO LTD

Free format text: FORMER OWNER: BEIJING AERONAUTICS AND ASTRONAUTICS UNIV.

Effective date: 20110926

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100191 HAIDIAN, BEIJING TO: 518129 SHENZHEN, GUANGDONG PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20110926

Address after: 518129 headquarter office building of Bantian HUAWEI base, Longgang District, Shenzhen, Guangdong, China

Patentee after: Huawei Technologies Co., Ltd.

Address before: 100191 School of computer science and engineering, Beihang University, Xueyuan Road 37, Beijing, Haidian District

Patentee before: Beihang University

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110518

Termination date: 20181223

CF01 Termination of patent right due to non-payment of annual fee