CN108304250A - 用于确定运行机器学习任务的节点的方法和装置 - Google Patents

用于确定运行机器学习任务的节点的方法和装置 Download PDF

Info

Publication number
CN108304250A
CN108304250A CN201810179213.3A CN201810179213A CN108304250A CN 108304250 A CN108304250 A CN 108304250A CN 201810179213 A CN201810179213 A CN 201810179213A CN 108304250 A CN108304250 A CN 108304250A
Authority
CN
China
Prior art keywords
node
unit
nodes
information
workload
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.)
Pending
Application number
CN201810179213.3A
Other languages
English (en)
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 CN201810179213.3A priority Critical patent/CN108304250A/zh
Publication of CN108304250A publication Critical patent/CN108304250A/zh
Pending legal-status Critical Current

Links

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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload 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)

Abstract

本申请实施例公开了一种用于确定运行机器学习任务的节点的方法和装置。方法包括:响应于接收用户提交的机器学习任务,获取服务器集群中所有节点的集合;从所有节点的集合中,确定符合机器学习任务的资源需求的候选节点的集合;从候选节点的集合中,以轮询方式为机器学习任务的工作负载单元的多个副本确定运行节点,其中,工作负载单元包括一个或多个容器。该方法能够尽可能地将机器学习任务的各个副本调度在不同的物理节点上,以降低物理节点故障对运行机器学习任务的影响。

Description

用于确定运行机器学习任务的节点的方法和装置
技术领域
本申请涉及计算机技术领域,具体涉及计算机网络技术领域,尤其涉及用于确定运行机器学习任务的节点的方法和装置。
背景技术
目前深度学习平台基于虚拟机技术实现,用户提交机器学习任务后,会被调度到虚拟机上执行。虚拟机是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,在该系统上可以运行所需应用。一个物理机上可以运行多个虚拟机,这些虚拟机共享物理机的资源而又保持着相互隔离性。
深度学习平台是面向多用户的系统,为了保证隔离性,不同用户在提交任务时会被分配不同的虚拟机,即使是同一用户,当用户想要运行多个机器学习任务且不希望这些任务相互影响时,也会选择购买多个虚拟机来实现。由于需要模拟完整的硬件系统和操作系统内核,虚拟机的启动开销不容忽视,一般在分钟级别,当虚拟机宕机时,一般通过重启一台虚拟机来进行恢复,因此虚拟机的启动开销直接影响了平台的可用性。
发明内容
本申请实施例提出一种用于确定运行机器学习任务的节点的方法和装置。
第一方面,本申请实施例提供了一种用于确定运行机器学习任务的节点的方法,包括:响应于接收用户提交的机器学习任务,获取服务器集群中所有节点的集合;从所有节点的集合中,确定符合机器学习任务的资源需求的候选节点的集合;从候选节点的集合中,以轮询方式为机器学习任务的工作负载单元的多个副本确定运行节点,其中,工作负载单元包括一个或多个容器。
在一些实施例中,方法还包括:响应于对各个工作负载单元的监控信息指示被监控的工作负载单元发生故障,从所有节点的集合中,过滤掉与发生故障的工作负载单元运行同一机器学习任务的工作负载单元副本所在的运行节点;从过滤后的节点的集合中,以轮询方式为发生故障的工作负载单元确定运行节点。
在一些实施例中,方法还包括:间隔预定时间,遍历所有节点的集合,并在访问每一个节点时执行检测步骤;检测步骤包括:获取当前节点中所运行的所有工作负载单元的信息;从所有工作负载单元的信息中,确定不符合健康条件的待调度工作负载单元的信息;将待调度工作负载单元的信息按照资源占用率从大到小排序;根据排序后的待调度工作负载单元的排序顺序,依次将排序第一的待调度工作负载单元调度至除当前节点之外的其它节点上,直至调度后的当前节点的资源占用率恢复至预定资源占用率之下。
在一些实施例中,从所有工作负载单元的信息中,确定不符合健康条件的待调度工作负载单元的信息包括:从所有工作负载单元的信息中,过滤符合保留条件的工作负载单元的信息;从过滤后的工作负载单元的信息中,确定不符合健康条件的待调度工作负载单元的信息。
在一些实施例中,从所有工作负载单元的信息中,过滤符合保留条件的工作负载单元的信息包括:查询在除被检测的节点之外的其它节点上无副本的孤本工作负载单元的信息,过滤孤本工作负载单元;和/或过滤启动时间超过预定阈值的工作负载单元的信息,得到待调度工作负载单元的信息。
在一些实施例中,将排序第一的待调度工作负载单元调度至除当前节点之外的其它节点上,直至调度后的当前节点的资源占用率恢复至预定资源占用率之下包括:根据资源占用率从小到大,排序除当前节点外的其它节点,得到排序后的接收节点,并将排序第一的待调度工作负载单元调度至排序第一的接收节点上,直至调度后当前节点的资源占用率恢复至预定资源占用率之下;或将待调度工作负载单元调度至除当前节点外的其它节点中资源占用率小于预设资源占用率的节点上,直至调度后当前节点的资源占用率恢复至预定资源占用率之下。
第二方面,本申请实施例提供了一种用于确定运行机器学习任务的节点的装置,包括:所有节点获取单元,用于响应于接收用户提交的机器学习任务,获取服务器集群中所有节点的集合;候选节点确定单元,用于从所有节点的集合中,确定符合机器学习任务的资源需求的候选节点的集合;运行节点确定单元,用于从候选节点的集合中,以轮询方式为机器学习任务的工作负载单元的多个副本确定运行节点,其中,工作负载单元包括一个或多个容器。
在一些实施例中,装置还包括:任务节点过滤单元,用于响应于对各个工作负载单元的监控信息指示被监控的工作负载单元发生故障,从所有节点的集合中,过滤掉与发生故障的工作负载单元运行同一机器学习任务的工作负载单元副本所在的运行节点;过滤节点重启单元,用于从过滤后的节点的集合中,以轮询方式为发生故障的工作负载单元确定运行节点。
在一些实施例中,装置还包括:节点健康检测单元,用于间隔预定时间,遍历所有节点的集合,并在访问每一个节点时执行检测步骤;检测步骤包括:获取当前节点中所运行的所有工作负载单元的信息;从所有工作负载单元的信息中,确定不符合健康条件的待调度工作负载单元的信息;将待调度工作负载单元的信息按照资源占用率从大到小排序;根据排序后的待调度工作负载单元的排序顺序,依次将排序第一的待调度工作负载单元调度至除当前节点之外的其它节点上,直至调度后的当前节点的资源占用率恢复至预定资源占用率之下。
在一些实施例中,节点健康检测单元采用以下单元执行从所有工作负载单元的信息中,确定不符合健康条件的待调度工作负载单元的信息的步骤:负载单元过滤单元,用于从所有工作负载单元的信息中,过滤符合保留条件的工作负载单元的信息;待调度负载单元确定单元,用于从过滤后的工作负载单元的信息中,确定不符合健康条件的待调度工作负载单元的信息。
在一些实施例中,待调度负载单元确定单元进一步用于:查询在除被检测的节点之外的其它节点上无副本的孤本工作负载单元的信息,过滤孤本工作负载单元;和/或过滤启动时间超过预定阈值的工作负载单元的信息,得到待调度工作负载单元的信息。
在一些实施例中,节点健康检测单元中的将排序第一的待调度工作负载单元调度至除当前节点之外的其它节点上,直至调度后的当前节点的资源占用率恢复至预定资源占用率之下包括:根据资源占用率从小到大,排序除当前节点外的其它节点,得到排序后的接收节点,并将排序第一的待调度工作负载单元调度至排序第一的接收节点上,直至调度后当前节点的资源占用率恢复至预定资源占用率之下;或将待调度工作负载单元调度至除当前节点外的其它节点中资源占用率小于预设资源占用率的节点上,直至调度后当前节点的资源占用率恢复至预定资源占用率之下。
第三方面,本申请实施例提供了一种设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上任一的一种用于确定运行机器学习任务的节点的方法。
第四方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上任一的一种用于确定运行机器学习任务的节点的方法。
本申请实施例提供的用于确定运行机器学习任务的节点的方法和装置,首先响应于接收用户提交的机器学习任务,获取服务器集群中所有节点的集合;之后,从所有节点的集合中,确定符合机器学习任务的资源需求的候选节点的集合;最后,从候选节点的集合中,以轮询方式为机器学习任务的工作负载单元的多个副本确定运行节点,其中,工作负载单元包括一个或多个容器。在这一过程中,可以在已有的机器学习任务备份机制的基础上优化机器学习任务的副本调度,尽可能地将机器学习任务的各个副本调度在不同的物理节点上,以降低物理节点故障对运行机器学习任务的影响。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出了本申请实施例可以应用于其中的示例性系统架构;
图2是根据本申请实施例的用于确定运行机器学习任务的节点的方法的一个实施例的示意性流程图;
图3是根据本申请实施例的用于确定运行机器学习任务的节点的方法的又一个实施例的示意性流程图;
图4是根据本申请实施例的用于确定运行机器学习任务的节点的方法的实施例的示例性应用场景;
图5是根据本申请实施例的用于确定运行机器学习任务的节点的装置的一个实施例的示例性结构图;
图6是适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
请参考图1,图1示出了可以应用本申请的用于确定运行机器学习任务的节点的方法或用于确定运行机器学习任务的节点的装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105、106。网络104用以在终端设备101、102、103和服务器105、106之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户110可以使用终端设备101、102、103通过网络104与服务器105、106交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如搜索引擎类应用、购物类应用、即时通信工具、邮箱客户端、社交平台软件、视频播放类应用等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105、106可以是提供各种服务的服务器,其上可以运行容器集群管理系统,容器集群管理系统的工作负载单元中可以运行机器学习任务。例如服务器105、106可以是对终端设备101、102、103提供支持的后台服务器。后台服务器上的容器集群管理系统中的机器学习任务可以对终端提交的数据进行分析、存储或计算等处理,并将采用机器学习任务获得的数据处理结果推送给终端设备。
通常情况下,本申请实施例所提供的用于确定运行机器学习任务的节点的方法一般由运行于服务器105、106上的容器集群管理系统执行,相应地,用于确定运行机器学习任务的节点的装置一般设置于运行于服务器105、106中的容器集群管理系统中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
进一步参考图2,图2示出了根据本申请实施例的用于确定运行机器学习任务的节点的方法的一个实施例的示意性流程图。
如图2所示,用于确定运行机器学习任务的节点的方法200包括:
在步骤210中,响应于接收用户提交的机器学习任务,获取服务器集群中所有节点的集合。
在本实施例中,用于确定运行机器学习任务的节点的方法的执行主体(例如图1所示的服务器105、106)可以接收从终端设备(例如图1中所示的终端设备101、102、103)提交的机器学习(Machine Learning,ML)任务。机器学习任务,是用于研究计算机怎样模拟或实现人类的学习行为的任务,可以获取新的知识或技能,并重新组织已有的知识结构,使之不断改善自身的性能。以机器学习中的深度学习为例,深度学习是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。深度学习基于历史数据训练出模型,用以指导未来的行为。
如背景技术中所述,虚拟机技术虽然可以节省物理机资源,但其启动开销制约了机器学习平台的可用性。另一方面,容器技术高速发展,是可以对应用及其整个运行时环境(包括全部所需文件)一起进行打包或隔离的技术,使得应用可以在不同环境(如开发、测试和生产等环境)之间轻松迁移,同时保留应用的全部功能。相比于传统虚拟机,容器更为轻便,它提供了应用级别的隔离而非整个系统的隔离,不需要模拟硬件环境及操作系统,因而启动速度非常快,在数毫秒之内,另外,容器会直接访问宿主机的硬件资源和操作系统资源,不需要经过虚拟化,因此在性能开销及资源利用率方面也优于传统虚拟机技术。因而,可以采用容器集群管理系统来管理用于运行容器的工作负载单元。
在这里,可以基于容器集群管理系统,向用户提供高可用的机器学习平台。这一提供机器学习任务运行环境的平台,集成一个或者多个机器学习框架,提供多种模型和算法库,用户无须安装即可使用,同时,不必为运行时环境的运维管理耗费时间和精力,只需专注于模型训练和评估,从而更高效地产出更好更优的模型。
示例性地,可以采用Kubernetes作为容器集群管理系统,阐述用于确定运行机器学习任务的节点的方法。在这里,Kubernetes是Google开源的容器集群管理系统,用于自动部署、扩展和管理容器化应用程序的开源系统,旨在提供跨主机集群的自动部署、扩展以及运行应用程序容器的平台。用户提交的机器学习任务这一应用程序会被调度到Kubernetes的工作负载单元(Pod)中执行,Pod包含一个或多个容器,是Kubernetes的基本操作单元。
这里的服务器集群中所有节点,是指服务器集群中运行容器集群管理系统中的工作负载单元的物理节点。
在步骤220中,从所有节点的集合中,确定符合机器学习任务的资源需求的候选节点的集合。
在本实施例中,对于新提交的机器学习任务,在选择候选节点时,可以获取该机器学习任务的资源需求,并从所有节点的集合中,选择空闲资源符合资源需求的节点作为候选节点,以得到候选节点的集合。
在步骤230中,从候选节点的集合中,以轮询方式为机器学习任务的工作负载单元的多个副本确定运行节点。
在本实施例中,为了保证可用性,容器集群管理系统为机器学习任务提供了副本机制,确保任何时候集群中都有指定数据的工作负载单元副本在运行该机器学习任务,副本的数量由用户指定。为了避免运行节点故障导致应用的所有副本不可用,可以尽可能的使副本分布在不同的运行节点上。为此,可以采用轮询(Polling)方式为机器学习任务的工作负载单元确定运行节点。
轮询,又称“程控输出入”(Programmed I/O)。轮询法的概念是依序询问每一个候选节点是否可以分配机器学习任务的工作负载单元,响应于当前询问的候选节点可以分配,将工作负载单元的副本分配至该候选节点,并依次询问其它候选节点是否可以分配机器学习任务的工作负载单元副本,接着不断周而复始,直至将同一机器学习任务的工作负载单元分配完毕。
可选地,在步骤240中,响应于对各个工作负载单元的监控信息指示被监控的工作负载单元发生故障,从所有节点的集合中,过滤掉与发生故障的工作负载单元运行同一机器学习任务的工作负载单元副本所在的运行节点。
在本实施例中,当任意一个工作负载单元副本出现故障时,容器集群管理系统会在集群中重启一个工作负载单元副本。在重启工作负载单元副本时,为了避免单个物理节点的宕机导致某一机器学习任务全部失败,应当避免重启的工作负载单元副本与故障的工作负载单元所运行的机器学习任务的其它工作负载单元副本位于同一运行节点,为此,可以过滤掉与发生故障的工作负载单元运行同一机器学习任务的工作负载单元副本所在的运行节点,得到过滤后的节点的集合。
可选地,在步骤250中,从过滤后的节点的集合中,以轮询方式为发生故障的工作负载单元确定运行节点。
在本实施例中,可以从过滤后的节点的集合中,以轮询方式为发生故障的工作负载单元确定运行节点,使得同一机器学习任务的工作负载单元副本分别运行于不同的运行节点,从而避免由于单个物理节点的宕机导致某一机器学习任务全部失败。
本申请上述实施例提供的用于确定运行机器学习任务的节点的方法,将运行同一机器学习任务的工作负载单元的各个副本分配至不同的运行节点,使得工作负载单元副本对应的机器学习任务在其他节点上也有副本,副本机制降低了物理节点故障的影响,当一个副本失败时,也能够依赖其他副本来执行机器学习任务,防止因为此工作负载单元副本的调度造成平台的不可用,降低了机器学习任务失败的可能性和故障发生率,进一步提高可用性。在部分可选的实施例中,还可以通过将重启的工作负载单元副本设置于过滤后的节点中,来避免由于单个物理节点的宕机导致某一机器学习任务全部失败。
进一步地,请参考图3,图3示出了根据本申请实施例的用于确定运行机器学习任务的节点的方法的又一个实施例的示意性流程图。
如图3所示,在图2中所示的用于确定运行机器学习任务的节点的方法200的基础上,用于确定运行机器学习任务的节点的方法还可以包括如图300中所示的步骤310至步骤350。
在步骤310中,间隔预定时间,遍历所有节点的集合,并在访问每一个节点时,获取当前节点中所运行的所有工作负载单元的信息。
在本实施例中,容器集群管理系统支持应用自定义健康检查,容器集群管理系统会周期性地对工作负载单元执行健康检查,若健康检查未通过,则停掉该工作负载单元副本,并重启一个工作负载单元副本来代替。进一步地,在用户自定义健康检查的基础上,还可以提出节点维度的健康检查,并将节点维度的健康检查作为一个常驻任务,周期性检查集群中所有节点的资源使用情况,当某个节点资源使用情况超过阈值时,选择一些Pod工作负载单元副本将其调度到资源利用率较低的节点上。在这里,节点的资源使用情况所适用的资源类型,默认有CPU、内存和磁盘,允许扩展;节点的资源阈值,存在于数据库中,可配置,通过API Server向外开放配置接口,深度学习平台管理人员可调用。
在步骤320中,从所有工作负载单元的信息中,确定不符合健康条件的待调度工作负载单元的信息。
在本实施例中,不符合健康条件的待调度工作负载单元指示该待调度工作负载单元的健康检查未通过,那么需要停掉该健康检查未通过的待调度工作负载单元,并在其它运行节点重启该健康检查未通过的待调度工作负载单元。
这里的健康条件,可以由提交机器学习任务的用户和/或平台的服务方来定义。用户在自定义健康条件时,其定义的健康条件与自己的机器学习任务息息相关,例如在指定时间内完成的迭代次数。对于一个特定的机器学习任务来说,用户无疑是最了解此任务的人,其定义的健康检查方法相对而言也比较有效。然而,作为平台的服务方,可以综合考虑集群中所有任务的状态以及资源的使用情况,以保证集群在正常状态下运行,例如,当某个节点CPU使用率过高时,需要停掉其上的部分工作负载单元以缓解此节点的压力。
在本实施例的一些可选实现方式中,从所有工作负载单元的信息中,确定不符合健康条件的待调度工作负载单元的信息可以包括:从所有工作负载单元的信息中,过滤符合保留条件的工作负载单元的信息;从过滤后的工作负载单元的信息中,确定不符合健康条件的待调度工作负载单元的信息。
在本实现方式中,保留条件同样可以由提交机器学习任务的用户和/或平台的服务方来定义。用户在自定义保留条件时,其定义的保留条件与自己的机器学习任务息息相关,例如工作负载单元副本启动时间在一定范围内,避免重新调度运行时间较长的副本。对于一个特定的机器学习任务来说,用户无疑是最了解此任务的人,其定义的保留条件相对而言也比较有效。然而,作为平台的服务方,可以综合考虑集群中所有任务的状态以及资源的使用情况,以保证集群在正常状态下运行,例如,工作负载单元副本对应的应用在其他节点上也有副本,防止因为此Pod工作负载单元副本的调度造成平台的不可用。
在本实施例的一些可选实现方式中,从所有工作负载单元的信息中,过滤符合保留条件的工作负载单元的信息可以包括:查询在除被检测的节点之外的其它节点上无副本的孤本工作负载单元的信息,过滤孤本工作负载单元;和/或过滤启动时间超过预定阈值的工作负载单元的信息,得到待调度工作负载单元的信息。
在本实现方式中,通过过滤符合保留条件的工作负载单元,可以提高工作负载单元的重启效率。
在步骤330中,将待调度工作负载单元的信息按照资源占用率从大到小排序。
在本实施例中,为了在合适的运行节点重启待调度工作负载单元,可以优先考虑将资源占用率大的待调度工作负载单元调度至其它运行节点,因此,可以将待调度工作负载单元的信息按照资源占用率从大到小排序。
在步骤340中,根据排序后的待调度工作负载单元的排序顺序,将排序第一的待调度工作负载单元调度至除当前节点之外的其它节点上。
在本实施例中,根据排序后的待调度工作负载单元的排序顺序,将排序第一的待调度工作负载单元调度至除当前节点之外的其它节点上,可以尽快的将调度后的当前节点的资源占用率恢复至预定资源占用率之下。
在本实施例的一些可选实现方式中,将排序第一的待调度工作负载单元调度至除当前节点之外的其它节点上可以包括:根据资源占用率从小到大,排序除当前节点外的其它节点,得到排序后的接收节点,并将排序第一的待调度工作负载单元调度至排序第一的接收节点上;或将待调度工作负载单元调度至除当前节点外的其它节点中资源占用率小于预设资源占用率的节点上。
在本实现方式中,采用两种不同的方式将排序第一的待调度工作负载单元调度至除当前节点外的其它节点,可以提高调度效率和调度的合理性。
在步骤350中,判断调度后的当前节点的资源占用率是否恢复至预定资源占用率之下,若是,则执行步骤360,若否,则跳转至步骤340。
在本实施例中,通过判断调度后的当前节点的资源占用率是否恢复至预定资源占用率之下,并根据判断结果确定是否继续调度排序第一的待调度工作负载单元,可以确保当前节点的资源占用率恢复至预定资源率之下,调度后的当前节点的压力适当,安全运行。
在步骤360中,结束访问当前节点,将下一个节点作为新的当前节点进行访问。
在本实施例中,在遍历所有节点的集合访问每一个节点时,可以将被访问的节点作为当前节点。
本申请上述实施例提供的用于确定运行机器学习任务的节点的方法,采用节点维度的健康检查机制,能够更全面的识别出异常状态,减少了工作在非预期状态下的工作负载单元副本和节点的数量,从而保证副本的质量,进一步提高可用性。
进一步地,请参考图4,图4示出了根据本申请实施例的用于确定运行机器学习任务的节点的方法的示例性应用场景。
如图4所示,基于Kubernetes的高可用深度学习平台通过Kubernetes将容器技术应用于深度学习平台,以解决传统虚机技术带来的问题,同时,优化Kubernets的副本机制和健康检查进一步提高可用性:一方面,在已有备份机制的基础上优化副本调度,尽可能地将任务的各个副本调度在不同的物理节点上,以降低物理节点故障的影响;另一方面,增加节点维度的健康检查,相比于Kubernetes提供的各应用程序独立的健康检查,能够更全面地识别出异常状态,并快速修复。
Kubernetes的系统架构如图4所示,遵从主从架构,分为Kubernetes Master节点410和Kubernetes Node节点420。
Kubernetes Master节点410是控制节点,主要有四个组件:API服务器(APIServer)411、调度器(Scheduler)412、控制器管理(Controller Manager)413和Etcd数据库414。
其中,API Server 411:接受用户430请求,执行相应操作,例如提交作业,更改配置等;Scheduler412:为应用Pod工作负载单元(Kubernetes的工作负载单元)选择运行的节点;Controller Manager 413:管理多种控制器,每个控制器管理相应的资源,例如Replication Controller负责保证同一应用有一定数目的Pod工作负载单元副本在执行;Etcd数据库414:键-值分布式数据库,用于存储集群状态,其他组件可以监听Etcd中的变化并执行相应的操作。
Kubernetes Node节点420是工作节点,负责Pod工作负载单元的执行,有三个主要组件:工作进程(Kubelet)421、访问代理(Kube-Proxy)422和资源监控(cAdvisor)423。
其中,Kubelet421负责容器生命周期管理,根据从数据库中获取的信息来管理容器,并上报Pod工作负载单元运行状态等;Kube-Proxy422将使用者440访问某个服务的请求具体分配给工作节点上的Pod工作负载单元;cAdvisor423监控和收集节点的资源使用情况,监控信息可导入到外部存储。
在Kubernetes系统中,用户430通过向API Server提交深度学习任务,Kubernetes将为此应用分配Pod工作负载单元副本,由Kubelet在Node上启动Pod工作负载单元以执行作业。
为了避免单Kubernetes Node故障导致应用的所有副本不可用,可以尽可能地使副本分布在不同的Kubernetes Node上,这一原则需要用在初始分配Pod工作负载单元(包括多个工作负载单元副本)和Pod工作负载单元副本(故障发生或者健康检查未通过)被替换时。因此本申请实施例提出一种自定义的调度器Scheduler用于满足这个原则,在满足资源需求的同时感知物理节点的分布,调度方案如下:
响应于接收用户430提交的机器学习任务,获取服务器集群中所有节点的集合;从所有节点的集合中,确定符合机器学习任务的资源需求的候选节点的集合;从候选节点的集合中,以轮询方式为机器学习任务的工作负载单元的多个副本确定运行节点,其中,工作负载单元包括一个或多个容器。响应于对各个工作负载单元的监控信息指示被监控的工作负载单元发生故障,从所有节点的集合中,过滤掉与发生故障的工作负载单元运行同一机器学习任务的工作负载单元副本所在的运行节点;从过滤后的节点的集合中,以轮询方式为发生故障的工作负载单元确定运行节点。以及间隔预定时间,遍历所有节点的集合,并在访问每一个节点时执行检测步骤;检测步骤包括:获取当前节点中所运行的所有工作负载单元的信息;从所有工作负载单元的信息中,确定不符合健康条件的待调度工作负载单元的信息;将待调度工作负载单元的信息按照资源占用率从大到小排序;根据排序后的待调度工作负载单元的排序顺序,依次将排序第一的待调度工作负载单元调度至除当前节点之外的其它节点上,直至调度后的当前节点的资源占用率恢复至预定资源占用率之下。
在这里,Kubernetes会停掉未通过健康检查的Pod工作负载单元副本,并通过调度器Scheduler重新分配一个,以此来保证副本的质量。本申请实施例在用户自定义健康检查的基础上提出节点维度的健康检查,将作为一个常驻任务,周期性检查集群中所有节点的资源使用情况,当某个节点资源使用超过阈值时,选择一些Pod工作负载单元副本将其调度到资源利用率较低的节点上。这一方案有三个实现要点:
(1)健康检查适用的资源类型,默认有CPU、内存和磁盘,允许扩展;
(2)资源阈值,存在数据库中,可配置,通过API Server向外开放配置接口,仅深度学习平台管理人员可调用;
(3)超出资源阈值时选择哪些Pod工作负载单元副本重新调度。重新调度的Pod工作负载单元副本需要满足两个基本条件:第一,Pod工作负载单元副本对应的应用在其他节点上也有副本,防止因为此Pod工作负载单元副本的调度造成平台的不可用;第二,Pod工作负载单元副本启动时间在一定范围内,避免重新调度运行时间较长的副本。在满足条件的Pod工作负载单元的副本中优先选择资源占用率高的副本重新调度。
应当理解,上述图4中所示出的用于确定运行机器学习任务的节点的方法,仅为用于确定运行机器学习任务的节点的方法的示例性应用场景,并不代表对本申请的限定。
进一步参考图5,作为对上述方法的实现,本申请实施例提供了一种用于确定运行机器学习任务的节点的装置的一个实施例,该用于确定运行机器学习任务的节点的装置的实施例与图1至图4所示的用于确定运行机器学习任务的节点的方法的实施例相对应,由此,上文针对图1至图4中用于确定运行机器学习任务的节点的方法描述的操作和特征同样适用于用于确定运行机器学习任务的节点的装置500及其中包含的单元,在此不再赘述。
如图5所示,该用于确定运行机器学习任务的节点的装置500可以包括:所有节点获取单元510,用于响应于接收用户提交的机器学习任务,获取服务器集群中所有节点的集合;候选节点确定单元520,用于从所有节点的集合中,确定符合机器学习任务的资源需求的候选节点的集合;运行节点确定单元530,用于从候选节点的集合中,以轮询方式为机器学习任务的工作负载单元的多个副本确定运行节点,其中,工作负载单元包括一个或多个容器。
在本实施例的一些可选实现方式中,装置还包括:任务节点过滤单元540,用于响应于对各个工作负载单元的监控信息指示被监控的工作负载单元发生故障,从所有节点的集合中,过滤掉与发生故障的工作负载单元运行同一机器学习任务的工作负载单元副本所在的运行节点;过滤节点重启单元550,用于从过滤后的节点的集合中,以轮询方式为发生故障的工作负载单元确定运行节点。
在本实施例的一些可选实现方式中,装置还包括:节点健康检测单元560,用于间隔预定时间,遍历所有节点的集合,并在访问每一个节点时执行检测步骤;检测步骤包括:获取当前节点中所运行的所有工作负载单元的信息;从所有工作负载单元的信息中,确定不符合健康条件的待调度工作负载单元的信息;将待调度工作负载单元的信息按照资源占用率从大到小排序;根据排序后的待调度工作负载单元的排序顺序,依次将排序第一的待调度工作负载单元调度至除当前节点之外的其它节点上,直至调度后的当前节点的资源占用率恢复至预定资源占用率之下。
在本实施例的一些可选实现方式中,节点健康检测单元560采用以下单元执行从所有工作负载单元的信息中,确定不符合健康条件的待调度工作负载单元的信息的步骤:负载单元过滤单元561,用于从所有工作负载单元的信息中,过滤符合保留条件的工作负载单元的信息;待调度负载单元确定单元562,用于从过滤后的工作负载单元的信息中,确定不符合健康条件的待调度工作负载单元的信息。
在本实施例的一些可选实现方式中,待调度负载单元确定单元562进一步用于:查询在除被检测的节点之外的其它节点上无副本的孤本工作负载单元的信息,过滤孤本工作负载单元;和/或过滤启动时间超过预定阈值的工作负载单元的信息,得到待调度工作负载单元的信息。
在本实施例的一些可选实现方式中,节点健康检测单元560中的将排序第一的待调度工作负载单元调度至除当前节点之外的其它节点上,直至调度后的当前节点的资源占用率恢复至预定资源占用率之下包括:根据资源占用率从小到大,排序除当前节点外的其它节点,得到排序后的接收节点,并将排序第一的待调度工作负载单元调度至排序第一的接收节点上,直至调度后当前节点的资源占用率恢复至预定资源占用率之下;或将待调度工作负载单元调度至除当前节点外的其它节点中资源占用率小于预设资源占用率的节点上,直至调度后当前节点的资源占用率恢复至预定资源占用率之下。
本申请还提供了一种设备的实施例,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上任意一项所述的用于确定运行机器学习任务的节点的方法。
本申请还提供了一种计算机可读介质的实施例,其上存储有计算机程序,该程序被处理器执行时实现如上任意一项所述的用于确定运行机器学习任务的节点的方法。
下面参考图6,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统600的结构示意图。图6示出的终端设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分606加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分606。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。
需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读信号介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个单元、程序段、或代码的一部分,所述单元、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括所有节点获取单元510、候选节点确定单元520和运行节点确定单元530。这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,所有节点获取单元510还可以被描述为“响应于接收用户提交的机器学习任务,获取服务器集群中所有节点的集合的单元”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:响应于接收用户提交的机器学习任务,获取服务器集群中所有节点的集合;从所有节点的集合中,确定符合机器学习任务的资源需求的候选节点的集合;从候选节点的集合中,以轮询方式为机器学习任务的工作负载单元的多个副本确定运行节点,其中,工作负载单元包括一个或多个容器。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (14)

