CN106897110B - 一种容器调度方法及管理节点调度器 - Google Patents

一种容器调度方法及管理节点调度器 Download PDF

Info

Publication number
CN106897110B
CN106897110B CN201710099565.3A CN201710099565A CN106897110B CN 106897110 B CN106897110 B CN 106897110B CN 201710099565 A CN201710099565 A CN 201710099565A CN 106897110 B CN106897110 B CN 106897110B
Authority
CN
China
Prior art keywords
container
memory
virtual machine
actually
larger
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
CN201710099565.3A
Other languages
English (en)
Other versions
CN106897110A (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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710099565.3A priority Critical patent/CN106897110B/zh
Publication of CN106897110A publication Critical patent/CN106897110A/zh
Application granted granted Critical
Publication of CN106897110B publication Critical patent/CN106897110B/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/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/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/45562Creating, deleting, cloning virtual machine instances
    • 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

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种容器调度方法及管理节点调度器,当管理节点调度器调度容器任务时,管理节点调度器会优先从内存气球未回收释放内存,且主动反馈实际占用内存的虚拟机中,选取实际占用内存大于容器所需的运行空间的虚拟机,作为容器宿主机,相比传统方案以虚拟机配置内存作为选取依据而言,本发明将虚拟机的实际内存作为选取依据,从而大大减少了物理服务器对内存气球的频繁操作,降低了系统整体消耗,提高了系统的整体性能。

Description

一种容器调度方法及管理节点调度器
技术领域
本发明涉及计算机技术领域,更具体的说,涉及一种容器调度方法及管理节点调度器。
背景技术
随着容器技术的兴起,越来越多的软件系统开始采用以容器的形式分发和部署。而为了解决现阶段容器技术不成熟的问题,通常会将容器调度在虚拟机中运行。
现有容器的调度方法主要包括:随机调度法和Binpack方法,调度原理为:管理节点调度器综合考虑容器所需的运行空间和虚拟机配置内存,并选取虚拟机配置内存大于容器所需运行空间的虚拟机作为容器宿主机。
但是,管理节点调度器在选取虚拟机时,只考虑物理服务器配置给虚拟机的内存大小,并不考虑虚拟机实际占用内存,而实际上,虚拟机并没有被分配到其配置的所有内存,如图1所示,虚拟机配置内存的很大一部分位于内存气球中,虚拟机实际占用内存很小(如图1中矩形内的空白区域)。这样,当管理节点调度器将容器调度至选取的虚拟机时,若虚拟机实际占用内存小于容器所需的运行空间,物理服务器就会通过内存气球机制,将内存气球内的部分内存释放给虚拟机(见图2中圆形区域的斜线部分,为内存气球释放的内存),以保证容器的正常运行。然而,物理服务器对内存气球的频繁操作会增加系统的整体消耗,降低系统的整体性能。
发明内容
有鉴于此,本发明公开一种容器调度方法及管理节点调度器,以实现在管理节点调度器调度容器任务时,减少物理服务器对内存气球的频繁操作,降低系统整体消耗,提高系统的整体性能。
一种容器调度方法,包括:
当调度容器任务时,确定所述容器任务所需的运行空间;
判断主动反馈实际占用内存的虚拟机中,是否存在实际占用内存大于所述运行空间的虚拟机;其中,所述主动反馈实际占用内存的虚拟机为:虚拟机内容器停止运行,且相对应的内存气球未回收释放内存的虚拟机;
若存在实际占用内存大于所述运行空间的虚拟机,则从实际占用内存大于所述运行空间的虚拟机中,选取一个虚拟机作为执行所述容器任务的容器的容器宿主机;
将所述容器任务调度至设置在作为容器宿主机的虚拟机内、且与所述容器任务相对应的容器内运行。
优选的,所述若存在实际占用内存大于所述运行空间的虚拟机,则从实际占用内存大于所述运行空间的虚拟机中,选取一个虚拟机作为执行所述容器任务的容器的容器宿主机包括:
若存在实际占用内存大于所述运行空间的虚拟机,则判断实际占用内存大于所述运行空间的虚拟机是否为多个;
若实际占用内存大于所述运行空间的虚拟机为多个,则从多个候选虚拟机中,选取一个满足预设要求的虚拟机作为执行所述容器任务的容器的容器宿主机;
若实际占用内存大于所述运行空间的虚拟机为一个,则将该实际占用内存大于所述运行空间的虚拟机作为执行所述容器任务的容器的容器宿主机。
优选的,还包括:
若主动反馈实际占用内存的虚拟机中,不存在实际占用内存大于所述运行空间的虚拟机,则从配置内存大于所述运行空间的虚拟机中,选取一个虚拟机作为执行所述容器任务的容器的容器宿主机;
启动内存气球机制,通过与选取虚拟机对应的内存气球,向所述选取虚拟机释放内存,使所述选取虚拟机的实际占用内存大于所述运行空间;
将所述容器任务调度至内存气球释放内存后的作为容器宿主机的虚拟机中,与所述容器任务相对应的容器中运行。
一种管理节点调度器,包括:
确定单元,用于当调度容器任务时,确定所述容器任务所需的运行空间;
判断单元,用于判断主动反馈实际占用内存的虚拟机中,是否存在实际占用内存大于所述运行空间的虚拟机;其中,所述主动反馈实际占用内存的虚拟机为:虚拟机内容器停止运行,且相对应的内存气球未回收释放内存的虚拟机;
第一选取单元,用于在所述判断单元判断为是的情况下,从实际占用内存大于所述运行空间的虚拟机中,选取一个虚拟机作为执行所述容器任务的容器的容器宿主机;
第一调度单元,用于将所述容器任务调度至设置在作为容器宿主机的虚拟机内、且与所述容器任务相对应的容器内运行。
优选的,所述判断单元包括:
第一判断子单元,用于若存在实际占用内存大于所述运行空间的虚拟机,则判断实际占用内存大于所述运行空间的虚拟机是否为多个;
第一选取子单元,用于在所述第一判断子单元判断为是的情况下,从多个候选虚拟机中,选取一个满足预设要求的虚拟机作为执行所述容器任务的容器的容器宿主机;
第二选取子单元,用于在所述第一判断子单元判断为否的情况下,将该实际占用内存大于所述运行空间的虚拟机作为执行所述容器任务的容器的容器宿主机。
优选的,还包括:
第二选取单元,用于所述判断单元判断为否的情况下,从配置内存大于所述运行空间的虚拟机中,选取一个虚拟机作为执行所述容器任务的容器的容器宿主机;
启动单元,用于启动内存气球机制,通过与选取虚拟机对应的内存气球,向所述选取虚拟机释放内存,使所述选取虚拟机的实际占用内存大于所述运行空间;
第二调度单元,用于将所述容器任务调度至内存气球释放内存后的作为容器宿主机的虚拟机中,与所述容器任务相对应的容器中运行。
从上述的技术方案可知,本发明公开了一种容器调度方法及管理节点调度器,当管理节点调度器调度容器任务时,管理节点调度器会优先从内存气球未回收释放内存,且主动反馈实际占用内存的虚拟机中,选取实际占用内存大于容器所需的运行空间的虚拟机,作为容器宿主机,相比传统方案以虚拟机配置内存作为选取依据而言,本发明将虚拟机的实际内存作为选取依据,从而大大减少了物理服务器对内存气球的频繁操作,降低了系统整体消耗,提高了系统的整体性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据公开的附图获得其他的附图。
图1为虚拟机内存气球机制示意图;
图2为容器资源需求驱动的内存气球动作示意图;
图3为本发明实施例公开的一种容器调度方法的流程图;
图4为本发明实施例公开的一种虚拟机主动反馈机制的示意图;
图5为本发明实施例公开的另一种容器调度方法的流程图;
图6为本发明实施例公开的一种管理节点调度器的结构示意图;
图7为本发明实施例公开的另一种管理节点调度器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种容器调度方法及管理节点调度器,以实现在管理节点调度器调度容器任务时,减少物理服务器对内存气球的频繁操作,降低系统整体消耗,提高系统的整体性能。
参见图3,本发明实施例公开的一种容器调度方法的流程图,包括步骤:
步骤S101、当调度容器任务时,确定所述容器任务所需的运行空间;
其中,容器所需的运行空间也即容器在虚拟机运行时需要占用的虚拟机内存。
步骤S102、判断主动反馈实际占用内存的虚拟机中,是否存在实际占用内存大于所述运行空间的虚拟机,如果是,则执行步骤S103;
需要说明的是,所述主动反馈实际占用内存的虚拟机具体为:虚拟机内容器停止运行,且相对应的内存气球未回收释放内存的虚拟机。
如图4所示,本发明一实施例公开的一种虚拟机主动反馈机制的示意图,当某个虚拟机内的容器停止运行后(如图4中的实线框所示的虚拟机),容器运行时占用的虚拟机内存等资源就会释放给所运行的虚拟机。此时,该虚拟机内的内存气球(如图4中第一个虚拟机中所示的圆形区域,表示内存气球)并不立刻将释放的内存回收,虚拟机会主动向管理节点调度器反馈实际占用内存,该内存包括内存气球之前释放的内存。
其中,当虚拟机向管理节点调度器主动反馈实际占用内存的发送时间达到预设时间段后,若该虚拟机一直未接收到管理节点调度器分发的新的容器任务,则该虚拟机对应的内存气球就会回收之前释放的内存至宿主机。
步骤S103、从实际占用内存大于所述运行空间的虚拟机中,选取一个虚拟机作为执行所述容器任务的容器的容器宿主机;
步骤S104、将所述容器任务调度至设置在作为容器宿主机的虚拟机内、且与所述容器任务相对应的容器内运行。
综上可知,本发明公开的容器调度方法,当管理节点调度器调度容器任务时,管理节点调度器会优先从内存气球未回收释放内存,且主动反馈实际占用内存的虚拟机中,选取实际占用内存大于容器所需的运行空间的虚拟机,作为容器宿主机,相比传统方案以虚拟机配置内存作为选取依据而言,本发明将虚拟机的实际内存作为选取依据,从而大大减少了物理服务器对内存气球的频繁操作,降低了系统整体消耗,提高了系统的整体性能。
可以理解的是,向管理节点调度器主动反馈实际占用内存的虚拟机可以为一个或多个,而一个容器只能选取一个虚拟机作为容器宿主机,因此,为进一步优化上述实施例,本发明还提供了步骤S103中,当主动反馈实际占用内存的虚拟机为一个或多个时的具体实施方式,也即步骤S103具体包括:
当存在实际占用内存大于所述运行空间的虚拟机时,判断实际占用内存大于所述运行空间的虚拟机是否为多个;
若实际占用内存大于所述运行空间的虚拟机为一个,则将该实际占用内存大于所述运行空间的虚拟机作为执行所述容器任务的容器的容器宿主机;
若实际占用内存大于所述运行空间的虚拟机为多个,则从多个候选虚拟机中,选取一个满足预设要求的虚拟机作为执行所述容器任务的容器的容器宿主机;
其中,预设要求可以为“随机选取”,也即当实际占用内存大于所述运行空间的虚拟机为多个时,将从多个候选虚拟机中,随机选取的虚拟机作为容器的容器宿主机。
预设要求可以为“虚拟机实际占用内存与容器所需的运行空间的差值满足预设值”其中,预设值依据实际需要而定,也即当实际占用内存大于所述运行空间的虚拟机为多个时,将多个候选虚拟机中,实际占用内存与容器所需的运行空间的差值满足预设值的虚拟机,作为容器的容器宿主机。
需要说明的是,虚拟机的实际占用内存除需满足容器的运行需求外,还需保证虚拟机正常运行,而虚拟机运行必然会占用一定的内存,因此,所选定的虚拟机实际占用内存与容器所需的运行空间必须存在一定内存差值。
可以理解的是,当主动反馈实际占用内存的虚拟机中,不存在实际占用内存大于所述运行空间的虚拟机时,管理节点调度器就需要按照传统的调度方法选取作为容器宿主机的虚拟机。
如图5所示,本发明另一实施例公开的一种容器调度方法的流程图,在图3所示实施例的基础上,在步骤S102之后,还包括步骤:
步骤S105、若主动反馈实际占用内存的虚拟机中,不存在实际占用内存大于所述运行空间的虚拟机,则从配置内存大于所述运行空间的虚拟机中,选取一个虚拟机作为执行所述容器任务的容器的容器宿主机;
需要说明的是,当管理节点调度器没有接收到虚拟机主动反馈的实际占用内容时,管理节点调度器也会从配置内存大于所述运行空间的虚拟机中,选取容器宿主机。
步骤S106、启动内存气球机制,通过与选取虚拟机对应的内存气球,向所述选取虚拟机释放内存,使所述选取虚拟机的实际占用内存大于所述运行空间;
步骤S107、将所述容器任务调度至内存气球释放内存后的作为容器宿主机的虚拟机中,与所述容器任务相对应的容器中运行。
综上可知,本发明公开的容器调度方法,当管理节点调度器调度容器任务时,管理节点调度器会优先从内存气球未回收释放内存,且主动反馈实际占用内存的虚拟机中,选取实际占用内存大于容器所需的运行空间的虚拟机,作为容器宿主机;当主动反馈实际占用内存的虚拟机中,不存在实际占用内存大于所述运行空间的虚拟机时,管理节点调度器会从配置内存大于所述运行空间的虚拟机中,选取一个虚拟机作为容器的容器宿主机,然后启动内存气球机制,向该虚拟机释放足够资源以满足容器运行。因此,相比传统方案以虚拟机配置内存作为选取依据而言,本发明将虚拟机的实际内存作为选取依据,从而大大减少了物理服务器对内存气球的频繁操作,降低了系统整体消耗,提高了系统的整体性能。
与上述方法实施例相对应,本发明还公开了一种管理节点调度器。
参见图6,本发明实施例公开的一种管理节点调度器的结构示意图,包括:
确定单元201,用于当调度容器任务时,确定所述容器任务所需的运行空间;
其中,容器所需的运行空间也即容器在虚拟机运行时需要占用的虚拟机内存。
判断单元202,用于判断主动反馈实际占用内存的虚拟机中,是否存在实际占用内存大于所述运行空间的虚拟机;其中,所述主动反馈实际占用内存的虚拟机为:虚拟机内容器停止运行,且相对应的内存气球未回收释放内存的虚拟机;
其中,当虚拟机向管理节点调度器主动反馈实际占用内存的发送时间达到预设时间段后,若该虚拟机一直未接收到管理节点调度器分发的新的容器任务,则该虚拟机对应的内存气球就会回收之前释放的内存至宿主机。
第一选取单元203,用于在所述判断单元202判断为是的情况下,从实际占用内存大于所述运行空间的虚拟机中,选取一个虚拟机作为执行所述容器任务的容器的容器宿主机;
第一调度单元204,用于将所述容器任务调度至设置在作为容器宿主机的虚拟机内、且与所述容器任务相对应的容器内运行。
综上可知,本发明公开的管理节点调度器,当管理节点调度器调度容器任务时,管理节点调度器会优先从内存气球未回收释放内存,且主动反馈实际占用内存的虚拟机中,选取实际占用内存大于容器所需的运行空间的虚拟机,作为容器宿主机,相比传统方案以虚拟机配置内存作为选取依据而言,本发明将虚拟机的实际内存作为选取依据,从而大大减少了物理服务器对内存气球的频繁操作,降低了系统整体消耗,提高了系统的整体性能。
可以理解的是,向管理节点调度器主动反馈实际占用内存的虚拟机可以为一个或多个,而一个容器只能选取一个虚拟机作为容器宿主机,因此,为进一步优化上述实施例,判断单元202具体包括:
第一判断子单元,用于若存在实际占用内存大于所述运行空间的虚拟机,则判断实际占用内存大于所述运行空间的虚拟机是否为多个;
第一选取子单元,用于在所述第一判断子单元判断为是的情况下,从多个候选虚拟机中,选取一个满足预设要求的虚拟机作为执行所述容器任务的容器的容器宿主机;
其中,预设要求可以为“随机选取”,也即当实际占用内存大于所述运行空间的虚拟机为多个时,将从多个候选虚拟机中,随机选取的虚拟机作为容器的容器宿主机。
预设要求可以为“虚拟机实际占用内存与容器所需的运行空间的差值满足预设值”其中,预设值依据实际需要而定,也即当实际占用内存大于所述运行空间的虚拟机为多个时,将多个候选虚拟机中,实际占用内存与容器所需的运行空间的差值满足预设值的虚拟机,作为容器的容器宿主机。
需要说明的是,虚拟机的实际占用内存除需满足容器的运行需求外,还需保证虚拟机正常运行,而虚拟机运行必然会占用一定的内存,因此,所选定的虚拟机实际占用内存与容器所需的运行空间必须存在一定内存差值。
第二选取子单元,用于在所述第一判断子单元判断为否的情况下,将该实际占用内存大于所述运行空间的虚拟机作为执行所述容器任务的容器的容器宿主机。
可以理解的是,当主动反馈实际占用内存的虚拟机中,不存在实际占用内存大于所述运行空间的虚拟机时,管理节点调度器就需要按照传统的调度方法选取作为容器宿主机的虚拟机。
参见图7,本发明另一实施例公开的一种管理节点调度器的结构示意图,在图6所示实施例的基础上,还包括:
第二选取单元205,用于所述判断单元202判断为否的情况下,从配置内存大于所述运行空间的虚拟机中,选取一个虚拟机作为执行所述容器任务的容器的容器宿主机;
需要说明的是,当管理节点调度器没有接收到虚拟机主动反馈的实际占用内容时,管理节点调度器也会从配置内存大于所述运行空间的虚拟机中,选取容器宿主机。
启动单元206,用于启动内存气球机制,通过与选取虚拟机对应的内存气球,向所述选取虚拟机释放内存,使所述选取虚拟机的实际占用内存大于所述运行空间;
第二调度单元207,用于将所述容器任务调度至内存气球释放内存后的作为容器宿主机的虚拟机中,与所述容器任务相对应的容器中运行。
综上可知,本发明公开的管理节点调度器,当管理节点调度器调度容器任务时,管理节点调度器会优先从内存气球未回收释放内存,且主动反馈实际占用内存的虚拟机中,选取实际占用内存大于容器所需的运行空间的虚拟机,作为容器宿主机;当主动反馈实际占用内存的虚拟机中,不存在实际占用内存大于所述运行空间的虚拟机时,管理节点调度器会从配置内存大于所述运行空间的虚拟机中,选取一个虚拟机作为容器的容器宿主机,然后启动内存气球机制,向该虚拟机释放足够资源以满足容器运行。因此,相比传统方案以虚拟机配置内存作为选取依据而言,本发明将虚拟机的实际内存作为选取依据,从而大大减少了物理服务器对内存气球的频繁操作,降低了系统整体消耗,提高了系统的整体性能。
需要说明的是,装置实施例中各组成部分的具体工作原理,请参见方法实施例对应部分,此处不再赘述。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (6)

1.一种容器调度方法,其特征在于,包括:
当调度容器任务时,确定所述容器任务所需的运行空间;
判断主动反馈实际占用内存的虚拟机中,是否存在实际占用内存大于所述运行空间的虚拟机;其中,所述主动反馈实际占用内存的虚拟机为:虚拟机内容器停止运行,且相对应的内存气球未回收释放内存的虚拟机;
若存在实际占用内存大于所述运行空间的虚拟机,则从实际占用内存大于所述运行空间的虚拟机中,选取一个虚拟机作为执行所述容器任务的容器的容器宿主机;
将所述容器任务调度至设置在作为容器宿主机的虚拟机内、且与所述容器任务相对应的容器内运行。
2.根据权利要求1所述的容器调度方法,其特征在于,所述若存在实际占用内存大于所述运行空间的虚拟机,则从实际占用内存大于所述运行空间的虚拟机中,选取一个虚拟机作为执行所述容器任务的容器的容器宿主机包括:
若存在实际占用内存大于所述运行空间的虚拟机,则判断实际占用内存大于所述运行空间的虚拟机是否为多个;
若实际占用内存大于所述运行空间的虚拟机为多个,则从多个候选虚拟机中,选取一个满足预设要求的虚拟机作为执行所述容器任务的容器的容器宿主机;
若实际占用内存大于所述运行空间的虚拟机为一个,则将该实际占用内存大于所述运行空间的虚拟机作为执行所述容器任务的容器的容器宿主机。
3.根据权利要求1所述的容器调度方法,其特征在于,还包括:
若主动反馈实际占用内存的虚拟机中,不存在实际占用内存大于所述运行空间的虚拟机,则从配置内存大于所述运行空间的虚拟机中,选取一个虚拟机作为执行所述容器任务的容器的容器宿主机;
启动内存气球机制,通过与被选取的虚拟机对应的内存气球,向所述被选取的虚拟机释放内存,使所述被选取的虚拟机的实际占用内存大于所述运行空间;
将所述容器任务调度至内存气球释放内存后的作为容器宿主机的虚拟机中,与所述容器任务相对应的容器中运行。
4.一种管理节点调度器,其特征在于,包括:
确定单元,用于当调度容器任务时,确定所述容器任务所需的运行空间;
判断单元,用于判断主动反馈实际占用内存的虚拟机中,是否存在实际占用内存大于所述运行空间的虚拟机;其中,所述主动反馈实际占用内存的虚拟机为:虚拟机内容器停止运行,且相对应的内存气球未回收释放内存的虚拟机;
第一选取单元,用于在所述判断单元判断为是的情况下,从实际占用内存大于所述运行空间的虚拟机中,选取一个虚拟机作为执行所述容器任务的容器的容器宿主机;
第一调度单元,用于将所述容器任务调度至设置在作为容器宿主机的虚拟机内、且与所述容器任务相对应的容器内运行。
5.根据权利要求4所述的管理节点调度器,其特征在于,所述判断单元包括:
第一判断子单元,用于若存在实际占用内存大于所述运行空间的虚拟机,则判断实际占用内存大于所述运行空间的虚拟机是否为多个;
第一选取子单元,用于在所述第一判断子单元判断为是的情况下,从多个候选虚拟机中,选取一个满足预设要求的虚拟机作为执行所述容器任务的容器的容器宿主机;
第二选取子单元,用于在所述第一判断子单元判断为否的情况下,将该实际占用内存大于所述运行空间的虚拟机作为执行所述容器任务的容器的容器宿主机。
6.根据权利要求4所述的管理节点调度器,其特征在于,还包括:
第二选取单元,用于所述判断单元判断为否的情况下,从配置内存大于所述运行空间的虚拟机中,选取一个虚拟机作为执行所述容器任务的容器的容器宿主机;
启动单元,用于启动内存气球机制,通过与被选取的虚拟机对应的内存气球,向所述被选取的虚拟机释放内存,使所述被选取的虚拟机的实际占用内存大于所述运行空间;
第二调度单元,用于将所述容器任务调度至内存气球释放内存后的作为容器宿主机的虚拟机中,与所述容器任务相对应的容器中运行。
CN201710099565.3A 2017-02-23 2017-02-23 一种容器调度方法及管理节点调度器 Active CN106897110B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710099565.3A CN106897110B (zh) 2017-02-23 2017-02-23 一种容器调度方法及管理节点调度器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710099565.3A CN106897110B (zh) 2017-02-23 2017-02-23 一种容器调度方法及管理节点调度器

Publications (2)

Publication Number Publication Date
CN106897110A CN106897110A (zh) 2017-06-27
CN106897110B true CN106897110B (zh) 2021-04-20

Family

ID=59185167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710099565.3A Active CN106897110B (zh) 2017-02-23 2017-02-23 一种容器调度方法及管理节点调度器

Country Status (1)

Country Link
CN (1) CN106897110B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109800160B (zh) * 2018-12-27 2021-03-05 深圳云天励飞技术有限公司 机器学习系统中的集群服务器故障测试方法和相关装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8943260B2 (en) * 2011-03-13 2015-01-27 International Business Machines Corporation Dynamic memory management in a virtualized computing environment
CN104063281B (zh) * 2013-03-21 2018-04-10 华为技术有限公司 一种调控虚拟机物理内存的方法和装置
CN103699419A (zh) * 2013-12-31 2014-04-02 曙光云计算技术有限公司 一种虚拟机资源的处理方法和系统
US9575797B2 (en) * 2015-03-20 2017-02-21 International Business Machines Corporation Virtual machine migration between hypervisor virtual machines and containers
CN104778264A (zh) * 2015-04-22 2015-07-15 北京科电高技术公司 一种键值数据库的内存分配方法
CN105808319B (zh) * 2016-03-07 2020-01-10 华为技术有限公司 一种控制内存气球的方法、装置和系统

Also Published As

Publication number Publication date
CN106897110A (zh) 2017-06-27

Similar Documents

Publication Publication Date Title
CN113238838B (zh) 一种任务调度方法、装置及计算机可读存储介质
CN106293893B (zh) 作业调度方法、装置及分布式系统
CN100517237C (zh) 一种虚拟机系统及其cpu调度方法
CN104461744A (zh) 一种资源分配方法及装置
US20150121387A1 (en) Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core system and related non-transitory computer readable medium
US10067793B2 (en) Data processing method and apparatus for executing task code using reservation instruction and release instruction
CN108681481B (zh) 业务请求的处理方法及装置
CN110716800B (zh) 任务调度方法及装置、存储介质及电子设备
CN103491151A (zh) 一种云计算资源的调度方法、装置及云计算平台
EP3208709B1 (en) Batch processing method and device for system invocation commands
CN110764887A (zh) 任务重调度方法、系统及相关设备、装置
CN106897110B (zh) 一种容器调度方法及管理节点调度器
CN106775975B (zh) 进程调度方法及装置
EP3662368B1 (en) Method and apparatus for managing scheduling of services during boot-up
CN112866314A (zh) 分布式主从系统中从节点的切换方法、主节点设备和存储介质
CN103823712A (zh) 一种多cpu虚拟机系统的数据流处理方法和装置
CN110175078B (zh) 业务处理方法及装置
CN109871266A (zh) 任务延时处理方法、装置、计算机装置及存储介质
CN107526632B (zh) 进程池扩充方法和装置
CN109189581B (zh) 一种作业调度方法和装置
JP6861275B2 (ja) 車両制御装置
CN111078397A (zh) 适用于服务器群集的负载均衡任务分配方法及系统
JP2017011385A (ja) 画像処理装置、電力制御方法及び電力制御プログラム
CN115904650A (zh) Linux系统下的定时任务监管方法及装置
JP2019087098A (ja) プログラム及び情報処理装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant