CN111274018A - 一种基于dl框架下的分布式训练方法 - Google Patents

一种基于dl框架下的分布式训练方法 Download PDF

Info

Publication number
CN111274018A
CN111274018A CN202010071243.XA CN202010071243A CN111274018A CN 111274018 A CN111274018 A CN 111274018A CN 202010071243 A CN202010071243 A CN 202010071243A CN 111274018 A CN111274018 A CN 111274018A
Authority
CN
China
Prior art keywords
training
framework
priority
algorithm
cluster
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
CN202010071243.XA
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.)
Planetary Computing Power Shenzhen Technology Co Ltd
Original Assignee
Planetary Computing Power Shenzhen 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 Planetary Computing Power Shenzhen Technology Co Ltd filed Critical Planetary Computing Power Shenzhen Technology Co Ltd
Priority to CN202010071243.XA priority Critical patent/CN111274018A/zh
Publication of CN111274018A publication Critical patent/CN111274018A/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/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/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/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
    • G06F9/5038Allocation 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 execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/5061Partitioning or combining of resources
    • 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/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于DL框架下的分布式训练方法,该方法包括以下步骤:A1,通过调度层收集用户的GPU数量需求,通过调度算法将调配相应数量的GPU机器给集群;A2,集群通过gRPC框架调用训练任务参数信息传给AI底层框架;A3,AI底层进行环境初始化工作,创建用户任务容器并开始训练,同时将将训练过程的结果实时输出;A4,训练等信号至集群,集群根据AI底层框架的返回状态码进行判断机制。本发明充分利用了通信资源,降低了训练成本。

Description