1.一种用于确定运行机器学习任务的节点的方法,包括:
响应于接收用户提交的机器学习任务,获取服务器集群中所有节点的集合;
从所述所有节点的集合中,确定符合所述机器学习任务的资源需求的候选节点的集合;
从所述候选节点的集合中,以轮询方式为所述机器学习任务的工作负载单元的多个副本确定运行节点,其中,所述工作负载单元包括一个或多个容器。
2.根据权利要求1所述的方法,其中,所述方法还包括:
响应于对各个工作负载单元的监控信息指示被监控的工作负载单元发生故障,从所述所有节点的集合中,过滤掉与发生故障的工作负载单元运行同一机器学习任务的工作负载单元副本所在的运行节点;
从过滤后的节点的集合中,以轮询方式为所述发生故障的工作负载单元确定运行节点。
3.根据权利要求1或2任意一项所述的方法,其中,所述方法还包括:
间隔预定时间,遍历所述所有节点的集合,并在访问每一个节点时执行检测步骤;
所述检测步骤包括:获取当前节点中所运行的所有工作负载单元的信息;从所述所有工作负载单元的信息中,确定不符合健康条件的待调度工作负载单元的信息;将所述待调度工作负载单元的信息按照资源占用率从大到小排序;根据排序后的待调度工作负载单元的排序顺序,依次将排序第一的待调度工作负载单元调度至除所述当前节点之外的其它节点上,直至调度后的所述当前节点的资源占用率恢复至预定资源占用率之下。
4.根据权利要求3所述的方法,其中,所述从所述所有工作负载单元的信息中,确定不符合健康条件的待调度工作负载单元的信息包括:
从所述所有工作负载单元的信息中,过滤符合保留条件的工作负载单元的信息;
从过滤后的工作负载单元的信息中,确定不符合健康条件的待调度工作负载单元的信息。
5.根据权利要求4所述的方法,其中,所述从所述所有工作负载单元的信息中,过滤符合保留条件的工作负载单元的信息包括:
查询在除所述被检测的节点之外的其它节点上无副本的孤本工作负载单元的信息,过滤所述孤本工作负载单元;和/或
过滤启动时间超过预定阈值的工作负载单元的信息,得到待调度工作负载单元的信息。
6.根据权利要求3-5任意一项所述的方法,其中,所述将排序第一的待调度工作负载单元调度至除所述当前节点之外的其它节点上,直至调度后的所述当前节点的资源占用率恢复至预定资源占用率之下包括:
根据资源占用率从小到大,排序除所述当前节点外的其它节点,得到排序后的接收节点,并将所述排序第一的待调度工作负载单元调度至排序第一的接收节点上,直至调度后所述当前节点的资源占用率恢复至预定资源占用率之下;或
将所述待调度工作负载单元调度至除所述当前节点外的其它节点中资源占用率小于预设资源占用率的节点上,直至调度后所述当前节点的资源占用率恢复至预定资源占用率之下。
7.一种用于确定运行机器学习任务的节点的装置,包括:
所有节点获取单元,用于响应于接收用户提交的机器学习任务,获取服务器集群中所有节点的集合;
候选节点确定单元,用于从所述所有节点的集合中,确定符合所述机器学习任务的资源需求的候选节点的集合;
运行节点确定单元,用于从所述候选节点的集合中,以轮询方式为所述机器学习任务的工作负载单元的多个副本确定运行节点,其中,所述工作负载单元包括一个或多个容器。
8.根据权利要求7所述的装置,其中,所述装置还包括:
任务节点过滤单元,用于响应于对各个工作负载单元的监控信息指示被监控的工作负载单元发生故障,从所述所有节点的集合中,过滤掉与发生故障的工作负载单元运行同一机器学习任务的工作负载单元副本所在的运行节点;
过滤节点重启单元,用于从过滤后的节点的集合中,以轮询方式为所述发生故障的工作负载单元确定运行节点。
9.根据权利要求7或8任意一项所述的装置,其中,所述装置还包括:
节点健康检测单元,用于间隔预定时间,遍历所述所有节点的集合,并在访问每一个节点时执行检测步骤;所述检测步骤包括:获取当前节点中所运行的所有工作负载单元的信息;从所述所有工作负载单元的信息中,确定不符合健康条件的待调度工作负载单元的信息;将所述待调度工作负载单元的信息按照资源占用率从大到小排序;根据排序后的待调度工作负载单元的排序顺序,依次将排序第一的待调度工作负载单元调度至除所述当前节点之外的其它节点上,直至调度后的所述当前节点的资源占用率恢复至预定资源占用率之下。
10.根据权利要求9所述的装置,其中,所述节点健康检测单元采用以下单元执行所述从所述所有工作负载单元的信息中,确定不符合健康条件的待调度工作负载单元的信息的步骤:
负载单元过滤单元,用于从所述所有工作负载单元的信息中,过滤符合保留条件的工作负载单元的信息;
待调度负载单元确定单元,用于从过滤后的工作负载单元的信息中,确定不符合健康条件的待调度工作负载单元的信息。
11.根据权利要求10所述的装置,其中,所述待调度负载单元确定单元进一步用于:
查询在除所述被检测的节点之外的其它节点上无副本的孤本工作负载单元的信息,过滤所述孤本工作负载单元;和/或
过滤启动时间超过预定阈值的工作负载单元的信息,得到待调度工作负载单元的信息。
12.根据权利要求9-11任意一项所述的装置,其中,所述节点健康检测单元中的所述将排序第一的待调度工作负载单元调度至除所述当前节点之外的其它节点上,直至调度后的所述当前节点的资源占用率恢复至预定资源占用率之下包括:
根据资源占用率从小到大,排序除所述当前节点外的其它节点,得到排序后的接收节点,并将所述排序第一的待调度工作负载单元调度至排序第一的接收节点上,直至调度后所述当前节点的资源占用率恢复至预定资源占用率之下;或
将所述待调度工作负载单元调度至除所述当前节点外的其它节点中资源占用率小于预设资源占用率的节点上,直至调度后所述当前节点的资源占用率恢复至预定资源占用率之下。
13.一种设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的用于确定运行机器学习任务的节点的方法。
14.一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-6中任一所述的用于确定运行机器学习任务的节点的方法。
CN201810179213.3A 2018-03-05 2018-03-05 用于确定运行机器学习任务的节点的方法和装置 Pending CN108304250A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810179213.3A CN108304250A (zh) 2018-03-05 2018-03-05 用于确定运行机器学习任务的节点的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810179213.3A CN108304250A (zh) 2018-03-05 2018-03-05 用于确定运行机器学习任务的节点的方法和装置

