CN107733977B - 一种基于Docker的集群管理方法及装置 - Google Patents

一种基于Docker的集群管理方法及装置 Download PDF

Info

Publication number
CN107733977B
CN107733977B CN201710772532.0A CN201710772532A CN107733977B CN 107733977 B CN107733977 B CN 107733977B CN 201710772532 A CN201710772532 A CN 201710772532A CN 107733977 B CN107733977 B CN 107733977B
Authority
CN
China
Prior art keywords
task
docker
mirror image
scheduling
computing node
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
CN201710772532.0A
Other languages
English (en)
Other versions
CN107733977A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201710772532.0A priority Critical patent/CN107733977B/zh
Publication of CN107733977A publication Critical patent/CN107733977A/zh
Application granted granted Critical
Publication of CN107733977B publication Critical patent/CN107733977B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于Docker的集群管理方法及装置,所述方法包括:接收任务请求,所述任务请求包括Docker镜像索引;根据所述任务请求调度计算节点;根据所述Docker镜像索引,拉取对应的Docker镜像到所调度的计算节点上;将Docker镜像中包括的基础组件部署到所调度的计算节点上;触发所调度的计算节点执行所述任务请求。应用本发明所述方案,用户只需要提供Docker镜像索引,就可以使得被调度的计算节点能够从统一的镜像仓库中拉取Docker镜像以获取执行任务所需要的基础组件,而无需针对计算节点拷贝、安装基础组件的相关软件,也无需在每个计算节点创建虚拟机,因此相比较现有技术可以便捷地将诸如深度学习框架等基础组件部署到集群中每一个计算节点。

Description