一种基于DL框架下的分布式训练方法
技术领域
本发明涉及AI及分布式技术领域,尤其涉及一种基于DL框架下的分布式训练方法。
背景技术
近几年来,大数据驱动的深度学习技术在人工智能的多个领域均取得了可观的性能提升,神经网络模型越来越深,数据规模越来越大已成为目前的基本趋势。复杂的网络模型往往需要更多的训练数据才可获得优秀的泛化能力,然而,训练深度学习模型大数据这样的组合却有着极大的挑战。深度学习训练任务属于典型的计算密集型任务,因此常采用分布式GPU(Graphics Processing Unit-图形处理器)集群进行训练。集群进行训练中分别运行两种任务:1)所有服务器的CPU(Central Processing Unit,中央处理器)端构成分布式参数服务器,参数在各个服务器上分片存储,参数服务器负责保存以及更新网络模型参数;2)每个GPU作为独立的工作节点,输入训练数据计算求取参数的更新梯度值。一次迭代的基本流程是:1)所有工作节点从参数服务器端拉取最新模型参数;2)所有工作节点对分发到自己节点的数据进行前向反向计算求的参数梯度值;3)所有工作节点将自己求得的参数梯度值发送给参数服务器,参数服务器汇总所有工作节点的结果,然后更新参数值。
在实际的AI训练过程中,需要配置相应的硬件,对于每一个训练任务需要一个学习机器进行处理,进而需要大量的调度,而由于训练模型中参数更新均发生集群间通信,对于超深神经网络结构,模型参数更多,通信量更大,通信结构更为复杂,两者都会造成通信时间变长甚至抵消多GPU并行节省的计算时间,非常浪费通信资源。
发明内容
本发明的目的在于提供一种基于DL框架下的分布式训练方法,充分利用了通信资源,降低了训练成本。
本发明解决其技术问题所采用的技术方案是:一种基于DL框架下的分布式训练方法,该方法包括以下步骤:
A1,通过调度层收集用户的GPU数量需求,通过调度算法将调配相应数量的GPU机器给集群;
A2,集群通过gRPC框架调用训练任务参数信息传给AI底层框架;
A3,AI底层进行环境初始化工作,创建用户任务容器并开始训练,同时将将训练过程的结果实时输出;
A4,训练等信号至集群,集群根据AI底层框架的返回状态码进行判断机制,该判断机制包括:若训练正常,调用AI底层结束接口,将任务容器销毁,并将GPU机器重新注册,等待下个任务;若训练异常,包括用户代码异常和系统异常,调用AI底层结束接口,将任务容器销毁,将GPU机器重新注册,等待下个任务。
优选地,所述算法包括先来先服务调度算法、最短作业优先算法、最短剩余时间优先算法、最高响应比优先算法、轮转调度算法、多级反馈队列调度算法、优先级调度算法。
优选地,优先级调度算法为静态算法,其用于平衡各进程对响应时间的要求,其中,进程的优先数由用户自己指定或程序设定,且优先数越低,优先级越高,调度时,选择优先级最高的进程运行。
优选地,在gRPC框架设置中,HTTP层采用HTTP2.0协议。
本发明的有益效果在于:
1.通过使用本申请训练方法进行AI训练时,无需自己提供硬件,降低了使用成本;
2.在AI训练过程中,免环境配置,用户只需选择相应的框架即可直接使用,无需自己再搭建环境,提高了使用效率;
3.可实现TensorFlow、PyTorch框架的单机或分布式多机GPU的AI训练,操作灵活,促进了分布式技术的发展;
4.通过调配空闲的GPU资源为用户提供AI训练,实现资源的充分利用,极大节约了通信资源。
具体实施方式
为了使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明的部分实施例,而不是全部实施例。基于本发明的实施例,本领域普通技术人员在没有付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。
在实施例1中,DL框架为深度学习框架,分布式训练方法可适用于TensorFlow和PyTorch框架。对于TensorFlow框架,其由两个核心构建模块组成,一个是用于定义计算图以及在各种不同硬件上执行这些图的运行时间的软件库;另一个是性能优异的计算图,计算图是一种将计算描述成有向图的抽象方式。对于PyTorch框架,很简洁、易于使用、支持动态计算图而且内存使用很高效,其由两个核心模块组成,即计算图的按需和动态构建Autograd,动态构建Autograd可执行动态图的自动微分,动态图会随着执行过程而改变和执行节点,没有特殊的会话接口或占位符,该框架与 Python 语言的整合紧密,本地化高效。在TensorFlow和PyTorch 中实现的卷积神经网络在ImageNet 上都达到了当量表现。训练后的模型可以用在不同的应用中,如目标检测、图像语义分割等。在 PyTorch 上训练一个数据集,可以使用GPU来增强其训练过程,它们运行在CUDA( C++后端)上。TensorFlow 也能使用GPU,其使用的是自己内置的 GPU 加速。
考虑到域网中用户的通信需求极高,通信资源消耗占比庞大,而对于此需布置大量的机器集群,并通过其CPU组群解决通信卡顿错失等问题,如此将耗费大量的建设成本。以GPU收集数据替代CPU处理,在处理能力和存储器带宽上相对于CPU有明显优势,在成本和功耗上降低了输出。由于图形渲染的高度并行性,使得GPU可以通过增加并行处理单元和存储器控制单元的方式提高处理能力和存储器带宽。GPU中,大量的晶体管用作执行单元,而不是像CPU那样用作复杂的控制单元和缓存并以此来提高少量执行单元的执行效率,CPU的整数计算、分支、逻辑判断和浮点运算分别由不同的运算单元执行,并具备一个浮点加速器,进而能适应于不同的机器任务处理。GPU很好的对数据进行并行处理,节约了通信资源。
在机器网络中,处理器即为调度层,用户的GPU数量需求将由调度层进行接收,调度层将通过调度算法对数据进行灵活配置,该调度算法包括以下几种算法:1)先来先服务调度算法,先来先服务调度算法是一种非抢占式的算法,先进入就绪队列的进程,先分配机器运行,一旦一个进程占有了GPU机器,它就一直运行下去,直到该进程完成工作或者因为等待某事件发生而不能继续运行时才释放GPU机器;2)最短作业优先算法,其对预计执行时间短的作业(进程)优先分派GPU机器,该算法的资源利用率和吞吐率较高,周转率较快,响应时间较短,适用于剩余时间短的进程,其能够克服FCFS算法偏爱长作业的缺点,实现起来比较复杂,要时时观察每个作业的剩余时间;4)最高响应比优先算法,该算法是对FCFS方式和SJF方式的一种综合平衡;5)轮转调度算法,轮转法是让每个进程在就绪队列中的等待时间与享受服务的时间成正比例,将系统中所有的就绪进程按照FCFS原则,排成一个队列;6)多级反馈队列调度算法,多级反馈队列算法为轮转算法和优先级算法的叠加使用;7)优先级调度算法,优先级算法是多级队列算法的改进,平衡各进程对响应时间的要求,适用于作业调度和进程调度,可分成抢先式和非抢先式。
具体地,对于优先级调度算法:1)如果系统中正有5个进程,每个进程有一个进程控制块(PCB)来标识,进程控制块内容包括进程名、链接指针、进程的优先级、估计运行时间和进程状态,进程的优先数由用户自己指定或程序任意设定,且优先数越低,优先级越高,调度时,总是选择优先级最高的进程运行;
在未设调度算法的GPU机器调度过程中,需要通过kubectl创建GPU服务,并在yaml文件中手动输入所需求的GPU数量,即在container的resources.limits中设置nvidia.com/gpu,申明你想要使用的GPU数量。而在使用本实施例中的调度算法后,集群会自动接收调度层调度输出的GPU机器,灵活高效。
RPC为远程过程调用,其为一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而无需额外地为这个交互作用编程,调用的服务包括本地服务及互联网上的远程服务。gRPC为开源的RPC框架,其具有方便的定义服务、跨平台、跨语言、快速开发并可大规模部署及双向流设定等特点。采用gRPC框架可以很好地满足运维对单个网络网元全面的可视化和实时性要求。在设置gRPC框架中,对于DATA层,需对应架接出通信双方的数据模型,以进行信息的正确交互;对于JSON/GPB层,通过Protocol Buffers编码格式承载数据;对于GRPC层,完成远程调用协议;对于HTTP层,承载于HTTP2.0协议上;对于TCP层位于框架最底层。在HTTP 1.0协议中,客户端在同一时间访问同一域名的请求数量是有限制的,当超过阈值时请求会被阻断,但是这种情况在HTTP 2.0中将被忽略,由于HTTP 1.0传输的是纯文本数据,传输体积较大,而HTTP 2.0传输的基本单元为帧,每个帧都包含消息,并且由于HTTP 2.0允许同时通过一条连接发起多个“请求-响应”消息,无需建立多个TCP链接的同时实现多条流并行,提高吞吐性能,并且在一个连接内对多个消息进行优先级的管理和流控。
具体地,gRPC功能在交换机中开启,交换机则成为gRPC客户端,采集服务器成为gRPC服务器;交换机会根据订阅的事件构建对应数据的格式(GPB/JSON),通过ProtocolBuffers进行编写proto文件,交换机与服务器建立gRPC通道,通过gRPC协议向服务器发送请求消息;服务器收到请求消息后,服务器会通过Protocol Buffers解译proto文件,还原出最先定义好格式的数据结构,进行业务处理;数据梳理完后,服务器需要使用ProtocolBuffers重编译应答数据,通过gRPC协议向交换机发送应答消息;交换机收到应答消息后,结束本次的gRPC交互。
由此,集群通过Grpc调用GPU机器信息、框架名称等训练任务参数信息传给AI底层框架。
AI框架分为顶、中、底三层,从上至下依次为应用层、技术层和基础层,应用层聚焦在人工智能和各行业各领域的结合;技术层是算法、模型和技术开发;基础层则是计算能力和数据资源。由此,GPU机器信息、框架名称等训练任务参数信息传给AI底层框架。
在AI底层对参数进行检查过程中,具体地,在一个实际的web端应用中,包括三层结构,即action层、service层和dao层,参数检查是在action层中完成,比如struts的validator。在action层中处理将对错误输入作出最快响应。因为service和dao并不是对外提供的接口,而action是对外提供的接口,action层做了校验后,service层以及dao层就不需要再次进行校验,对于service和dao层,其数据来源于action层,如果action层中数据来源正确,则service和dao就无需再次校验。
对于开启线程任务等环境初始化工作,包括以下工作过程:New(新建),当用new操作符创建一个新线程时,如 new Thread(r), 该线程还没有开始运行,其状态为new,当一个线程处在new状态,程序还没有开始运行线程中的代码,在线程运行之前需要对基础程序进行整理;Runnable(可运行),一旦调用start()方法,线程就处于runnable状态,线程运行与否取决于操作系统给线程提供运行的时间;运行中的线程被中断,可以使线程获得运行机会。线程调度的细节依赖于操作系统提供的服务,抢占式调度系统给每一个可运行线程一个时间片来执行任务,当时间片用完,操作系统剥夺该线程的运行权,并给另一个线程可运行机会,当选择下一个线程时,操作系统考虑线程的优先级;Blocked(被阻塞);Waiting(等待);Timed Waiting(计时等待),当线程处于被阻塞或等待状态时,它暂时不活动,它不运行任何代码且消耗最少的资源,直到线程调度器重新激活它;环境初始化,当一个线程试图获取一个内部的对象锁(而不是java.util.concurrent库里的锁),而该锁被其他线程持有,则该线程进入阻塞状态,当其他线程释放该锁,并且线程调度器允许本线程持有它的时候,该线程将变成非阻塞状态;当线程通知另一个线程通知调度器一个条件时,它自己进入等待状态。在调用Object.wait方法或Thread.join方法,或者是等待java.util.concurrent库中的Lock或Condition时,就会出现这种情况;可使用超时参数方法调用它们导致线程进入计时等待(timed waiting)状态,这一状态将一直保持到超时期满或者接收到通知,带有超时参数的方法有Thread.sleep和Object.wait, Thrad.join,Lock.tryLock以及Condition.await的计时版;Terminated(被终止),线程因如下两个原因之一而被终止:1) 因为run方法正常退出而自然死亡;因为一个没有捕获的异常终止了run方而意外死亡。
创建用户任务容器,在web端中选择Add container (添加容器),编辑定义参数字段。开始对每一个容器训练后,将训练过程的结果实时输出,训练异常及结束等信号返至集群,集群通过AI底层框架的返回状态码做相应操作。具体地,相应操作包括以下工作机制:若训练正常,则调用AI底层结束接口,将任务容器销毁,并将GPU机器重新注册,等待下个任务;若训练异常,包括用户代码异常和系统异常,则调用AI底层结束接口,将任务容器销毁,将GPU机器重新注册,等待下个任务。
具体地,在实际的分布式训练过程中,集群通过端口与tesra_server通信,包括对客户端进行配置,配置过程包括configFile配置步骤S1和taskEnd配置步骤S2。在配置步骤S1中,包括调用步骤S10,调用步骤S10中记录gRPC调用信息、连接集群、连接Kafka并发送正在初始化信息、调用检查配置信息是否满足要求,而后等待返回结果。调用步骤S10包括创建线程步骤S101,创建线程步骤S101中创建线程。创建线程步骤S101中包括步骤S102,步骤S102中等待返回状态和返回值;最后结束线程创建任务,其中,包括将task_id从running_task_id.txt文件中删除,将用户输出日志复制到宿主机,删除运行容器。在步骤S102后进行创建运行环境步骤S103,创建运行环境步骤S103包括首先获取本机IP、获取socker通信端口,获取失败默认为8000、拼接运行参数,创建运行环境并运行任务,等待返回值,其中,包括创建任务容器,复制文件到任务容器,进入任务容器运行provider.stare.activate_train.py,在程序进入任务容器运行过程中还包括创建套接字、下载用户项目、安装用户提供的Python库、执行用户文件、上传项目输出,发送项目输出的hash值,对于执行用户文件过程中包括连接kafka,创建线程定时检查日志文件。步骤S103中还包括监听任务,包括创建套接字接收信息、处理接收的消息。对于步骤S2,包括调等待返回结果,在该过程中,包括杀死任务线程,而后结束任务,其中,包括将task_id从running_task_id.txt文件中删除、查询任务docker、调用end_task删除任务器、删除任务目录。

