CN109117264A - 容器工作负载调度器以及调度容器工作负载的方法 - Google Patents
容器工作负载调度器以及调度容器工作负载的方法 Download PDFInfo
- Publication number
- CN109117264A CN109117264A CN201810632891.0A CN201810632891A CN109117264A CN 109117264 A CN109117264 A CN 109117264A CN 201810632891 A CN201810632891 A CN 201810632891A CN 109117264 A CN109117264 A CN 109117264A
- Authority
- CN
- China
- Prior art keywords
- workload
- container
- penalty
- batches
- workloads
- 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
Links
- 238000000034 method Methods 0.000 title claims description 45
- 239000011159 matrix material Substances 0.000 claims abstract description 45
- 238000012545 processing Methods 0.000 claims abstract description 15
- 238000003860 storage Methods 0.000 claims abstract description 13
- 230000006870 function Effects 0.000 claims description 40
- 238000005457 optimization Methods 0.000 claims description 6
- 238000009826 distribution Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 8
- 238000012856 packing Methods 0.000 description 8
- 238000010923 batch production Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5033—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5022—Workload threshold
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)
- General Factory Administration (AREA)
- Stored Programmes (AREA)
Abstract
一种用于对来自一系列应用和每个应用的一系列容器的容器工作负载的执行进行调度的系统。该系统包括处理器和其上存储有指令的非暂时计算机可读存储介质,该指令在由处理器执行时使该系统:计算冲突惩罚矩阵,该冲突惩罚矩阵包括针对多个容器的容器工作负载的每种潜在组合的冲突惩罚,以及计算容器工作负载的最小总冲突惩罚和用于执行该容器工作负载的工作负载批处理的数量。工作负载批处理的数量与最小总冲突惩罚相关联。该指令在由处理器执行时还使系统:基于最小总冲突惩罚和工作负载批处理的数量向工作负载批处理分配容器工作负载。
Description
相关申请的交叉引用
本申请要求于2017年6月20日提交的题为“UNDERSTANDING PERFORMANCE OF I/OINTENSIVE CONTAINERIZED APPLICATIONS FOR NVME SSDS”的美国临时申请No.62/522630和2017年11月22日提交的题为“CONTAINER WORKLOAD SCHEDULER AND METHODS OFSCHEDULING CONTAINER WORKLOADS”的美国申请No.15/820856的优先权和权益,其全部内容通过引用并入本文中。
技术领域
本公开总体上涉及对容器化工作负载的调度。
背景技术
容器(例如DOCKER系统的容器)是独立的软件包,其可以在共享操作系统上隔离运行。容器正迅速成为DevOps中最重要的工具之一,以及成为企业和数据中心的生产环境之一。然而,容器编制(orchestration)、调度和性能在整个行业中都面临着挑战。例如,确定何时启动何种容器以及确定何种容器迁移到哪里是需要正确调度的问题。这些决定取决于各因素,例如在多个应用容器在不同的工作负载情况下同时运行时,与其他应用容器相比,某些应用的吞吐量可能会明显受损(例如,某些应用工作负载可能会存在不公平的吞吐量)。这种不公平的吞吐量通常是用户不希望的,并且可能违反服务提供商服务级别协议(SLA)。另外,通过同时操作同一应用的多个实例(即,同质环境)与同时操作不同应用的多个实例(即,异构环境)而获得的性能优势可能对于相关技术的容器明显不同。此外,尚未很好地理解以及尚未调查I/O密集型docker化(dockerized)工作负载在存储和磁盘系统(例如高性能非易失性存储器快速(NVMe)和固态驱动器(SSD))的最新创新方面的性能。当与虚拟机相比时,容器的启动时间可以忽略不计,且因此不需要在开始时启动所有容器,但是决定何时启动哪个容器会影响性能。因此,进行容器编制或调度是有益的。
发明内容
本公开涉及用于对来自从一系列应用和该系列应用的每个应用的一系列容器的容器工作负载的执行进行调度的系统的各种实施例。该系统包括处理器和其上存储有指令的非暂时计算机可读存储介质,该指令在由处理器执行时使系统:计算冲突惩罚矩阵,该冲突惩罚矩阵包括针对该系列容器的容器工作负载的每种潜在组合的冲突惩罚,并且计算该容器工作负载的最小总冲突惩罚和用于执行该容器工作负载的工作负载批处理的数量。工作负载批处理的数量与最小总冲突惩罚相关联。该指令在由处理器执行时还使系统:基于最小总冲突惩罚和工作负载批处理的数量向工作负载批处理分配容器工作负载。
该指令在由处理器执行时还可以使系统:将该系列容器工作负载中的每一个容器工作负载向一系列工作负载性质仓中的一个工作负载性质仓分配。
该系统可以被配置为:通过求解目标函数来计算最小总冲突惩罚和工作负载批处理的数量,该目标函数被定义为归一化冲突惩罚和工作负载批处理的归一化数量的总和的最大值。
该系统可以被配置为利用实现约束矩阵优化的两种线性算法来求解目标函数。该两种线性算法可以包括内点(IP)算法和标准二次规划(SQP)算法。
该系统可以被配置为计算目标函数的局部最小值。该系统可以被配置为计算目标函数的全局最小值。
本公开还涉及对来自一系列应用和该系列应用中的每个应用的一系列容器的容器工作负载的执行进行调度的方法的各种实施例。该方法包括:由处理器执行非暂时物理介质上存储的指令,计算冲突惩罚矩阵,该冲突惩罚矩阵包括针对该系列容器的容器工作负载的每种潜在组合的冲突惩罚,并且计算容器工作负载的最小总冲突惩罚和用于执行容器工作负载的工作负载批处理的数量。工作负载批处理的数量与最小总冲突惩罚相关联。该方法还包括基于最小总冲突惩罚和工作负载批处理的数量向工作负载批处理分配容器工作负载。
该方法还可以包括将该系列容器工作负载中的每一个容器工作负载向一系列工作负载性质仓中的一个工作负载性质仓分配。
该方法可以包括:通过求解目标函数来计算最小总冲突惩罚和工作负载批处理的最小数量,该目标函数被定义为归一化冲突惩罚和工作负载批处理的归一化数量的总和的最大值。求解目标函数可以包括利用实现约束矩阵优化的两种线性算法。该两种线性算法可以包括内点(IP)算法和标准二次规划(SQP)算法。
该方法可以包括设置可以向工作负载批处理之一分配的容器工作负载的最大数。
本公开还涉及在运行时对来自一系列应用和该系列应用中的每个应用的一系列容器的容器工作负载的执行向不同节点进行调度的系统的各种实施例。该系统包括处理器和其上存储有指令的非暂时计算机可读存储介质,该指令在由处理器执行时使系统:计算冲突惩罚矩阵,该冲突惩罚矩阵包括针对多个容器的容器工作负载的每种潜在组合的冲突惩罚,并且计算容器工作负载的最小总冲突惩罚和用于执行容器工作负载的节点的数量。节点的数量与最小总冲突惩罚相关联。该指令在由处理器执行时还使系统:基于最小总冲突惩罚和节点的数量向节点分配容器工作负载。
针对容器工作负载的每种潜在组合的冲突惩罚可以是基于资源利用率参数的加权总和来计算的,该资源利用率参数的加权总和与在节点上运行容器工作负载的每种潜在组合相关联。资源利用率参数可以包括CPU利用率、存储器利用率和/或磁盘利用率。
加权总和可以基于运行时用户分配的权重。权重可以包括每个节点的处理能力和/或存储容量。
该指令在由处理器执行时可以使系统以固定时间间隔来重新计算冲突惩罚矩阵。
该指令在由处理器执行时可以使系统在节点的资源利用率超过阈值时,重新计算冲突惩罚矩阵。
提供了本发明内容以介绍下面在详细描述中进一步描述的本公开的实施例的特征和概念的选择。发明内容不意图标识所请求保护主题的关键或必要特征,也不意图用于限制所请求保护主题的范围。所描述的特征中的一个或多个特征可以与一个或多个其他描述的特征相组合以提供可使用的设备。
附图说明
当结合下面的附图考虑时,通过参考以下详细描述,本公开的实施例的这些和其他特征以及优点将更清楚。在附图中,贯穿附图使用相似的附图标记来引用相似的特征和部件。附图不一定是按比例绘制的。
图1是根据本公开一个实施例的用于向工作负载批处理调度容器工作负载的系统和方法的示意性框图;
图2是根据本公开一个实施例的用于向节点调度容器工作负载的系统和方法的示意性框图;
图3是示出了根据本公开一个实施例的通过图1的控制器向工作负载批处理调度容器工作负载的流程图;以及
图4是示出了根据本公开一个实施例的通过图2的控制功能和编制调度器向节点调度容器工作负载的流程图。
具体实施方式
本公开涉及对来自一系列应用和每种类型的应用的一系列容器的容器工作负载的执行向工作负载批处理进行调度的各种系统和方法。当在同一工作负载批处理中一起调度两个或更多个容器工作负载时,根据容器工作负载的工作负载性质(例如,顺序写入密集型工作负载、随机写入密集型工作负载、读取密集型工作负载),会存在与在同一工作负载批处理中同时运行两个或更多个工作负载容器相关联的冲突惩罚。本公开的系统和方法被配置为:基于与分组容器工作负载相关联的冲突惩罚将容器工作负载分组为工作负载批处理,来最小化工作负载批处理的总冲突惩罚并且最小化工作负载批处理的数量(例如,控制器被配置为将容器工作负载打包为不同的工作负载批处理,使工作负载批处理的数量的操作惩罚被最小化)。以这种方式,本公开的各种系统和方法被配置为执行容器的静态初始化以确定何时将执行容器工作负载。
本公开还涉及用于在运行时向不同节点调度容器工作负载的各种系统和方法。本公开的系统和方法被配置为:最小化总冲突惩罚并且最小化节点的数量,总冲突惩罚取决于容器工作负载的性质和节点的各种特性(例如,节点的处理能力和/或存储容量)。最小化节点的总数并最小化总冲突惩罚被配置为最大化整体资源利用率(例如,最大化磁盘、存储器和/或CPU利用率)。以这种方式,本公开的各种系统和方法被配置为执行动态的容器工作负载到节点的调度。
在下文中,将参考附图更详细地描述示例实施例,其中相似的附图标记始终表示相似的元件。然而,本发明可以按各种不同形式来体现,并且不应当被解释为仅限于本文所示的实施例。相反,这些实施例被提供为示例使得本公开将全面和完整,并且将本发明的方面和特征充分传达给本领域技术人员。因此,可能不会描述对于本领域普通技术人员完全理解本发明的方面和特征来说非必需的处理、元素和技术。除非另有说明,否则在整个附图和书面描述中,相似的附图标记表示相似的元素,并且因此可以不重复对其的描述。
在附图中为了清楚起见可以夸张和/或简化元素、层和区域的相对尺寸。在本文中可以使用空间相对术语如“下方”、“之下”、“下部”、“下面”、“之上”、“上部”等,以便于解释如在附图中示出的一个元素或特征相对于另外(一个或多个)元素或(一个或多个)特征的关系。将理解的是,空间相对术语除了包括附图中示出的方向之外,还意在包含设备在使用中或操作中的不同方向。例如,如果附图中的设备被翻转,则被描述为在其他元素或者特征“之下”或者“下方”或者“下面”的元素将定向在其它元素或者特征“之上”。因此,示例性术语“之下”和“下面”可以涵盖之上和之下的定向。设备可以以其它方式定向(旋转90度或在其它方向),且可以相应地解释本文中使用的空间相对描述符。
将理解,虽然本文中可以使用术语“第一”、“第二”、“第三”等来描述各种元素、组件、区域、层和/或部分,但是这些元素、组件、区域、层和/或部分不应受这些术语限制。这些术语用于区分一个元素、组件、区域、层或部分与另一元素、组件、区域、层或部分。因此,以下描述的第一元素、组件、区域、层或者部分可被称为第二元素、组件、区域、层或者部分,而不脱离本发明的精神和范围。
将理解的是,当一元素或层被称为在另一元素或层“上”、“连接到”或“耦接到”另一元素或层时,其可以直接在该另一元素或层上、直接连接到或耦接到该另一元素或层,或者可以存在一个或多个中间元素或层。此外,还将理解,当元素或层被称为在两个元素或层“之间”时,其可以是两个元素或层之间的唯一元素或层,或者也可以存在一个或多个中间元素或层。
本文所用的术语是为了描述特定实施例,而不意在限制本发明。如本文中使用的,单数形式“一”和“一个”意在还包括复数形式,除非上下文明确地给出相反的指示。还应理解,术语“包括”、“包含”、“具有”和“含有”在本说明书中使用时表示存在所陈述的特征、整数、步骤、操作、元素和/或组件,但并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、组件和/或其组合。如本文所用,术语“和/或”包括关联列出的一个或更多个项目的任意和所有组合。诸如“...中的至少一项”之类的表述在元素列表之前时修饰整个元素列表,而不是修饰列表中的单独元素。
如本文中使用的,术语“大体上”、“大约”以及类似的术语被用作近似术语而不是程度的术语,并且意在解决本领域普通技术人员将认识到的测量值或计算值的固有变化。此外,当描述本发明的实施例时使用“可以”是指“本发明的一个或多个实施例”。如本文所用,术语“使用”、“使用了”和“使用的”可分别认为与术语“利用”、“利用了”和“利用的”同义。此外,术语“示例性”意在指代示例或说明。
除非另外定义,否则本文使用的所有术语(包括技术和科学术语)具有本发明所属领域的普通技术人员通常所理解的相同意义。还将理解的是,诸如在常用词典中定义的术语应被解释为其含义与在相关技术和/或本说明书的上下文中的含义相一致,而不被解释为理想或过于正式的意义,除非本文明确如此定义。
术语“处理器”在本文中用于包括用于处理数据或数字信号的硬件、固件和软件的任何组合。处理器的硬件可以包括,例如,专用集成电路(ASIC)、通用或专用中央处理器(CPU)、数字信号处理器(DSP)、图形处理器(GPU)以及可编程逻辑器件(例如现场可编程门阵列(FPGA))。如本文所用,在处理器中,每个功能或者由配置硬件(即,硬连线)执行,以执行该功能,或者由更通用的硬件(例如,CPU)执行,该更通用的硬件被配置为执行非临时存储介质中存储的指令。处理器可被制造在单个印制线路板(PWB)上或分布在若干个互连的PWB上。处理器可以包含其他处理器;例如处理器可以包括在PWB上互连的两个处理器:FPGA和CPU。
图1是根据本公开一个实施例的用于对来自一系列n个应用和每种类型应用的一系列m个容器(即,总共n*m个工作负载容器)的容器工作负载101的执行向工作负载批处理102进行调度的系统和方法100的示意性框图,其中n和m都是正整数。图1中示出的系统和方法是容器工作负载101的静态初始化,以确定何时将执行容器工作负载(即,确定将在其中执行容器工作负载101的工作负载批处理102的静态初始化)。如图1所示,系统和方法100利用工作负载特性检测器103来检测容器工作负载101的特性,并且将每个容器工作负载101向一系列工作负载性质仓104(例如,W1、W2或W3)之一分配,工作负载性质仓104例如是顺序写入密集型工作负载性质仓、随机写入密集型工作负载性质仓或读取密集型工作负载性质仓。也可以使用其他仓。图1所示的系统和方法100的控制器106还分配冲突惩罚Sij,该冲突惩罚Sij与在同一工作负载批处理102中同时运行的两个或更多个容器工作负载101(Ai和Aj)相关联,该两个或更多个容器工作负载101中的每一个容器工作负载来自不同的工作负载性质仓104。图1所示的系统和方法100根据容器工作负载101的性质105来分配冲突惩罚Sij的值(例如,基于向工作负载特性检测器103输入的容器工作负载101的预先知道的本质或性质105来分配冲突惩罚Sij的值)。例如,从性能角度考虑,将读取密集型容器工作负载101和写入密集型容器工作负载101加以组合是有益的,且因此与同时运行容器工作负载Ai和容器工作负载Aj相关联的冲突惩罚Sij可以被设置为较低的值(例如,0),其中,Ai是分配给读取密集型工作负载性质仓104(例如,W1)的容器工作负载,Aj是分配给写入密集型工作负载性质仓104(例如,W2)的容器工作负载。另外,从性能角度来看,将随机写入容器工作负载101和顺序写入容器工作负载101加以组合是不利的,且因此与同时运行容器工作负载Ai和容器工作负载Aj相关联的冲突惩罚Sij可以被设置为较高的正值,其中,Ai是分配给随机写入工作负载性质仓104(例如,W3)的容器工作负载,Aj是分配给顺序写入工作负载性质仓104(例如,W2)的容器工作负载。在2016年12月14日提交的题为“Multi-ContainerWorkload Balancing for Optimal Disk Usage”的美国申请No.15/379327中描述了通过基于容器的工作负载的特性对容器进行分组来平衡容器的工作负载的合适的系统和方法,其全部内容通过引用并入本文中。
下面的表1是冲突惩罚矩阵(S)的示例,该冲突惩罚矩阵(S)是通过计算与容器工作负载的每种可能的组合相关联的冲突惩罚Sij而生成的。冲突惩罚矩阵(S)的大小是n*mx n*m,其中,n是应用的数量,并且m是每种类型应用的容器的数量。如表1所示,冲突惩罚矩阵相对于对角线是对称的,并且由于没有与同时运行同一工作负载性质仓中的两个容器工作负载相关联的冲突惩罚,所有对角线元素都被设置为空(即,没有与在同一工作负载批处理中多次运行同一容器工作负载相关联的冲突惩罚)。
表1
每个工作负载容器都被分配到一个且仅一个工作负载批处理,以决定何时启动它或将其迁移到何处。下面的表2描述了仓打包矩阵(P),该仓打包矩阵(P)描述同时运行容器工作负载的工作负载批处理。工作负载批处理Z1至Z(n*m)在时间t内顺序运行。在表2中,“1”表示容器工作负载在工作负载批处理中运行,并且“0”表示容器工作负载没有在工作负载批处理中运行。例如,表2描述了容器工作负载A3和A(n*m)在第一工作负载批处理Z1中运行,并且容器工作负载A1在第二工作负载批处理Z2中运行。
Z<sub>1</sub> | Z<sub>2</sub> | Z<sub>3</sub> | Z<sub>k</sub> | Z<sub>(n*m)</sub> | |||
A<sub>1</sub> | 0 | 1 | 0 | P<sub>1k</sub> | 0 | ||
A<sub>i2</sub> | P<sub>i1</sub> | P<sub>i2</sub> | P<sub>i3</sub> | P<sub>ik</sub> | P<sub>i(n*m)</sub> | ||
A<sub>3</sub> | 1 | 0 | 0 | P<sub>3k</sub> | 0 | ||
: | … | : | … | ||||
A<sub>j</sub> | P<sub>j1</sub> | P<sub>j2</sub> | P<sub>j3</sub> | P<sub>jk</sub> | P<sub>j(n*m)</sub> | ||
: | : | ||||||
A<sub>(n*m)</sub> | 1 | 0 | P<sub>(n*m)k</sub> | 0 |
表2
继续参考图1,系统和方法100(例如,控制器106)还包括最小化工作负载批处理的总冲突惩罚(Tp)和最小化工作负载批处理的总数(Nz)的任务。总冲突惩罚(Tp)定义如下:其中Sij是与在同一工作负载批处理中同时运行容器工作负载Ai和容器工作负载Aj相关联的冲突惩罚,Pik是一个二进制变量,如果向工作负载批处理k分配容器工作负载Ai,则该变量等于1,否则该变量等于0。另外,工作负载批处理的总数(Nz)定义如下:其中zk是一个二进制变量,如果使用工作负载批处理k,该变量等于1,否则该变量等于0。
在一个或多个实施例中,通过将上面定义总冲突惩罚(Tp)的等式和定义工作负载批处理的总数(Nz)的等式转换成目标函数(f),来执行最小化工作负载批处理的总冲突惩罚(Tp)和最小化工作负载批处理的总数(Nz)的任务。将这些等式转换为目标函数包括:将冲突惩罚值和工作负载批处理的数量加以归一化,以将它们的值调整为遵循0和1之间的理论公用尺度(notional common scale)。然后通过最大化这两个归一化比率的总和来定义目标函数(f)。因此,目标函数(f)将最小化工作负载批处理的总冲突惩罚(Tp)和最小化工作负载批处理的总数(Nz)的任务转换为确定仓打包矩阵(P)的任务,该确定仓打包矩阵(P)的任务最大化归一化的冲突惩罚和工作负载批处理的归一化数量的总和。目标函数f定义如下:
其中,Maxp是通过在同一工作负载批处理k中运行所有的容器工作负载针对给定冲突惩罚矩阵(S)的最大可能冲突惩罚,Minp是通过在每个批处理中仅运行一个容器工作负载针对给定冲突惩罚矩阵(S)的最小可能冲突惩罚(即,由于没有与在单独的工作负载批处理中运行每个容器工作负载相关联的冲突惩罚,Minp=0),Maxz是批处理的最大可能数(即,Minz=n*m,其中n是应用的数量,并且m是每种类型应用的容器的数量),并且Minz是批处理的最小可能数(即,由于所有的容器工作负载可以在单个工作负载批处理中运行,Minz=1)。满足上面定义的目标函数(f)的仓打包矩阵(P)提供调度信息(即,满足目标函数(f)的仓打包矩阵(P)包含用于对向工作负载批处理分配容器工作负载进行调度以最小化总冲突惩罚并且最小化工作负载批处理的数量的信息)。
另外,在一个或多个实施例中,可以使用一个或多个约束C来求解目标函数(f)。在一个实施例中,利用约束C1来指示容器工作负载Ai是否在工作负载批处理k中运行。约束C1定义如下:工作负载Ai和批处理k.因此,如果工作负载Ai在工作负载批处理k中运行,则Pik设置为1,否则Pik设置为0(即,如果工作负载Ai没有在工作负载批处理k中运行,则Pik设置为0)。
在一个或多个实施例中,利用约束C2来确保每个容器工作负载仅在一个工作负载批处理中运行。约束C2定义如下: 工作负载Ai.
在一个或多个实施例中,利用约束C3来限制可以向同一工作负载批处理k分配的同时容器工作负载的最大数量。约束C3定义如下:批处理k其中φ是可以向任何给定工作负载批处理k分配的容器工作负载的最大数量。在一个或多个实施例中,可以不使用约束C3。
在一个或多个实施例中,最小化工作负载批处理的总冲突惩罚(Tp)的任务可以包括:通过生成所有可能的仓打包矩阵(P)并且选择最小化总冲突惩罚(Tp)的仓打包矩阵(P)来进行对目标函数f的暴力评估(brute force evaluation)。在一个或多个实施例中,最小化工作负载批处理的总冲突惩罚(Tp)的任务可以通过利用两种线性规划算法通过实施约束矩阵优化来执行。在一个或多个实施例中,利用如MATLAB中提供的内点(IP)算法和标准二次规划(SQP)算法,通过计算满足目标函数f的仓打包矩阵(P)来最小化工作负载批处理的总冲突惩罚(Tp)。在一个或多个实施例中,求解目标函数f以找到最小化总冲突惩罚(Tp)的仓打包矩阵(P)可以包括:搜索局部最小值或全局最小值。
在示出的实施例中,系统和方法100还包括:使用控制器106基于仓打包矩阵(P)向工作负载批处理102分配容器工作负载101,该仓打包矩阵(P)最小化工作负载批处理102的总冲突惩罚(Tp)并且最小化工作负载批处理102的总数(Nz)(即,控制器106基于满足如上定义的目标函数f的仓打包矩阵(P)来向工作负载批处理102分配容器工作负载101)。
另外,在一个或多个实施例中,系统和方法100同时运行向第一工作负载批处理102(例如,B1)分配的容器工作负载101,并且随着时间的推移顺序地运行每个工作负载批处理102(例如,B2然后B3)(例如,系统和方法100根据向满足目标函数f的仓打包矩阵(P)中包含的工作负载批处理102分配的容器工作负载101来实例化容器工作负载101)。
以这种方式,系统和方法100被配置为基于容器工作负载101的工作负载本质和相互交互将容器工作负载101的执行调度到工作负载批处理102中,以最小化不公平的应用干扰,并从而最大化资源利用率(例如,最大化磁盘、存储器和/或CPU利用率)。也就是说,根据本公开一个实施例的系统和方法100被配置为:确定和调度哪些容器工作负载101将一起运行以及容器工作负载101何时将运行。相比之下,在每个工作负载批处理中运行单个容器工作负载(即,将工作负载批处理的数量最大化为与容器工作负载的总数(n*m)相等)可能会导致系统资源未得到充分利用,并且将不允许减少应用的执行时间。另外,与目前的系统和方法相对比,在同一工作负载批处理中运行所有容器工作负载将导致所有应用去竞争可用资源,这可能导致争用和限制。
在一个或多个实施例中,上述任务可以在控制器上实现。在一个或多个实施例中,上述任务可以作为源管理插件模块在主机侧上实现。
图2是用于在运行时对来自一系列n个应用和每种类型应用的一系列m个容器(即,总共n术m个工作负载容器)的容器工作负载向不同节点进行调度的系统和方法200的示意性框图(即,运行时针对节点的调度系统和方法),其中n和m都是正整数。也就是说,根据本公开一个或多个实施例的系统和方法200被配置为确定并调度哪些容器工作负载将在哪个节点上执行。
如图2所示,系统和方法200包括控制功能块210和编制调度器块220,用于在运行时向不同的节点230(例如N1、N2、N3)调度容器工作负载。在示出的实施例中,每个节点230计算与该节点230相关联的冲突惩罚矩阵(S)并且向控制功能块210输入该冲突惩罚矩阵(S)。控制功能块210被配置为:通过与将容器工作负载分配到不同的节点230中运行相关联地最小化节点230的数量(Nz)以及最小化总冲突惩罚(Tp)来计算仓打包矩阵(P),该仓打包矩阵(P)包含向节点230分配工作负载容器的最优分配。也就是说,控制功能块210包含优化函数,该优化函数被配置为:与将容器工作负载分配到不同节点中230运行相关联地最小化节点230的数量(Nz)以及最小化总冲突惩罚(Tp),以最大化整体资源利用率(例如,磁盘、存储器和/或CPU利用率)。在示出的实施例中,仓打包矩阵(P)是从控制功能块210输出到编制调度器块220的。编制调度器块220被配置为:根据仓打包矩阵(P)包含的向节点230分配工作负载容器的分配,在对应的节点230上实例化工作负载容器。
系统和方法200被配置为:分配与在同一节点230(例如,N1、N2或N3)上同时运行的容器工作负载Ai和Aj相关联的冲突惩罚Sij。冲突惩罚Sij的值取决于容器工作负载的性质和节点230的各种特性,节点230的各种特性是诸如节点230的处理能力、存储容量、CPU利用率、存储器利用率和/或磁盘利用率。每个节点230具有其自己的冲突惩罚矩阵(S),该冲突惩罚矩阵(S)反映在该节点230上运行容器工作负载的不同组合的冲突惩罚(即,成本)。在一个或多个实施例中,可以通过计算与在每个节点230上运行的容器工作负载的每种可能的组合相关联的冲突惩罚Sij来生成冲突惩罚矩阵(S)。冲突惩罚矩阵(S)如下计算:其中,xi是与在节点230上运行容器工作负载相关联的资源利用率参数,诸如CPU利用率、存储器利用率和/或磁盘利用率。参数wi是运行时可由用户分配的权重。可以根据例如群集环境的特性(诸如每个节点230的处理能力和/或存储容量)来选择权重wi的值。
在一个或多个实施例中,控制功能块210被配置为最小化在节点230上运行工作负载批处理的总冲突惩罚(Tp)并且最小化节点的总数(Nz)。总冲突惩罚(Tp)定义如下:其中,是与在同一节点230上同时运行容器工作负载Ai和容器工作负载Aj相关联的冲突惩罚,并且k代表节点230(即,第k个节点)。Pik是二进制变量,如果容器工作负载Ai和容器工作负载Aj被分配在节点k上运行,则Pik等于1,否则Pik等于0。因此,如果容器工作负载Ai和容器工作负载Aj在节点k上运行,则应用来自第k个节点的惩罚矩阵(S)的冲突惩罚Sij。附加地,节点的总数(Nz)定义如下:其中,zk是二进制变量,如果使用节点k,则zk等于1,否则zk等于0。最小化节点的总数(Nz)以及最小化总冲突惩罚(Tp)被配置为最大化整体资源利用率(例如,最大化磁盘、存储器和/或CPU利用率)。
每个容器工作负载仅运行一次,且因此每个容器工作负载仅被分配到一个节点(node_1到node_(n*m))。下表3描述了仓打包矩阵(P),该仓打包矩阵(P)描述在同一节点(例如,node_1、node_2、node_3等)上运行的容器工作负载的批处理。在表3中,“1”表示在该节点上运行容器工作负载,并且“0”表示在该节点上没有运行容器工作负载。例如,表3描述了容器工作负载A3和容器工作负载A(n*m)都运行在第一节点node_1上,并且容器工作负载A1运行在第二节点node_2上。
Node_1 | Node_2 | Node_3 | … | Node_k | … | Node_(n*m) | |
A<sub>1</sub> | 0 | 1 | 2 | P<sub>1k</sub> | 0 | ||
A<sub>i2</sub> | P<sub>i1</sub> | P<sub>i2</sub> | P<sub>i3</sub> | P<sub>ik</sub> | P<sub>i(n*m)</sub> | ||
A<sub>3</sub> | 1 | 0 | 0 | P<sub>3k</sub> | 0 | ||
: | … | : | … | ||||
A<sub>j</sub> | P<sub>j1</sub> | P<sub>j2</sub> | P<sub>j3</sub> | P<sub>jk</sub> | P<sub>j(n*m)</sub> | ||
: | : | ||||||
A<sub>(n*m)</sub> | 1 | 0 | P<sub>(n*m)k</sub> | 0 |
表3
在一个或多个实施例中,由于新的或修改的应用容器被启动和/或新节点230被添加到系统200,仓打包矩阵(P)可以在运行时扩展。因此,在一个或多个实施例中,系统和方法200可被配置为以固定时间间隔和/或在定义的触发点(例如,当节点230上任何资源的利用率超过其阈值时,由此触发其托管容器的重新分配或重新部署)重新计算冲突惩罚矩阵(S)。
控制功能块210可以在任何合适的位置实现。在一个或多个实施例中,控制功能块210可作为源管理插件模块在主机侧实现。
图3是示出了根据本公开一个实施例的通过图1的控制器106向工作负载批处理调度容器工作负载的流程图。如图3所示,控制器106基于容器工作负载的预先知道的本质或性质来计算包括针对容器工作负载的每种潜在组合的冲突惩罚在内的冲突惩罚矩阵(300)。控制器106还计算容器工作负载的最小总冲突惩罚和用于执行容器工作负载的工作负载批处理的数量(301)。工作负载批处理的数量与最小总冲突惩罚相关联。在示出的实施例中,控制器106还基于最小总冲突惩罚和工作负载批处理的数量向工作负载批处理分配容器工作负载(302)。
图4是示出了根据本公开一个实施例的通过图2的控制功能块210和编制调度器220向节点调度容器工作负载的流程图。如图4所示,控制功能块210计算包括针对容器工作负载的每种潜在组合的冲突惩罚在内的冲突惩罚矩阵(400)。冲突惩罚的值取决于容器工作负载的性质以及节点的各种特性,节点的各种特性是诸如节点的处理能力、存储容量、CPU利用率、存储器利用率和/或磁盘利用率。控制功能块210还计算容器工作负载的总冲突惩罚的最小值和用于执行容器工作负载的节点的数量(401)。节点的数量与最小总冲突惩罚相关联。之后,在示出的实施例中,编制调度器块220基于最小总冲突惩罚和节点的数量向节点分配容器工作负载(402)。
虽然已经结合特定示例实施例来描述了本发明,但是应该理解本发明不限于所公开的实施例,相反本发明旨在覆盖所附权利要求以及其等同物的精神和范围内所包括的各种修改和等同布置。
Claims (20)
1.一种用于对来自多个应用和所述多个应用中的每个应用的多个容器的容器工作负载的执行进行调度的系统,所述系统包括:
处理器;以及
其上存储有指令的非暂时计算机可读存储介质,所述指令在由所述处理器执行时使所述系统:
计算冲突惩罚矩阵,所述冲突惩罚矩阵包括针对所述多个容器的容器工作负载的每种潜在组合的冲突惩罚;
计算容器工作负载的最小总冲突惩罚和用于执行所述容器工作负载的工作负载批处理的数量,所述工作负载批处理的数量与所述最小总冲突惩罚相关联;以及
基于所述最小总冲突惩罚和所述工作负载批处理的数量,向所述工作负载批处理分配所述容器工作负载。
2.根据权利要求1所述的系统,其中,所述指令在由所述处理器执行时还使所述系统:将所述多个容器工作负载中的每一个容器工作负载向多个工作负载性质仓中的一个工作负载性质仓分配。
3.根据权利要求1所述的系统,其中,所述系统被配置为:通过求解目标函数来计算所述最小总冲突惩罚和所述工作负载批处理的数量,所述目标函数被定义为归一化冲突惩罚和工作负载批处理的归一化数量的总和的最大值。
4.根据权利要求1所述的系统,其中,所述系统被配置为:利用实现约束矩阵优化的两种线性算法来求解目标函数。
5.根据权利要求4所述的系统,其中,所述两种线性算法包括内点“IP”算法和标准二次规划“SQP”算法。
6.根据权利要求4所述的系统,其中,系统被配置为:计算所述目标函数的局部最小值。
7.根据权利要求4所述的系统,其中,所述系统被配置为计算所述目标函数的全局最小值。
8.一种用于对来自多个应用和所述多个应用中的每个应用的多个容器的容器工作负载的执行进行调度的方法,所述方法包括:
由处理器执行非暂时物理介质上存储的指令;
计算冲突惩罚矩阵,所述冲突惩罚矩阵包括针对所述多个容器的容器工作负载的每种潜在组合的冲突惩罚;
计算容器工作负载的最小总冲突惩罚和用于执行所述容器工作负载的工作负载批处理的数量,所述工作负载批处理的数量与所述最小总冲突惩罚相关联;以及
基于所述最小总冲突惩罚和所述工作负载批处理的数量向所述工作负载批处理分配所述容器工作负载。
9.根据权利要求8所述的方法,还包括:将所述多个容器工作负载中的每一个容器工作负载向多个工作负载性质仓中的一个工作负载性质仓分配。
10.根据权利要求8所述的方法,还包括:通过求解目标函数来计算所述最小总冲突惩罚和所述工作负载批处理的最小数量,所述目标函数被定义为归一化冲突惩罚和工作负载批处理的归一化数量的总和的最大值。
11.根据权利要求10所述的方法,其中,求解所述目标函数包括:利用实现约束矩阵优化的两种线性算法。
12.根据权利要求11所述的方法,其中,所述两种线性算法包括内点“IP”算法和标准二次规划“SQP”算法。
13.根据权利要求8所述的方法,还包括:设置能够向工作负载批处理之一分配的容器工作负载的最大数。
14.一种用于在运行时对来自多个应用和所述多个应用中的每个应用的多个容器的容器工作负载的执行向不同节点进行调度的系统,所述系统包括:
处理器;以及
其上存储有指令的非暂时计算机可读存储介质,所述指令在由所述处理器执行时使所述系统:
计算冲突惩罚矩阵,所述冲突惩罚矩阵包括针对所述多个容器的容器工作负载的每种潜在组合的冲突惩罚;
计算容器工作负载的最小总冲突惩罚和用于执行容器工作负载的节点的数量,所述节点的数量与所述最小总冲突惩罚相关联;以及
基于所述最小总冲突惩罚和所述节点的数量,向所述节点分配容器工作负载。
15.根据权利要求14所述的系统,其中,针对容器工作负载的每种潜在组合的冲突惩罚是基于资源利用率参数的加权总和来计算的,所述资源利用率参数的加权总和与在所述节点上运行容器工作负载的每种潜在组合相关联。
16.根据权利要求15所述的系统,其中,所述资源利用率参数是从由CPU利用率、存储器利用率和磁盘利用率组成的参数组中选择的。
17.根据权利要求15所述的系统,其中,所述加权总和基于运行时用户分配的权重。
18.根据权利要求17所述的系统,其中,所述权重是从由每个节点的处理能力和存储容量组成的组中选择的。
19.根据权利要求14所述的系统,其中,所述指令在由所述处理器执行时使所述系统:以固定时间间隔来重新计算所述冲突惩罚矩阵。
20.根据权利要求14所述的系统,其中,所述指令在由所述处理器执行时使所述系统:在节点上的资源利用率超过阈值时,重新计算所述冲突惩罚矩阵。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762522630P | 2017-06-20 | 2017-06-20 | |
US62/522,630 | 2017-06-20 | ||
US15/820,856 US10719354B2 (en) | 2017-06-20 | 2017-11-22 | Container workload scheduler and methods of scheduling container workloads |
US15/820,856 | 2017-11-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109117264A true CN109117264A (zh) | 2019-01-01 |
CN109117264B CN109117264B (zh) | 2021-06-01 |
Family
ID=64656285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810632891.0A Active CN109117264B (zh) | 2017-06-20 | 2018-06-19 | 容器工作负载调度器以及调度容器工作负载的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10719354B2 (zh) |
KR (1) | KR102362037B1 (zh) |
CN (1) | CN109117264B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111464659A (zh) * | 2020-04-27 | 2020-07-28 | 广州虎牙科技有限公司 | 节点的调度、节点的预选处理方法、装置、设备及介质 |
CN112214286A (zh) * | 2020-11-03 | 2021-01-12 | 网易(杭州)网络有限公司 | 容器的启动方法、装置及电子设备 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190317825A1 (en) * | 2018-04-16 | 2019-10-17 | Kazuhm, Inc. | System for managing deployment of distributed computing resources |
US10684895B1 (en) * | 2018-11-09 | 2020-06-16 | Veritas Technologies Llc | Systems and methods for managing containerized applications in a flexible appliance platform |
US11321130B2 (en) | 2019-08-01 | 2022-05-03 | Kyndryl, Inc. | Container orchestration in decentralized network computing environments |
US10972548B2 (en) * | 2019-09-09 | 2021-04-06 | International Business Machines Corporation | Distributed system deployment |
US11513842B2 (en) | 2019-10-03 | 2022-11-29 | International Business Machines Corporation | Performance biased resource scheduling based on runtime performance |
JP7513866B2 (ja) * | 2020-03-04 | 2024-07-10 | 富士通株式会社 | 移動対象コンテナ決定方法、及び移動対象コンテナ決定プログラム |
KR102446717B1 (ko) * | 2020-11-12 | 2022-09-27 | 한국과학기술정보연구원 | 컨테이너 처리 방법, 컨테이너 처리 장치 및 컨테이너 처리 시스템 |
US11941453B2 (en) | 2020-12-08 | 2024-03-26 | International Business Machines Corporation | Containerized computing environments |
US11886921B2 (en) | 2021-03-04 | 2024-01-30 | International Business Machines Corporation | Serverless runtime container allocation |
US20220398134A1 (en) * | 2021-06-11 | 2022-12-15 | International Business Machines Corporation | Allocation of services to containers |
KR20230024744A (ko) | 2021-08-12 | 2023-02-21 | 주식회사 케이티 | 다중 클러스터 환경에서의 컨테이너 배포 방법, 장치, 시스템 및 컴퓨터 프로그램 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104541247A (zh) * | 2012-08-07 | 2015-04-22 | 超威半导体公司 | 用于调整云计算系统的系统和方法 |
US20160150002A1 (en) * | 2014-11-21 | 2016-05-26 | International Business Machines Corporation | Cross-Platform Scheduling with Long-Term Fairness and Platform-Specific Optimization |
CN106453492A (zh) * | 2016-08-30 | 2017-02-22 | 浙江大学 | 基于模糊模式识别的Docker容器云平台下的容器调度方法 |
US20170083380A1 (en) * | 2015-09-18 | 2017-03-23 | Salesforce.Com, Inc. | Managing resource allocation in a stream processing framework |
CN107590001A (zh) * | 2017-09-08 | 2018-01-16 | 北京京东尚科信息技术有限公司 | 负载均衡方法及装置、存储介质、电子设备 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040044643A1 (en) | 2002-04-11 | 2004-03-04 | Devries David A. | Managing multiple virtual machines |
US20100017650A1 (en) | 2008-07-19 | 2010-01-21 | Nanostar Corporation, U.S.A | Non-volatile memory data storage system with reliability management |
US9069613B2 (en) | 2008-09-30 | 2015-06-30 | Hewlett-Packard Development Company, L.P. | Processing batch database workload while avoiding overload |
US8578386B1 (en) * | 2009-04-01 | 2013-11-05 | Netapp, Inc. | Processor scheduling method and system using domains |
US8407171B2 (en) * | 2010-02-01 | 2013-03-26 | Seiko Epson Corporation | Method for constraint optimization under box constraints |
US9767274B2 (en) | 2011-11-22 | 2017-09-19 | Bromium, Inc. | Approaches for efficient physical to virtual disk conversion |
US8897913B2 (en) | 2012-10-19 | 2014-11-25 | Chunsong Luo | Automatic stacked storage system for parking or storage |
US9483299B2 (en) * | 2014-06-30 | 2016-11-01 | Bmc Software, Inc. | Capacity risk management for virtual machines |
US9256467B1 (en) | 2014-11-11 | 2016-02-09 | Amazon Technologies, Inc. | System for managing and scheduling containers |
US9800465B2 (en) | 2014-11-14 | 2017-10-24 | International Business Machines Corporation | Application placement through multiple allocation domain agents and flexible cloud scheduler framework |
US9690622B1 (en) | 2015-08-24 | 2017-06-27 | Amazon Technologies, Inc. | Stateless instance backed mobile devices |
US20170070561A1 (en) | 2015-09-04 | 2017-03-09 | Futurewei Technologies, Inc. | Mechanism and Method for Constraint Based Fine-Grained Cloud Resource Controls |
US9965330B2 (en) | 2015-09-18 | 2018-05-08 | Salesforce.Com, Inc. | Maintaining throughput of a stream processing framework while increasing processing load |
EP3516516B1 (en) * | 2016-09-21 | 2022-05-11 | Accenture Global Solutions Limited | Dynamic resource allocation for application containers |
-
2017
- 2017-11-22 US US15/820,856 patent/US10719354B2/en active Active
-
2018
- 2018-04-24 KR KR1020180047543A patent/KR102362037B1/ko active IP Right Grant
- 2018-06-19 CN CN201810632891.0A patent/CN109117264B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104541247A (zh) * | 2012-08-07 | 2015-04-22 | 超威半导体公司 | 用于调整云计算系统的系统和方法 |
US20160150002A1 (en) * | 2014-11-21 | 2016-05-26 | International Business Machines Corporation | Cross-Platform Scheduling with Long-Term Fairness and Platform-Specific Optimization |
US20170083380A1 (en) * | 2015-09-18 | 2017-03-23 | Salesforce.Com, Inc. | Managing resource allocation in a stream processing framework |
CN106453492A (zh) * | 2016-08-30 | 2017-02-22 | 浙江大学 | 基于模糊模式识别的Docker容器云平台下的容器调度方法 |
CN107590001A (zh) * | 2017-09-08 | 2018-01-16 | 北京京东尚科信息技术有限公司 | 负载均衡方法及装置、存储介质、电子设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111464659A (zh) * | 2020-04-27 | 2020-07-28 | 广州虎牙科技有限公司 | 节点的调度、节点的预选处理方法、装置、设备及介质 |
CN112214286A (zh) * | 2020-11-03 | 2021-01-12 | 网易(杭州)网络有限公司 | 容器的启动方法、装置及电子设备 |
CN112214286B (zh) * | 2020-11-03 | 2023-06-13 | 网易(杭州)网络有限公司 | 容器的启动方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
KR102362037B1 (ko) | 2022-02-11 |
CN109117264B (zh) | 2021-06-01 |
KR20180138123A (ko) | 2018-12-28 |
US10719354B2 (en) | 2020-07-21 |
US20180365055A1 (en) | 2018-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109117264B (zh) | 容器工作负载调度器以及调度容器工作负载的方法 | |
KR101286700B1 (ko) | 멀티 코어 프로세서 시스템에서 로드 밸런싱을 위한 장치및 방법 | |
JP5827678B2 (ja) | 仮想コンテナのシステムにおけるリソース容量評価のための方法および装置 | |
Kang et al. | Lalarand: Flexible layer-by-layer cpu/gpu scheduling for real-time dnn tasks | |
JP4185103B2 (ja) | 実行可能プログラムをスケジューリングするためのシステム及び方法 | |
US8527988B1 (en) | Proximity mapping of virtual-machine threads to processors | |
CN111352736A (zh) | 大数据资源的调度方法、装置、服务器及存储介质 | |
KR20120082598A (ko) | 클라우드 컴퓨팅에서 다중 워크플로우를 위한 비용기반 스케줄링 방법 및 그 시스템 | |
CN112559130B (zh) | 容器分配方法、装置、电子设备及存储介质 | |
US11995016B2 (en) | Input/output command rebalancing in a virtualized computer system | |
Benoit et al. | Scheduling linear chain streaming applications on heterogeneous systems with failures | |
CN104598304B (zh) | 用于作业执行中的调度的方法和装置 | |
Xu et al. | Prophet: Scheduling executors with time-varying resource demands on data-parallel computation frameworks | |
Ferreira da Silva et al. | Controlling fairness and task granularity in distributed, online, non‐clairvoyant workflow executions | |
Shah et al. | Agent based priority heuristic for job scheduling on computational grids | |
Ahmad et al. | A novel dynamic priority based job scheduling approach for cloud environment | |
CN115712501A (zh) | 一种适用于工程机械的云仿真方法和系统 | |
Sharma | Duplication with task assignment in mesh distributed system | |
KR20180076051A (ko) | OpenCL 커널을 처리하는 방법과 이를 수행하는 컴퓨팅 장치 | |
WO2002003192A2 (en) | Device and method for allocating jobs in a network | |
Benhammadi et al. | Independent task scheduling in heterogeneous environment via makespan refinery approach | |
Benoit et al. | Throughput optimization for pipeline workflow scheduling with setup times | |
Shakya et al. | Framework For Load Balancing Using Multi Resource Scheduling With Minimum Time Consumption | |
Kumar et al. | Multi criteria based task scheduling in cloud environment | |
Morey et al. | A new approach for dynamic load balancing using simulation in grid computing |
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 |