容器工作负载调度器以及调度容器工作负载的方法技术

技术编号:19964021 阅读:59 留言:0更新日期:2019-01-03 12:43
一种用于对来自一系列应用和每个应用的一系列容器的容器工作负载的执行进行调度的系统。该系统包括处理器和其上存储有指令的非暂时计算机可读存储介质,该指令在由处理器执行时使该系统:计算冲突惩罚矩阵,该冲突惩罚矩阵包括针对多个容器的容器工作负载的每种潜在组合的冲突惩罚,以及计算容器工作负载的最小总冲突惩罚和用于执行该容器工作负载的工作负载批处理的数量。工作负载批处理的数量与最小总冲突惩罚相关联。该指令在由处理器执行时还使系统:基于最小总冲突惩罚和工作负载批处理的数量向工作负载批处理分配容器工作负载。

Container workload scheduler and the method of dispatching container workload

A system for scheduling the execution of container workloads from a series of applications and a series of containers for each application. The system includes a processor and a non-temporary computer-readable storage medium on which instructions are stored. When executed by the processor, the instruction enables the system to compute a conflict penalty matrix, which includes a conflict penalty for each potential combination of container workloads for multiple containers, as well as a minimum total conflict penalty for computing container workloads and for executing the container. The number of workload batches for a workload. The number of workload batches is associated with the minimum total conflict penalty. When executed by the processor, the instruction also enables the system to allocate container workloads to the workload batch processing based on the minimum total conflict penalty and the number of workload batches.