Publications (1)

Publication Number Publication Date
CN108304250A true CN108304250A (zh) 2018-07-20

Family

ID=62849166

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810179213.3A Pending CN108304250A (zh) 2018-03-05 2018-03-05 用于确定运行机器学习任务的节点的方法和装置

Country Status (1)

Country Link
CN (1) CN108304250A (zh)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109144734A (zh) * 2018-09-12 2019-01-04 郑州云海信息技术有限公司 一种容器资源配额分配方法和装置
CN109213568A (zh) * 2018-08-16 2019-01-15 北京京东尚科信息技术有限公司 一种区块链网络服务平台及其部署方法、存储介质
CN109542605A (zh) * 2018-11-27 2019-03-29 长沙智擎信息技术有限公司 一种基于Kubernetes系统架构的容器组生命周期管理方法
CN109558940A (zh) * 2018-11-09 2019-04-02 深圳市康拓普信息技术有限公司 一种深度学习模型训练的管理方法和系统
CN109960573A (zh) * 2018-12-29 2019-07-02 天津南大通用数据技术股份有限公司 一种基于智能感知的跨域计算任务调度方法及系统
CN110333930A (zh) * 2019-04-29 2019-10-15 中国联合网络通信集团有限公司 数字化平台系统
CN110347476A (zh) * 2019-06-27 2019-10-18 苏州浪潮智能科技有限公司 一种信息化系统的耗时任务管理方法和装置
CN110471767A (zh) * 2019-08-09 2019-11-19 上海寒武纪信息科技有限公司 一种设备的调度方法
CN110888714A (zh) * 2019-11-26 2020-03-17 北京京东尚科信息技术有限公司 容器的调度方法、装置和计算机可读存储介质
CN111090503A (zh) * 2018-10-24 2020-05-01 上海雪湖信息科技有限公司 一种基于fpga芯片的高性价比云计算服务系统
WO2020135799A1 (zh) * 2018-12-28 2020-07-02 华为技术有限公司 Vnf服务实例化方法及装置
CN111506412A (zh) * 2020-04-22 2020-08-07 上海德拓信息技术股份有限公司 基于Airflow的分布式异步任务构建、调度系统及方法
CN111625420A (zh) * 2020-05-21 2020-09-04 浪潮电子信息产业股份有限公司 一种分布式训练任务处理方法、装置、设备及存储介质
WO2020238415A1 (zh) * 2019-05-29 2020-12-03 深圳前海微众银行股份有限公司 一种监控模型训练的方法及装置
CN112256437A (zh) * 2020-11-10 2021-01-22 网易(杭州)网络有限公司 一种任务分发方法及装置
CN112925640A (zh) * 2021-02-10 2021-06-08 杭州幻方人工智能基础研究有限公司 一种集群训练节点分配方法、电子设备
WO2021126272A1 (en) * 2019-12-20 2021-06-24 Hewlett-Packard Development Company, L.P. Machine learning workload orchestration in heterogeneous clusters
CN113112025A (zh) * 2020-01-13 2021-07-13 顺丰科技有限公司 模型建立系统、方法、装置及存储介质
CN113179331A (zh) * 2021-06-11 2021-07-27 苏州大学 面向移动边缘计算的分布式专用保护业务调度方法
CN114416346A (zh) * 2021-12-23 2022-04-29 广州市玄武无线科技股份有限公司 一种多节点任务调度方法、装置、设备及存储介质
CN114762367A (zh) * 2019-10-02 2022-07-15 诺基亚技术有限公司 向生产者节点提供基于机器学习的辅助
KR102561320B1 (ko) * 2022-12-29 2023-07-27 오케스트로 주식회사 리소스 추세 예측을 통한 컨테이너 레플리카 추천 시스템 및 추천 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160359622A1 (en) * 2015-06-05 2016-12-08 Nutanix, Inc. Optimizable full-path encryption in a virtualization environment
CN106686132A (zh) * 2017-02-06 2017-05-17 郑州云海信息技术有限公司 一种云海系统部署方法及平台
US20170147319A1 (en) * 2015-11-25 2017-05-25 Red Hat, Inc. Active Representation of a Composite Application
CN106790660A (zh) * 2017-01-18 2017-05-31 咪咕视讯科技有限公司 一种实现分布式存储系统的部署方法及装置
CN107426206A (zh) * 2017-07-17 2017-12-01 北京上元信安技术有限公司 一种对web服务器的防护装置和方法
CN107733726A (zh) * 2017-11-29 2018-02-23 新华三云计算技术有限公司 一种服务请求的处理方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160359622A1 (en) * 2015-06-05 2016-12-08 Nutanix, Inc. Optimizable full-path encryption in a virtualization environment
US20170147319A1 (en) * 2015-11-25 2017-05-25 Red Hat, Inc. Active Representation of a Composite Application
CN106790660A (zh) * 2017-01-18 2017-05-31 咪咕视讯科技有限公司 一种实现分布式存储系统的部署方法及装置
CN106686132A (zh) * 2017-02-06 2017-05-17 郑州云海信息技术有限公司 一种云海系统部署方法及平台
CN107426206A (zh) * 2017-07-17 2017-12-01 北京上元信安技术有限公司 一种对web服务器的防护装置和方法
CN107733726A (zh) * 2017-11-29 2018-02-23 新华三云计算技术有限公司 一种服务请求的处理方法及装置

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109213568A (zh) * 2018-08-16 2019-01-15 北京京东尚科信息技术有限公司 一种区块链网络服务平台及其部署方法、存储介质
CN109144734A (zh) * 2018-09-12 2019-01-04 郑州云海信息技术有限公司 一种容器资源配额分配方法和装置
CN111090503B (zh) * 2018-10-24 2023-07-21 上海雪湖信息科技有限公司 一种基于fpga芯片的高性价比云计算服务系统
CN111090503A (zh) * 2018-10-24 2020-05-01 上海雪湖信息科技有限公司 一种基于fpga芯片的高性价比云计算服务系统
CN109558940A (zh) * 2018-11-09 2019-04-02 深圳市康拓普信息技术有限公司 一种深度学习模型训练的管理方法和系统
CN109542605A (zh) * 2018-11-27 2019-03-29 长沙智擎信息技术有限公司 一种基于Kubernetes系统架构的容器组生命周期管理方法
US12020055B2 (en) 2018-12-28 2024-06-25 Huawei Technologies Co., Ltd. VNF service instantiation method and apparatus
WO2020135799A1 (zh) * 2018-12-28 2020-07-02 华为技术有限公司 Vnf服务实例化方法及装置
CN109960573A (zh) * 2018-12-29 2019-07-02 天津南大通用数据技术股份有限公司 一种基于智能感知的跨域计算任务调度方法及系统
CN109960573B (zh) * 2018-12-29 2021-01-08 天津南大通用数据技术股份有限公司 一种基于智能感知的跨域计算任务调度方法及系统
CN110333930A (zh) * 2019-04-29 2019-10-15 中国联合网络通信集团有限公司 数字化平台系统
WO2020238415A1 (zh) * 2019-05-29 2020-12-03 深圳前海微众银行股份有限公司 一种监控模型训练的方法及装置
CN110347476A (zh) * 2019-06-27 2019-10-18 苏州浪潮智能科技有限公司 一种信息化系统的耗时任务管理方法和装置
CN110347476B (zh) * 2019-06-27 2022-03-22 苏州浪潮智能科技有限公司 一种信息化系统的耗时任务管理方法和装置
CN110471767A (zh) * 2019-08-09 2019-11-19 上海寒武纪信息科技有限公司 一种设备的调度方法
CN110471767B (zh) * 2019-08-09 2021-09-03 上海寒武纪信息科技有限公司 一种设备的调度方法
CN114762367A (zh) * 2019-10-02 2022-07-15 诺基亚技术有限公司 向生产者节点提供基于机器学习的辅助
CN110888714A (zh) * 2019-11-26 2020-03-17 北京京东尚科信息技术有限公司 容器的调度方法、装置和计算机可读存储介质
WO2021126272A1 (en) * 2019-12-20 2021-06-24 Hewlett-Packard Development Company, L.P. Machine learning workload orchestration in heterogeneous clusters
CN114787830A (zh) * 2019-12-20 2022-07-22 惠普发展公司,有限责任合伙企业 异构集群中的机器学习工作负载编排
CN113112025A (zh) * 2020-01-13 2021-07-13 顺丰科技有限公司 模型建立系统、方法、装置及存储介质
CN111506412B (zh) * 2020-04-22 2023-04-25 上海德拓信息技术股份有限公司 基于Airflow的分布式异步任务构建、调度系统及方法
CN111506412A (zh) * 2020-04-22 2020-08-07 上海德拓信息技术股份有限公司 基于Airflow的分布式异步任务构建、调度系统及方法
CN111625420A (zh) * 2020-05-21 2020-09-04 浪潮电子信息产业股份有限公司 一种分布式训练任务处理方法、装置、设备及存储介质
CN112256437A (zh) * 2020-11-10 2021-01-22 网易(杭州)网络有限公司 一种任务分发方法及装置
CN112925640A (zh) * 2021-02-10 2021-06-08 杭州幻方人工智能基础研究有限公司 一种集群训练节点分配方法、电子设备
CN113179331A (zh) * 2021-06-11 2021-07-27 苏州大学 面向移动边缘计算的分布式专用保护业务调度方法
WO2022257631A1 (zh) * 2021-06-11 2022-12-15 苏州大学 面向移动边缘计算的分布式专用保护业务调度方法
CN113179331B (zh) * 2021-06-11 2022-02-11 苏州大学 面向移动边缘计算的分布式专用保护业务调度方法
CN114416346A (zh) * 2021-12-23 2022-04-29 广州市玄武无线科技股份有限公司 一种多节点任务调度方法、装置、设备及存储介质
KR102561320B1 (ko) * 2022-12-29 2023-07-27 오케스트로 주식회사 리소스 추세 예측을 통한 컨테이너 레플리카 추천 시스템 및 추천 방법