Claims (5)

1.一种基于DL框架下的分布式训练方法,其特征在于,该方法包括以下步骤:
A1,通过调度层收集用户的GPU数量需求,通过调度算法将调配相应数量的GPU机器给集群;
A2,集群通过gRPC框架调用训练任务参数信息传给AI底层框架;
A3,AI底层进行环境初始化工作,创建用户任务容器并开始训练,同时将将训练过程的结果实时输出;
A4,训练等信号至集群,集群根据AI底层框架的返回状态码做出判断机制,该判断机制包括:若训练正常,调用AI底层结束接口,将任务容器销毁,并将GPU机器重新注册,等待下个任务;若训练异常,包括用户代码异常和系统异常,调用AI底层结束接口,将任务容器销毁,将GPU机器重新注册,等待下个任务。
2.根据权利要求1所述的基于DL框架下的分布式训练方法,其特征在于,所述算法包括先来先服务调度算法、最短作业优先算法、最短剩余时间优先算法、最高响应比优先算法、轮转调度算法、多级反馈队列调度算法、优先级调度算法。
3.根据权利要求1或2所述的基于DL框架下的分布式训练方法,其特征在于,优先级调度算法为静态算法,其用于平衡各进程对响应时间的要求,其中,进程的优先数由用户自己指定或程序设定,且优先数越低,优先级越高,调度时,选择优先级最高的进程运行。
4.根据权利要求1或2所述的基于DL框架下的分布式训练方法,其特征在于,在gRPC框架设置中,HTTP层采用HTTP2.0协议。
5.根据权利要求3所述的基于DL框架下的分布式训练方法,其特征在于,在gRPC框架设置中,HTTP层采用HTTP2.0协议。
CN202010071243.XA 2020-01-21 2020-01-21 一种基于dl框架下的分布式训练方法 Pending CN111274018A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010071243.XA CN111274018A (zh) 2020-01-21 2020-01-21 一种基于dl框架下的分布式训练方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010071243.XA CN111274018A (zh) 2020-01-21 2020-01-21 一种基于dl框架下的分布式训练方法