一种基于Docker的集群管理方法及装置
【技术领域】
本发明涉及计算机应用技术,特别涉及一种基于Docker的集群管理方法及装置。
【背景技术】
随着大数据及深度学习技术的发展,通过深度学习的方法对海量数据进行训练学习,最终学习出一套准确的认知模型。更加复杂且更加强大的深度模型能深刻揭示海量数据里所承载的复杂而丰富的信息,并对未来或未知事件做更精准的预测。深度学习的应用包括语音识别、图像识别、自然语言处理、搜索广告CTR预估等。目前以Google、Facebook、微软、百度为代表的科技公司争相投入资源,占领技术的制高点。
但是,深度学习对使用者的数学能力和计算机能力都有较高的要求,初学者往往很难独自将算法转换成真实可用的计算机程序,因此大量优秀的深度学习框架不断涌现,帮助初学者可以快速使用这一强大的技术。
由于每一种框架都有自己的优势与劣势,当前各种框架都在被广泛使用,但由于每一种框架几乎都需要配置复杂的运行环境,加之框架往往运行在集群环境中,而集群中每个机器的运行环境很难做到统一,所以如何便捷地在集群中支持深度学习框架的使用已经成为一个降低深度学习门槛的一个重要问题。当前,该问题的解决方案主要是有以下几种:
方案一、将运行环境打包成一个执行包,程序执行不依赖除了执行包以外的任何东西,然后将这个执行包拷贝到集群中每一个计算节点上执行;
方案二、为集群上每一个节点统一安装运行环境需要的软件;
方案三、创建虚拟机,并在虚拟机中安装运行环境需要的软件,然后将虚拟机在集群中每一个计算节点启动并执行程序。
上述方案存在以下几个方面的问题:
方案一需要用户提前做大量去除全局环境依赖的工作,并制作一个任务运行的最小执行环境;
方案二对集群上物理机的要求很高,如果集群需要同时支持多种深度学习框架,那么集群上物理机就需要安装多个软件,还需要规避安装软件的冲突;
方案三对用户安装和集群部署的要求最低,但在虚拟机中启动任务十分缓慢,同时性能也会受损。
【发明内容】
本申请的多个方面提供了一种基于Docker的集群管理方法及装置,能够便捷地将诸如深度学习框架等基础组件部署到集群中的每一个计算节点。
本申请的一方面,提供一种基于Docker的集群管理方法,其特征在于,包括:
接收任务请求,所述任务请求包括Docker镜像索引;
根据所述任务请求调度计算节点;
根据所述Docker镜像索引,从镜像仓库拉取对应的Docker镜像到所调度的计算节点上;将Docker镜像中包括的基础组件部署到所调度的计算节点上;
触发所调度的计算节点利用所述基础组件执行所述任务请求。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述请求还包括:任务的配置信息、任务的数据信息。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据所述任务请求调度计算节点包括:
根据预设策略调度计算节点,包括:随机调度、基于集群可用资源额度的调度或指定计算节点的调度。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述触发所调度的计算节点利用所述基础组件执行所述任务请求还包括:
向所调度的计算节点发送包括任务的配置信息和所述任务的数据信息的任务指令,以使所调度的计算节点利用所述基础组件,根据任务指令进行集群运算。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述Docker镜像所包括的基础组件为用户所采用的深度学习框架。
本发明的另一方面,提供一种基于Docker的集群管理装置,其特征在于,包括:
接收模块,用于接收任务请求,所述任务请求包括Docker镜像索引;
调度模块,用于根据所述任务请求调度计算节点;
部署模块,用于根据所述Docker镜像索引,从镜像仓库拉取对应的Docker镜像到所调度的计算节点上;将Docker镜像中包括的基础组件部署到所调度的计算节点上;
执行模块,用于触发所调度的计算节点利用所述基础组件执行所述任务请求。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述请求还包括:任务的配置信息、任务的数据信息。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述调度模块具体用于:
根据预设策略调度计算节点,包括:随机调度、基于集群可用资源额度的调度或指定计算节点的调度。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述执行模块具体用于:
向所调度的计算节点发送包括任务的配置信息和所述任务的数据信息的任务指令,以使所调度的计算节点利用所述基础组件,根据任务指令进行集群运算。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述Docker镜像所包括的基础组件为用户所采用的深度学习框架。
本发明的另一方面,提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
本发明的另一方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上所述的方法。
基于上述介绍可以看出,采用本发明所述方案,用户只需要提供Docker镜像索引,就可以使得被调度的计算节点能够从统一的镜像仓库中拉取Docker镜像以获取执行任务所需要的基础组件,而无需针对计算节点拷贝、安装基础组件的相关软件,也无需在每个计算节点创建虚拟机,因此相比较现有技术可以便捷地将诸如深度学习框架等基础组件部署到集群中每一个计算节点。
【附图说明】
图1为本发明所涉及的系统架构示意图;
图2为本发明所述基于Docker的集群管理方法的流程图;
图3为本发明所述基于Docker的集群管理装置的结构图;
图4示出了适于用来实现本发明实施方式的示例性计算机系统/服务器012的框图。
【具体实施方式】
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本申请保护的范围。
为了方便对本发明的理解,首先对本发明所涉及的系统架构进行描述。如图1中所示,本发明提供的系统主要包括:用户端设备、镜像仓库、集群调度服务器以及集群。在本发明实施例中,诸如开发者等类型的用户可以使用用户端设备实现任务开发,该任务最终由集群中的计算节点执行。
其中,集群中的计算节点负责执行被分配的任务;各计算节点及集群调度服务器可以通过诸如RDMA远程直接数据存取或TCP通信相连。用户可以通过Web前端向集群调度服务器提交任务请求。
Docker是一个开源的应用容器引擎,让开发者可以打包他们的基础组件,包括应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,从而实现一次创建、任意运行的目的;也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。几乎没有性能开销,可以很容易地在机器和数据中心中运行。
开发者约定一个公共的Docker地址作为镜像仓库服务器的地址;运行一个基础的操作系统容器,在容器内完成基础组件,如分布式存储/深度学习框架,的代码的编译,将容器打包为Docker镜像,然后推送到镜像仓库。然后开发者就可以向用户release Docker镜像索引。所述Docker镜像索引用于指示Docker镜像在镜像仓库中的存储地址。
在本发明实施例中,Docker镜像中所包括的基础组件可以是任意的可以基于集群实现的基础组件,如分布式存储系统、深度学习框架等。
在本发明实施例中,以向集群部署深度学习框架,执行深度学习网络训练任务为例进行描述,例如是语音识别、图像识别、自然语言处理、搜索广告CTR预估等深度学习网络训练。所述Docker镜像包括的基础组件为深度学习框架。深度学习框架包含以下五个核心组件:张量(Tensor)、基于张量的各种操作、计算图(Computation Graph)、自动微分(Automatic Differentiation)工具、BLAS、cuBLAS、cuDNN等拓展包。将待处理数据转换为张量,根据计算图针对张量施加各种需要的操作,通过自动微分对模型展开训练,然后得到输出结果开始测试。
图2为本发明所述基于Docker的集群部署方法的流程图,如图2所示,该方法包括:
步骤S201、接收任务请求,所述任务请求包括Docker镜像索引;
步骤S202、根据所述任务请求调度计算节点;
步骤S203、根据所述Docker镜像索引,从镜像仓库拉取对应的Docker镜像到所调度的计算节点上;将Docker镜像中包括的基础组件部署到所调度的计算节点上;
步骤S204、触发所调度的计算节点利用所述基础组件执行所述任务请求。
图2中所述方法的执行主体为集群调度服务器。
在步骤S201的一种优选实现方式中,
开发者约定一个公共的Docker地址作为镜像仓库;运行一个基础的操作系统容器,在容器内完成基础组件,如分布式存储/深度学习框架,的代码的编译,将容器打包为Docker镜像,然后推送到镜像仓库。然后开发者就可以向用户release Docker镜像索引。所述Docker镜像索引用于指示Docker镜像在镜像仓库中的存储地址。
用户确定所要采用的基础组件,从镜像仓库获取所述基础组件对应的Docker镜像索引,向集群调度服务器发出任务请求。
集群调度服务器接收用户所发出的任务请求。
所述任务请求包括:Docker镜像索引、任务的配置信息、任务的数据信息等信息。
以深度学习网络训练任务为例,所述任务请求包括:Docker镜像索引、任务的网络配置以及任务的训练信息等信息。
优选的,所述任务的训练信息包括:训练数据在共享存储器中的存储路径、深度学习的训练参数。
针对存储路径,训练数据可以存储于共享存储器,如分布式文件系统(HDFS)上,因此用户可以提供训练数据在HDFS上的地址,并配置训练数据的文件名列表。
针对深度学习的训练参数,具体来说是指针对运行深度学习框架的计算节点的相关配置要求。例如:可以包括每个计算节点的线程数、更新间隔、是否进行热启动和/或是否自动调参中的至少一个。
在本实施例的一种优选实现方式中,为了加快Docker镜像的查找下载速度,采用分布式文件系统存储Docker镜像。Docker镜像被设计成分层(layer)的,同一个镜像的layers通过union mount的方式连接成一个完整的镜像;镜像数据实际就是镜像层的数据。
在步骤S202的一种优选实现方式中,
集群调度服务器接收到所述任务请求后,根据所述任务请求中的Docker镜像索引,向Docker镜像仓库查询所述Docker镜像是否存在。
镜像仓库根据Docker镜像的索引查找是否存在所述集群调度服务器请求查询的镜像,如果不存在则返回无相应镜像标识;若存在则返回存在相应镜像标识。
如果集群调度服务器查询到所述Docker镜像,则根据预设策略调度计算节点,包括:随机调度、基于集群可用资源的调度或指定计算节点的调度。
如果集群的可用资源额度低于预设阈值,则无法满足所述任务请求,则使所述任务请求进入等待状态。
如果集群可用资源额度高于预设阈值,能够满足任务请求,则为所述任务请求调度计算节点。
在步骤S203的一种优选实现方式中,
集群调度服务器根据所述Docker镜像索引向镜像仓库请求下载Docker镜像到所调度的节点;优选地,集群调度服务器根据镜像仓库的IP地址和提供基础组件的端口号等参数,向镜像仓库请求下载Docker镜像到所调度的节点。
镜像仓库根据集群调度服务器的请求确定镜像层数据在分布式文件系统中的存储位置,并将获得的镜像元数据返回给所调度的计算节点;优选地,镜像仓库从分布式文件系统读取Docker镜像的manifest,其中manifest包含镜像所含所有层的哈希值。镜像仓库根据解析manifest得到的镜像包含的所有层的哈希值及各层之间的依赖关系,获取镜像层的存储目录位置,根据获取的所述存储目录位置读取出镜像层文件存储的目录、文件名、大小等元数据,之后将这些元数据传递给所调度的计算节点。
所调度的计算节点根据从镜像仓库接收到的元数据确定镜像数据的存储位置,并直接拉取镜像数据;优选地,计算节点将从镜像仓库接收到的镜像层的存储目录和文件名作为输入,通过一致性哈希算法计算哈希值,确定镜像层在分布式文件系统中的实际存储位置,读取镜像数据,通过哈希校验镜像数据完整性。
以深度学习网络训练任务为例,
在所调度的计算节点上,将Docker镜像中包括的深度学习框架以容器的方式运行。
以深度学习网络训练任务为例,根据任务请求中的任务的网络配置,生成包括训练网络和测试网络在内的深度学习网络。
其中,训练网络是训练任务执行过程中所使用的深度学习网络结构,测试网络是在预测时所使用的深度学习网络结构。训练网络和测试网络的具体结构和相关参数,可以根据需求进行修改和定义。
在步骤S204的一种优选实现方式中,
完成部署后,进一步的,集群调度服务器可以根据任务请求中的训练信息,生成指示所调度的计算节点利用所运行的深度学习框架,对深度学习网络进行分布式训练的任务指令。
具体地,向所调度的计算节点发送任务指令,触发所调度的计算节点根据任务指令中任务的训练信息,从共享存储器中获取训练数据,对深度学习网络进行训练。
其中,各计算节点对深度学习网络进行训练包括:
各计算节点根据从Docker镜像中获得的深度学习框架,利用训练数据进行深度学习训练;
各计算节点将训练后的参数进行同步,更新深度学习网络,按新权重进行训练;
上述步骤依次迭代执行,直至训练最大迭代达到或者模型收敛。
在本实施例的一种优选实现方式中,
在任务执行过程中,用户可以通过集群调度服务器提供的前端页面,实时查看任务请求的执行进度;
优选的,集群调度服务器,周期性向所调度的计算节点发送任务状态查询请求;获取所调度的计算节点根据所述任务状态查询请求所查询到对所述任务请求的执行进度。集群调度服务器通过Web前端页面向用户提供所调度的计算节点对所述任务请求的执行进度。
优选的,所调度的计算节点定时将对所述任务请求的执行进度发送给集群调度服务器,由集群调度服务器通过Web前端页面向用户提供所调度的计算节点对所述任务请求的执行进度。
需要说明的是,对于前述的方法实施例,为了简单描述,故将其表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
图3为本发明所述基于Docker的集群管理装置的结构图,该装置可以设置于集群调度服务器,用以完成图2所述方法实施例中的操作。如图3所示,包括:
接收模块301,用于接收任务请求,所述任务请求包括Docker镜像索引;
调度模块302,用于根据所述任务请求调度计算节点;
部署模块303,用于根据所述Docker镜像索引,从镜像仓库拉取对应的Docker镜像到所调度的计算节点上;将Docker镜像中包括的基础组件部署到所调度的计算节点上;
执行模块304,触发所调度的计算节点利用所述基础组件执行所述任务请求。
在接收模块301的一种优选实现方式中,
用户确定所要采用的基础组件,获取所述基础组件对应的Docker镜像索引,向集群调度服务器发出任务请求。
接收模块301接收用户所发出的任务请求。
所述任务请求包括:Docker镜像索引、任务的配置信息、任务的数据信息等信息。
以深度学习网络训练任务为例,所述任务请求包括:Docker镜像索引、任务的网络配置以及任务的训练信息等信息。
优选的,所述任务的训练信息包括:训练数据在共享存储器中的存储路径、深度学习的训练参数。
针对存储路径,训练数据可以存储于共享存储器,如分布式文件系统(HDFS)上,因此用户可以提供训练数据在HDFS上的地址,并配置训练数据的文件名列表。
针对深度学习的训练参数,具体来说是指针对运行深度学习框架的计算节点的相关配置要求。例如:可以包括每个计算节点的线程数、更新间隔、是否进行热启动和/或是否自动调参中的至少一个。
在本实施例的一种优选实现方式中,为了加快Docker镜像的查找下载速度,采用分布式文件系统存储Docker镜像。Docker镜像被设计成分层(layer)的,同一个镜像的layers通过union mount的方式连接成一个完整的镜像;镜像数据实际就是镜像层的数据。
在调度模块302的一种优选实现方式中,
接收模块301接收到所述任务请求后,调度模块302根据所述任务请求中的Docker镜像索引,向Docker镜像仓库查询所述Docker镜像是否存在。
镜像仓库根据Docker镜像的索引查找是否存在所述调度模块202请求查询的镜像,如果不存在则返回无相应镜像标识;若存在则返回存在相应镜像标识。
如果调度模块302查询到所述Docker镜像,则
则根据预设策略调度计算节点,包括:随机调度、基于集群可用资源的调度或指定计算节点的调度。
如果集群的可用资源额度低于预设阈值,则无法满足所述任务请求,则使所述任务请求进入等待状态。
如果集群可用资源额度高于预设阈值,能够满足任务请求,则为所述任务请求调度计算节点。
在部署模块303的一种优选实现方式中,
部署模块303根据所述Docker镜像索引向镜像仓库请求下载Docker镜像到所调度的节点;优选地,部署模块303根据镜像仓库的IP地址和提供基础组件的端口号等参数,向镜像仓库请求下载Docker镜像到所调度的节点。
镜像仓库根据部署模块303的请求确定镜像层数据在分布式文件系统中的存储位置,并将获得的镜像元数据返回给所调度的计算节点;优选地,镜像仓库从分布式文件系统读取Docker镜像的manifest,其中manifest包含镜像所含所有层的哈希值。镜像仓库根据解析manifest得到的镜像包含的所有层的哈希值及各层之间的依赖关系,获取镜像层的存储目录位置,根据获取的所述存储目录位置读取出镜像层文件存储的目录、文件名、大小等元数据,之后将这些元数据传递给所调度的计算节点。
所调度的计算节点根据从镜像仓库接收到的元数据确定镜像数据的存储位置,并直接拉取镜像数据;优选地,计算节点将从镜像仓库接收到的镜像层的存储目录和文件名作为输入,通过一致性哈希算法计算哈希值,确定镜像层在分布式文件系统中的实际存储位置,读取镜像数据,通过哈希校验镜像数据完整性。
以深度学习网络训练任务为例,
在所调度的计算节点上,将Docker镜像中包括的深度学习框架以容器的方式运行。
以深度学习网络训练任务为例,根据任务请求中的任务的网络配置,生成包括训练网络和测试网络在内的深度学习网络。
其中,训练网络是训练任务执行过程中所使用的深度学习网络结构,测试网络是在预测时所使用的深度学习网络结构。训练网络和测试网络的具体结构和相关参数,可以根据需求进行修改和定义。
在执行模块304的一种优选实现方式中,
完成部署后,进一步的,执行模块304可以根据任务请求中的训练信息,生成指示所调度的计算节点利用所运行的深度学习框架,对深度学习网络进行分布式训练的任务指令。
具体地,向所调度的计算节点发送任务指令,触发所调度的计算节点根据任务指令中任务的训练信息,从共享存储器中获取训练数据,对深度学习网络进行训练。
其中,各计算节点对深度学习网络进行训练包括:
各计算节点根据Docker镜像对应的深度学习框架,利用训练数据进行深度学习训练;
各计算节点将训练后的参数进行同步,更新深度学习神经网络,按新权重进行训练;
上述步骤依次迭代执行,直至训练最大迭代达到或者模型收敛。
在本实施例的一种优选实现方式中,所述装置还包括监控模块,用于实时提供任务请求的执行进度。
优选的,监控模块周期性向所调度的计算节点发送任务状态查询请求;获取所调度的计算节点根据所述任务状态查询请求所查询到对所述任务请求的执行进度。监控模块通过Web前端页面向用户提供所调度的计算节点对所述任务请求的执行进度。
优选的,所调度的计算节点定时将对所述任务请求的执行进度发送给集群调度服务器,由监控模块通过Web前端页面向用户提供所调度的计算节点对所述任务请求的执行进度。
采用本发明所述方案,用户只需要提供Docker镜像索引,就可以使得被调度的计算节点能够从统一的镜像仓库中拉取Docker镜像以获取执行任务所需要的基础组件,而无需针对计算节点拷贝、安装基础组件的相关软件,也无需在每个计算节点创建虚拟机,因此相比较现有技术可以便捷地将诸如深度学习框架等基础组件部署到集群中每一个计算节点。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
图4示出了适于用来实现本发明实施方式的示例性计算机系统/服务器012的框图。图4显示的计算机系统/服务器012仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,计算机系统/服务器012以通用计算设备的形式表现。计算机系统/服务器012的组件可以包括但不限于:一个或者多个处理器或者处理单元016,系统存储器028,连接不同系统组件(包括系统存储器028和处理单元016)的总线018。
总线018表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器012典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器012访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器028可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)030和/或高速缓存存储器032。计算机系统/服务器012可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统034可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线018相连。存储器028可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块042的程序/实用工具040,可以存储在例如存储器028中,这样的程序模块042包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块042通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器012也可以与一个或多个外部设备014(例如键盘、指向设备、显示器024等)通信,在本发明中,计算机系统/服务器012与外部雷达设备进行通信,还可与一个或者多个使得用户能与该计算机系统/服务器012交互的设备通信,和/或与使得该计算机系统/服务器012能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口022进行。并且,计算机系统/服务器012还可以通过网络适配器020与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图4所示,网络适配器020通过总线018与计算机系统/服务器012的其它模块通信。应当明白,尽管图4中未示出,可以结合计算机系统/服务器012使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元016通过运行存储在系统存储器028中的程序,从而执行本发明所描述的实施例中的功能和/或方法。
上述的计算机程序可以设置于计算机存储介质中,即该计算机存储介质被编码有计算机程序,该程序在被一个或多个计算机执行时,使得一个或多个计算机执行本发明上述实施例中所示的方法流程和/或装置操作。
随着时间、技术的发展,介质含义越来越广泛,计算机程序的传播途径不再受限于有形介质,还可以直接从网络下载等。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网基础组件提供商来通过因特网连接)。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (12)