Similar Documents

Publication Publication Date Title
CN108304250A (zh) 用于确定运行机器学习任务的节点的方法和装置
CN111290854B (zh) 任务管理方法、装置、系统、计算机存储介质及电子设备
CN104657194B (zh) 用于计算网络中动作的影响的方法和系统
CN103380423B (zh) 用于私人云计算的系统和方法
WO2020258290A1 (zh) 日志数据收集方法、日志数据收集装置、存储介质和日志数据收集系统
US20140173618A1 (en) System and method for management of big data sets
US11321634B2 (en) Minimizing risk using machine learning techniques
CN110389748A (zh) 业务数据处理方法及终端设备
CN108647141A (zh) 自动测试方法、装置、计算机可读介质及电子设备
CN109408205A (zh) 基于hadoop集群的任务调度方法和装置
CN108171473A (zh) 一种数据分析处理系统及数据分析处理方法
US9451033B2 (en) Enhanced command selection in a networked computing environment
US11956330B2 (en) Adaptive data fetching from network storage
CN108762885A (zh) 一种虚拟机创建方法、装置、管理设备及终端设备
US11288601B2 (en) Self-learning selection of information-analysis runtimes
CN112256406B (zh) 作业流程平台化调度方法
CN110221910A (zh) 用于执行mpi作业的方法和装置
CN109684059A (zh) 用于监控数据的方法及装置
CN110008050A (zh) 用于处理信息的方法和装置
CN113204425A (zh) 供进程管理内部线程的方法、装置、电子设备及存储介质
CN117056048A (zh) 一种基于数字孪生技术的容器云资源调度方法及调度系统
Mulahuwaish et al. Improving datacenter utilization through containerized service-based architecture
AU2020385369A1 (en) Contact center call volume prediction
Deng et al. A deep reinforcement learning-based optimization method for long-running applications container deployment
WO2020047390A1 (en) Systems and methods for hybrid burst optimized regulated workload orchestration for infrastructure as a service

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180720