【技术实现步骤摘要】
容器工作负载调度器以及调度容器工作负载的方法相关申请的交叉引用本申请要求于2017年6月20日提交的题为“UNDERSTANDINGPERFORMANCEOFI/OINTENSIVECONTAINERIZEDAPPLICATIONSFORNVMESSDS”的美国临时申请No.62/522630和2017年11月22日提交的题为“CONTAINERWORKLOADSCHEDULERANDMETHODSOFSCHEDULINGCONTAINERWORKLOADS”的美国申请No.15/820856的优先权和权益,其全部内容通过引用并入本文中。
本公开总体上涉及对容器化工作负载的调度。
技术介绍
容器(例如DOCKER系统的容器)是独立的软件包,其可以在共享操作系统上隔离运行。容器正迅速成为DevOps中最重要的工具之一,以及成为企业和数据中心的生产环境之一。然而,容器编制(orchestration)、调度和性能在整个行业中都面临着挑战。例如,确定何时启动何种容器以及确定何种容器迁移到哪里是需要正确调度的问题。这些决定取决于各因素,例如在多个应用容器在不同的工作负载情况下同时运行时,与其他应用容器相比,某些应用的吞吐量可能会明显受损(例如,某些应用工作负载可能会存在不公平的吞吐量)。这种不公平的吞吐量通常是用户不希望的,并且可能违反服务提供商服务级别协议(SLA)。另外,通过同时操作同一应用的多个实例(即,同质环境)与同时操作不同应用的多个实例(即,异构环境)而获得的性能优势可能对于相关技术的容器明显不同。此外,尚未很好地理解以及尚未调查I/O密集型docker化(dockerized)工作负载在存储和磁盘系统(例如高性能非易失性存储器快速(NVMe)和固态驱动器(SSD))的最新创新方面的性能。当与虚拟机相比时,容器的启动时间可以忽略不计,且因此不需要在开始时启动所有容器,但是决定何时启动哪个容器会影响性能。因此,进行容器编制或调度是有益的。
技术实现思路
本公开涉及用于对来自从一系列应用和该系列应用的每个应用的一系列容器的容器工作负载的执行进行调度的系统的各种实施例。该系统包括处理器和其上存储有指令的非暂时计算机可读存储介质,该指令在由处理器执行时使系统:计算冲突惩罚矩阵,该冲突惩罚矩阵包括针对该系列容器的容器工作负载的每种潜在组合的冲突惩罚,并且计算该容器工作负载的最小总冲突惩罚和用于执行该容器工作负载的工作负载批处理的数量。工作负载批处理的数量与最小总冲突惩罚相关联。该指令在由处理器执行时还使系统:基于最小总冲突惩罚和工作负载批处理的数量向工作负载批处理分配容器工作负载。该指令在由处理器执行时还可以使系统:将该系列容器工作负载中的每一个容器工作负载向一系列工作负载性质仓中的一个工作负载性质仓分配。该系统可以被配置为:通过求解目标函数来计算最小总冲突惩罚和工作负载批处理的数量,该目标函数被定义为归一化冲突惩罚和工作负载批处理的归一化数量的总和的最大值。该系统可以被配置为利用实现约束矩阵优化的两种线性算法来求解目标函数。该两种线性算法可以包括内点(IP)算法和标准二次规划(SQP)算法。该系统可以被配置为计算目标函数的局部最小值。该系统可以被配置为计算目标函数的全局最小值。本公开还涉及对来自一系列应用和该系列应用中的每个应用的一系列容器的容器工作负载的执行进行调度的方法的各种实施例。该方法包括:由处理器执行非暂时物理介质上存储的指令,计算冲突惩罚矩阵,该冲突惩罚矩阵包括针对该系列容器的容器工作负载的每种潜在组合的冲突惩罚,并且计算容器工作负载的最小总冲突惩罚和用于执行容器工作负载的工作负载批处理的数量。工作负载批处理的数量与最小总冲突惩罚相关联。该方法还包括基于最小总冲突惩罚和工作负载批处理的数量向工作负载批处理分配容器工作负载。该方法还可以包括将该系列容器工作负载中的每一个容器工作负载向一系列工作负载性质仓中的一个工作负载性质仓分配。该方法可以包括:通过求解目标函数来计算最小总冲突惩罚和工作负载批处理的最小数量,该目标函数被定义为归一化冲突惩罚和工作负载批处理的归一化数量的总和的最大值。求解目标函数可以包括利用实现约束矩阵优化的两种线性算法。该两种线性算法可以包括内点(IP)算法和标准二次规划(SQP)算法。该方法可以包括设置可以向工作负载批处理之一分配的容器工作负载的最大数。本公开还涉及在运行时对来自一系列应用和该系列应用中的每个应用的一系列容器的容器工作负载的执行向不同节点进行调度的系统的各种实施例。该系统包括处理器和其上存储有指令的非暂时计算机可读存储介质,该指令在由处理器执行时使系统:计算冲突惩罚矩阵,该冲突惩罚矩阵包括针对多个容器的容器工作负载的每种潜在组合的冲突惩罚,并且计算容器工作负载的最小总冲突惩罚和用于执行容器工作负载的节点的数量。节点的数量与最小总冲突惩罚相关联。该指令在由处理器执行时还使系统:基于最小总冲突惩罚和节点的数量向节点分配容器工作负载。针对容器工作负载的每种潜在组合的冲突惩罚可以是基于资源利用率参数的加权总和来计算的,该资源利用率参数的加权总和与在节点上运行容器工作负载的每种潜在组合相关联。资源利用率参数可以包括CPU利用率、存储器利用率和/或磁盘利用率。加权总和可以基于运行时用户分配的权重。权重可以包括每个节点的处理能力和/或存储容量。该指令在由处理器执行时可以使系统以固定时间间隔来重新计算冲突惩罚矩阵。该指令在由处理器执行时可以使系统在节点的资源利用率超过阈值时,重新计算冲突惩罚矩阵。提供了本
技术实现思路
以介绍下面在详细描述中进一步描述的本公开的实施例的特征和概念的选择。
技术实现思路
不意图标识所请求保护主题的关键或必要特征,也不意图用于限制所请求保护主题的范围。所描述的特征中的一个或多个特征可以与一个或多个其他描述的特征相组合以提供可使用的设备。附图说明当结合下面的附图考虑时,通过参考以下详细描述,本公开的实施例的这些和其他特征以及优点将更清楚。在附图中,贯穿附图使用相似的附图标记来引用相似的特征和部件。附图不一定是按比例绘制的。图1是根据本公开一个实施例的用于向工作负载批处理调度容器工作负载的系统和方法的示意性框图;图2是根据本公开一个实施例的用于向节点调度容器工作负载的系统和方法的示意性框图;图3是示出了根据本公开一个实施例的通过图1的控制器向工作负载批处理调度容器工作负载的流程图;以及图4是示出了根据本公开一个实施例的通过图2的控制功能和编制调度器向节点调度容器工作负载的流程图。具体实施方式本公开涉及对来自一系列应用和每种类型的应用的一系列容器的容器工作负载的执行向工作负载批处理进行调度的各种系统和方法。当在同一工作负载批处理中一起调度两个或更多个容器工作负载时,根据容器工作负载的工作负载性质(例如,顺序写入密集型工作负载、随机写入密集型工作负载、读取密集型工作负载),会存在与在同一工作负载批处理中同时运行两个或更多个工作负载容器相关联的冲突惩罚。本公开的系统和方法被配置为:基于与分组容器工作负载相关联的冲突惩罚将容器工作负载分组为工作负载批处理,来最小化工作负载批处理的总冲突惩罚并且最小化工作负载批处理的数量(例如,控制器被配置为将容器工作负载打包为不同本文档来自技高网
...

【技术保护点】
1.一种用于对来自多个应用和所述多个应用中的每个应用的多个容器的容器工作负载的执行进行调度的系统,所述系统包括:处理器;以及其上存储有指令的非暂时计算机可读存储介质,所述指令在由所述处理器执行时使所述系统:计算冲突惩罚矩阵,所述冲突惩罚矩阵包括针对所述多个容器的容器工作负载的每种潜在组合的冲突惩罚;计算容器工作负载的最小总冲突惩罚和用于执行所述容器工作负载的工作负载批处理的数量,所述工作负载批处理的数量与所述最小总冲突惩罚相关联;以及基于所述最小总冲突惩罚和所述工作负载批处理的数量,向所述工作负载批处理分配所述容器工作负载。

【技术特征摘要】
2017.06.20 US 62/522,630;2017.11.22 US 15/820,8561.一种用于对来自多个应用和所述多个应用中的每个应用的多个容器的容器工作负载的执行进行调度的系统,所述系统包括:处理器;以及其上存储有指令的非暂时计算机可读存储介质,所述指令在由所述处理器执行时使所述系统:计算冲突惩罚矩阵,所述冲突惩罚矩阵包括针对所述多个容器的容器工作负载的每种潜在组合的冲突惩罚;计算容器工作负载的最小总冲突惩罚和用于执行所述容器工作负载的工作负载批处理的数量,所述工作负载批处理的数量与所述最小总冲突惩罚相关联;以及基于所述最小总冲突惩罚和所述工作负载批处理的数量,向所述工作负载批处理分配所述容器工作负载。2.根据权利要求1所述的系统,其中,所述指令在由所述处理器执行时还使所述系统:将所述多个容器工作负载中的每一个容器工作负载向多个工作负载性质仓中的一个工作负载性质仓分配。3.根据权利要求1所述的系统,其中,所述系统被配置为:通过求解目标函数来计算所述最小总冲突惩罚和所述工作负载批处理的数量,所述目标函数被定义为归一化冲突惩罚和工作负载批处理的归一化数量的总和的最大值。4.根据权利要求1所述的系统,其中,所述系统被配置为:利用实现约束矩阵优化的两种线性算法来求解目标函数。5.根据权利要求4所述的系统,其中,所述两种线性算法包括内点“IP”算法和标准二次规划“SQP”算法。6.根据权利要求4所述的系统,其中,系统被配置为:计算所述目标函数的局部最小值。7.根据权利要求4所述的系统,其中,所述系统被配置为计算所述目标函数的全局最小值。8.一种用于对来自多个应用和所述多个应用中的每个应用的多个容器的容器工作负载的执行进行调度的方法,所述方法包括:由处理器执行非暂时物理介质上存储的指令;计算冲突惩罚矩阵,所述冲突惩罚矩阵包括针对所述多个容器的容器工作负载的每种潜在组合的冲突惩罚;计算容器工作负载的最小总冲突惩罚和用于执行所述容器工作负载的工作负载批处理的数量,所述工作负载批处理的数量与所述最小总冲突惩罚相关联;以及基于所述最小总冲突惩罚和所述工作负载批处理的数量向所述工作负载...

【专利技术属性】
技术研发人员:扬基·沙拉德库马尔·比曼尼阿南德·苏布拉马尼扬杨静珮维贾伊·巴拉克里希南
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:韩国,KR

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

1