Publications (1)

Publication Number Publication Date
CN111274018A true CN111274018A (zh) 2020-06-12

Family

ID=71002237

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010071243.XA Pending CN111274018A (zh) 2020-01-21 2020-01-21 一种基于dl框架下的分布式训练方法

Country Status (1)

Country Link
CN (1) CN111274018A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112101536A (zh) * 2020-08-30 2020-12-18 西南电子技术研究所(中国电子科技集团公司第十研究所) 轻量级分布式多任务协同框架
CN112465112A (zh) * 2020-11-19 2021-03-09 苏州浪潮智能科技有限公司 基于nGraph的GPU后端分布式训练方法和系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109144661A (zh) * 2018-07-05 2019-01-04 杭州电子科技大学 一种基于docker的深度学习管理方法
CN109195176A (zh) * 2018-11-16 2019-01-11 徐州工业职业技术学院 一种家庭基站中多业务融合的自适应调度方法及系统
CN109213600A (zh) * 2018-09-11 2019-01-15 郑州云海信息技术有限公司 一种基于ai云的gpu资源调度方法和装置
US10275851B1 (en) * 2017-04-25 2019-04-30 EMC IP Holding Company LLC Checkpointing for GPU-as-a-service in cloud computing environment
CN109885389A (zh) * 2019-02-19 2019-06-14 山东浪潮云信息技术有限公司 一种基于容器的并行深度学习调度训练方法及系统
CN110502213A (zh) * 2019-05-24 2019-11-26 网思科技股份有限公司 一种人工智能能力开发平台

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10275851B1 (en) * 2017-04-25 2019-04-30 EMC IP Holding Company LLC Checkpointing for GPU-as-a-service in cloud computing environment
CN109144661A (zh) * 2018-07-05 2019-01-04 杭州电子科技大学 一种基于docker的深度学习管理方法
CN109213600A (zh) * 2018-09-11 2019-01-15 郑州云海信息技术有限公司 一种基于ai云的gpu资源调度方法和装置
CN109195176A (zh) * 2018-11-16 2019-01-11 徐州工业职业技术学院 一种家庭基站中多业务融合的自适应调度方法及系统
CN109885389A (zh) * 2019-02-19 2019-06-14 山东浪潮云信息技术有限公司 一种基于容器的并行深度学习调度训练方法及系统
CN110502213A (zh) * 2019-05-24 2019-11-26 网思科技股份有限公司 一种人工智能能力开发平台

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
朱天放,等: "基于容器云的深度学习平台设计与实现", 《电子设计工程》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112101536A (zh) * 2020-08-30 2020-12-18 西南电子技术研究所(中国电子科技集团公司第十研究所) 轻量级分布式多任务协同框架
CN112465112A (zh) * 2020-11-19 2021-03-09 苏州浪潮智能科技有限公司 基于nGraph的GPU后端分布式训练方法和系统
CN112465112B (zh) * 2020-11-19 2022-06-07 苏州浪潮智能科技有限公司 基于nGraph的GPU后端分布式训练方法和系统
US12001960B2 (en) 2020-11-19 2024-06-04 Inspur Suzhou Intelligent Technology Co., Ltd. NGraph-based GPU backend distributed training method and system