1.一种基于Docker的集群管理方法,其特征在于,包括:
接收任务请求,所述任务请求包括Docker镜像索引,所述Docker镜像索引用于指示Docker镜像在镜像仓库中的存储地址;
根据所述任务请求调度计算节点;
根据所述Docker镜像索引,从镜像仓库拉取对应的Docker镜像到所调度的计算节点上;将Docker镜像中包括的基础组件部署到所调度的计算节点上;
触发所调度的计算节点利用所述基础组件执行所述任务请求。
2.根据权利要求1所述的方法,其特征在于,
所述请求还包括:任务的配置信息、任务的数据信息。
3.根据权利要求1所述的方法,其特征在于,所述根据所述任务请求调度计算节点包括:
根据预设策略调度计算节点,包括:随机调度、基于集群可用资源额度的调度或指定计算节点的调度。
4.根据权利要求2所述的方法,其特征在于,所述触发所调度的计算节点利用所述基础组件执行所述任务请求还包括:
向所调度的计算节点发送包括任务的配置信息和所述任务的数据信息的任务指令,以使所调度的计算节点利用所述基础组件,根据任务指令进行集群运算。
5.根据权利要求1所述的方法,其特征在于,
所述Docker镜像包括的基础组件为用户所采用的深度学习框架。
6.一种基于Docker的集群管理装置,其特征在于,包括:
接收模块,用于接收任务请求,所述任务请求包括Docker镜像索引,所述Docker镜像索引用于指示Docker镜像在镜像仓库中的存储地址;
调度模块,用于根据所述任务请求调度计算节点;
部署模块,用于根据所述Docker镜像索引,从镜像仓库拉取对应的Docker镜像到所调度的计算节点上;将Docker镜像中包括的基础组件部署到所调度的计算节点上;
执行模块,用于触发所调度的计算节点利用所述基础组件执行所述任务请求。
7.根据权利要求6所述的装置,其特征在于,
所述请求还包括:任务的配置信息、任务的数据信息。
8.根据权利要求6所述的装置,其特征在于,所述调度模块具体用于:
根据预设策略调度计算节点,包括:随机调度、基于集群可用资源额度的调度或指定计算节点的调度。
9.根据权利要求7所述的装置,其特征在于,所述执行模块具体用于:
向所调度的计算节点发送包括任务的配置信息和所述任务的数据信息的任务指令,以使所调度的计算节点利用所述基础组件,根据任务指令进行集群运算。
10.根据权利要求6所述的装置,其特征在于,
所述Docker镜像包括的基础组件为用户所采用的深度学习框架。
11.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~5中任一项所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1~5中任一项所述的方法。
CN201710772532.0A 2017-08-31 2017-08-31 一种基于Docker的集群管理方法及装置 Active CN107733977B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710772532.0A CN107733977B (zh) 2017-08-31 2017-08-31 一种基于Docker的集群管理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710772532.0A CN107733977B (zh) 2017-08-31 2017-08-31 一种基于Docker的集群管理方法及装置

Publications (2)

Publication Number Publication Date
CN107733977A CN107733977A (zh) 2018-02-23
CN107733977B true CN107733977B (zh) 2020-11-03

Family

ID=61205600

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710772532.0A Active CN107733977B (zh) 2017-08-31 2017-08-31 一种基于Docker的集群管理方法及装置

Country Status (1)

Country Link
CN (1) CN107733977B (zh)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108920259B (zh) * 2018-03-30 2022-06-24 华为云计算技术有限公司 深度学习作业调度方法、系统和相关设备
CN110347397A (zh) * 2018-04-04 2019-10-18 武汉斗鱼网络科技有限公司 一种将caffe部署到移动终端的方法、装置及电子设备
CN109034386A (zh) * 2018-06-26 2018-12-18 中国科学院计算机网络信息中心 一种基于资源调度器的深度学习系统及其方法
CN108984179B (zh) * 2018-06-28 2022-08-02 奇安信科技集团股份有限公司 一种Linux下编译处理方法及装置
CN109144661A (zh) * 2018-07-05 2019-01-04 杭州电子科技大学 一种基于docker的深度学习管理方法
CN109189401A (zh) * 2018-07-06 2019-01-11 曙光信息产业(北京)有限公司 一种深度学习框架的部署方法以及系统
CN109086134A (zh) * 2018-07-19 2018-12-25 郑州云海信息技术有限公司 一种深度学习作业的运行方法和装置
CN109062663B (zh) * 2018-07-19 2020-07-17 北京百度网讯科技有限公司 镜像分发方法、装置及存储介质
CN108958892A (zh) * 2018-08-14 2018-12-07 郑州云海信息技术有限公司 一种创建用于深度学习作业的容器的方法和装置
CN110866605A (zh) * 2018-08-27 2020-03-06 北京京东尚科信息技术有限公司 数据模型训练方法、装置、电子设备及可读介质
CN109272116A (zh) * 2018-09-05 2019-01-25 郑州云海信息技术有限公司 一种深度学习的方法及装置
CN109302483B (zh) * 2018-10-17 2021-02-02 网宿科技股份有限公司 一种应用程序的管理方法及系统
CN111198745A (zh) * 2018-11-16 2020-05-26 北京京东尚科信息技术有限公司 容器创建的调度方法、装置、介质及电子设备
CN109688222B (zh) * 2018-12-26 2020-12-25 深圳市网心科技有限公司 共享计算资源的调度方法、共享计算系统、服务器及存储介质
CN111399806B (zh) * 2019-01-03 2023-09-01 百度在线网络技术(北京)有限公司 一种组件管理方法、装置、电子设备及存储介质
CN109508238A (zh) * 2019-01-05 2019-03-22 咪付(广西)网络技术有限公司 一种用于深度学习的资源管理系统及方法
CN109901910B (zh) * 2019-01-17 2021-12-07 珠海金山网络游戏科技有限公司 基于分布式容器的文件拉取或推送方法及装置
CN109934361B (zh) * 2019-02-25 2022-03-11 江苏电力信息技术有限公司 一种基于容器和大数据的自动化运维平台模型
CN110300192B (zh) * 2019-05-17 2021-09-14 深圳致星科技有限公司 一种根据ip分配表更新分布式训练任务连接参数的方法
CN110297670B (zh) * 2019-05-17 2023-06-27 深圳致星科技有限公司 一种提高容器云上分布式任务训练效率的方法及系统
CN110308986B (zh) * 2019-05-17 2023-06-20 深圳致星科技有限公司 基于优化调度的容器云上分布式训练数据通信的方法
CN110245003A (zh) * 2019-06-06 2019-09-17 中信银行股份有限公司 一种机器学习单机算法编排系统及方法
CN112148419B (zh) * 2019-06-28 2024-01-02 杭州海康威视数字技术股份有限公司 云平台中镜像管理方法、装置、系统及存储介质
US11003501B2 (en) 2019-07-03 2021-05-11 Advanced New Technologies Co., Ltd. Loading models on nodes having multiple model service frameworks
CN110401700B (zh) * 2019-07-03 2020-10-16 阿里巴巴集团控股有限公司 模型加载方法及系统、控制节点及执行节点
CN110602253B (zh) * 2019-09-30 2022-04-26 新华三大数据技术有限公司 一种任务调度方法、装置及系统
CN112825044B (zh) * 2019-11-21 2023-06-13 杭州海康威视数字技术股份有限公司 任务执行方法、装置及计算机存储介质
CN111212107B (zh) * 2019-12-10 2022-05-13 中移(杭州)信息技术有限公司 用于cdn平台的业务处理方法及cdn系统
CN111338758A (zh) * 2020-02-24 2020-06-26 华云数据(厦门)网络有限公司 资源管理方法、装置和电子设备
WO2021232289A1 (zh) * 2020-05-20 2021-11-25 深圳市欢太科技有限公司 镜像拉取方法及相关产品
CN111338784B (zh) * 2020-05-25 2020-12-22 南栖仙策(南京)科技有限公司 一种实现代码仓库与计算服务整合的方法及系统
CN111753997B (zh) * 2020-06-28 2021-08-27 北京百度网讯科技有限公司 分布式训练方法、系统、设备及存储介质
CN111897550B (zh) * 2020-07-30 2024-04-12 哈尔滨海能达科技有限公司 镜像预加载方法、设备及存储介质
CN112085019A (zh) * 2020-08-31 2020-12-15 深圳思谋信息科技有限公司 字符识别模型生成系统、方法、装置和计算机设备
CN112068847B (zh) * 2020-09-07 2022-05-13 海南大学 基于kubernets平台的计算环境部署方法及装置
CN112084391B (zh) * 2020-09-08 2024-02-09 中国平安人寿保险股份有限公司 依赖包信息的获取方法、装置、设备及计算机介质
CN111930473B (zh) * 2020-09-25 2021-01-01 亮风台(上海)信息科技有限公司 在容器云上部署图像识别服务的方法与设备
WO2022134001A1 (zh) * 2020-12-25 2022-06-30 深圳晶泰科技有限公司 基于容器化技术的机器学习模型框架的开发方法与系统
CN112700004A (zh) * 2020-12-25 2021-04-23 南方电网深圳数字电网研究院有限公司 基于容器技术的深度学习模型训练方法、设备及存储介质
CN112748879B (zh) * 2020-12-30 2023-03-10 中科曙光国际信息产业有限公司 数据获取方法、系统、装置、计算机设备和存储介质
CN112799588B (zh) * 2020-12-31 2022-10-21 深圳软通动力信息技术有限公司 使用外部存储加载容器集群应用数据时的数据存储方法
CN113190238A (zh) * 2021-03-26 2021-07-30 曙光信息产业(北京)有限公司 框架的部署方法、装置、计算机设备和存储介质
CN113241056B (zh) * 2021-04-26 2024-03-15 标贝(青岛)科技有限公司 语音合成模型的训练与语音合成方法、装置、系统及介质
CN114816669A (zh) * 2022-04-29 2022-07-29 北京百度网讯科技有限公司 模型的分布式训练方法和数据处理方法
CN115543538A (zh) * 2022-10-13 2022-12-30 南京邮电大学 一种面向物联网的机器学习容器镜像下载系统及其方法
CN117075930B (zh) * 2023-10-17 2024-01-26 之江实验室 一种计算框架管理系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105187500A (zh) * 2015-08-07 2015-12-23 浪潮(北京)电子信息产业有限公司 一种基于容器的分布式存储系统部署方法
CN105357296A (zh) * 2015-10-30 2016-02-24 河海大学 一种Docker云平台下弹性缓存系统
CN105630488A (zh) * 2015-12-18 2016-06-01 上海爱数信息技术股份有限公司 一种基于docker容器技术的持续集成实现方法
US9594601B2 (en) * 2014-03-14 2017-03-14 Cask Data, Inc. Planner for cluster management system
CN106529682A (zh) * 2016-10-28 2017-03-22 北京奇虎科技有限公司 一种在大数据集群中处理深度学习任务的方法和装置
CN106529673A (zh) * 2016-11-17 2017-03-22 北京百度网讯科技有限公司 基于人工智能的深度学习网络训练方法及装置
CN106790483A (zh) * 2016-12-13 2017-05-31 武汉邮电科学研究院 基于容器技术的Hadoop集群系统及快速构建方法
CN106850621A (zh) * 2017-02-07 2017-06-13 南京云创大数据科技股份有限公司 一种基于容器云技术快速搭建Hadoop集群的方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9594601B2 (en) * 2014-03-14 2017-03-14 Cask Data, Inc. Planner for cluster management system
CN105187500A (zh) * 2015-08-07 2015-12-23 浪潮(北京)电子信息产业有限公司 一种基于容器的分布式存储系统部署方法
CN105357296A (zh) * 2015-10-30 2016-02-24 河海大学 一种Docker云平台下弹性缓存系统
CN105630488A (zh) * 2015-12-18 2016-06-01 上海爱数信息技术股份有限公司 一种基于docker容器技术的持续集成实现方法
CN106529682A (zh) * 2016-10-28 2017-03-22 北京奇虎科技有限公司 一种在大数据集群中处理深度学习任务的方法和装置
CN106529673A (zh) * 2016-11-17 2017-03-22 北京百度网讯科技有限公司 基于人工智能的深度学习网络训练方法及装置
CN106790483A (zh) * 2016-12-13 2017-05-31 武汉邮电科学研究院 基于容器技术的Hadoop集群系统及快速构建方法
CN106850621A (zh) * 2017-02-07 2017-06-13 南京云创大数据科技股份有限公司 一种基于容器云技术快速搭建Hadoop集群的方法