Similar Documents

Publication Publication Date Title
US11288100B2 (en) Managing task running modes in a cloud computing data processing system
Xie et al. When serverless computing meets edge computing: Architecture, challenges, and open issues
CN108510082B (zh) 对机器学习模型进行处理的方法及装置
KR100253930B1 (ko) 고성능 사용자 레벨 네트워크 프로토콜 서버 시스템에 대한 동적 실행 유닛 관리
US8073671B2 (en) Dynamic software performance models
CN109327509A (zh) 一种主/从架构的低耦合的分布式流式计算框架
US20040123296A1 (en) Topology aware grid services scheduler architecture
JP2005524147A (ja) 分散形アプリケーションサーバおよび分散された機能を実施するための方法
CN108737168B (zh) 一种基于容器的微服务架构应用自动构建方法
US20230275976A1 (en) Data processing method and apparatus, and computer-readable storage medium
CN112068847B (zh) 基于kubernets平台的计算环境部署方法及装置
CN111274018A (zh) 一种基于dl框架下的分布式训练方法
CN112860396A (zh) 一种基于分布式深度学习的gpu调度方法及系统
CN111522664A (zh) 基于分布式服务的服务资源管控方法及装置
CN114296947B (zh) 一种面向复杂场景的多计算模型管理方法
US10379918B2 (en) System and method for MPI implementation in an embedded operating system
CN111752728B (zh) 消息传输方法及装置
US10896077B2 (en) Messaging abstraction layer for integration with message oriented middleware platforms
CN113515355A (zh) 资源调度方法、装置、服务器及计算机可读存储介质
Nickschas et al. CARISMA-A Service-Oriented, Real-Time Organic Middleware Architecture.
Astrova et al. Automatic Scaling of Complex-Event Processing Applications in Eucalyptus
CN114936098B (zh) 一种数据流转方法、装置、后端设备及存储介质
Cicirelli et al. Agent-Based Control Framework In Jade.
US20230419160A1 (en) 3-tier quantum computing execution model
US20240103941A1 (en) Flow configurable event-driven microservices

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

Application publication date: 20200612

RJ01 Rejection of invention patent application after publication