Also Published As

Publication number Publication date
CN107733977A (zh) 2018-02-23

Similar Documents

Publication Publication Date Title
CN107733977B (zh) 一种基于Docker的集群管理方法及装置
US10922118B2 (en) Distributed container image repository service
US10089135B2 (en) Expediting the provisioning of virtual machines based on cached repeated portions of a template
US10635406B2 (en) Determining the identity of software in software containers
CN107678752B (zh) 一种面向异构集群的任务处理方法及装置
US20130091285A1 (en) Discovery-based identification and migration of easily cloudifiable applications
US11055180B2 (en) Backup management of software environments in a distributed network environment
US20200034196A1 (en) Optimizing simultaneous startup or modification of inter-dependent machines with specified priorities
US10643150B2 (en) Parameter version vectors used for deterministic replay of distributed execution of workload computations
US11061739B2 (en) Dynamic infrastructure management and processing
CN112328301B (zh) 维护运行环境一致性的方法、装置、存储介质及电子设备
JP7486575B2 (ja) コンテナに対する外部操作とミューテーション・イベントとの対応関係
WO2022100439A1 (en) Workflow patching
JP6385471B2 (ja) 移行および遠隔ランタイム統合
US20210312324A1 (en) Systems and methods for integration of human feedback into machine learning based network management tool
WO2023056793A1 (en) Optimizing a just-in-time compilation process
Kalnauz et al. Productivity estimation of serverless computing
US11164088B2 (en) Interactive feedback and assessment experience
WO2022206295A1 (en) Program context migration
US11847611B2 (en) Orchestrating and automating product deployment flow and lifecycle management
Wang et al. Reg: An ultra-lightweight container that maximizes memory sharing and minimizes the runtime environment
US11789774B2 (en) Optimization of workload scheduling in a distributed shared resource environment
US20190130776A1 (en) Interactive Learning Experience
CN116134423A (zh) 容器化软件发现和识别
US10976929B2 (en) Cognitively managed storage volumes for container environments

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