CN111506401A - 自动驾驶仿真任务调度方法、装置、电子设备及存储介质 - Google Patents

自动驾驶仿真任务调度方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111506401A
CN111506401A CN202010230973.XA CN202010230973A CN111506401A CN 111506401 A CN111506401 A CN 111506401A CN 202010230973 A CN202010230973 A CN 202010230973A CN 111506401 A CN111506401 A CN 111506401A
Authority
CN
China
Prior art keywords
scene information
task
delta
value
automatic driving
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
Application number
CN202010230973.XA
Other languages
English (en)
Other versions
CN111506401B (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 CN202010230973.XA priority Critical patent/CN111506401B/zh
Publication of CN111506401A publication Critical patent/CN111506401A/zh
Application granted granted Critical
Publication of CN111506401B publication Critical patent/CN111506401B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • 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

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 Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了自动驾驶仿真任务调度方法、装置、电子设备及存储介质,涉及自动驾驶领域,其中的方法可包括:将待处理的自动驾驶仿真任务中包括的N个场景信息加入输入数据组,并向集群申请M个节点,各节点上分别具有一个任务管理器;从输出数据组中获取N个场景信息的运行结果;其中,运行结果为M个任务管理器启动后其中的任一任务管理器每次处于空闲状态时、从自动驾驶仿真任务包括的场景信息中获取一个符合要求的场景信息并运行后加入到输出数据组中的;符合要求的场景信息包括未被获取过的场景信息或被获取过但获取该场景信息的任务管理器运行失败的场景信息。应用本申请所述方案,可提升任务运行的成功率及提升资源利用率等。

Description

自动驾驶仿真任务调度方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机应用技术,特别涉及自动驾驶领域的自动驾驶仿真任务调度方法、装置、电子设备及存储介质。
背景技术
自动驾驶仿真任务是一种用于验证自动驾驶算法的计算任务。针对自动驾驶仿真任务,目前通常采用简单的分布式运行方式,如根据自动驾驶仿真任务中包括的场景数量,分配同样数量的节点,每个节点分别运行一个场景信息。但这种方式很容易受到异常节点的影响,如一旦某一节点出现故障,则会导致任务无法完成等。
发明内容
本申请提供了自动驾驶仿真任务调度方法、装置、电子设备及存储介质。
一种自动驾驶仿真任务调度方法,包括:
将待处理的自动驾驶仿真任务中包括的N个场景信息加入输入数据组,并向集群申请M个节点,所述N和所述M均为大于一的正整数,所述M个节点上分别具有一个任务管理器;
从输出数据组中获取所述N个场景信息的运行结果;其中,所述运行结果为所述M个节点上的M个任务管理器启动后其中的任一任务管理器每次处于空闲状态时、从所述自动驾驶仿真任务包括的场景信息中获取一个符合要求的场景信息并运行后加入到所述输出数据组中的;所述符合要求的场景信息包括未被获取过的场景信息或被获取过但获取所述场景信息的任务管理器运行失败的场景信息。
一种自动驾驶仿真任务调度方法,包括:
为待处理的自动驾驶仿真任务分配所请求的M个节点,M为大于一的正整数;
分别启动所述M个节点上的任务管理器,所述M个节点上分别具有一个任务管理器;任一所述任务管理器分别用于在每次处于空闲状态时、从加入到输入数据组中的所述自动驾驶仿真任务包括的场景信息中获取一个符合要求的场景信息并运行,将运行结果加入到输出数据组中;所述符合要求的场景信息包括未被获取过的场景信息或被获取过但获取所述场景信息的任务管理器运行失败的场景信息。
一种自动驾驶仿真任务调度装置,包括:任务发起模块以及结果处理模块;
所述任务发起模块,用于将待处理的自动驾驶仿真任务中包括的N个场景信息加入输入数据组,并向集群申请M个节点,所述N和所述M均为大于一的正整数,所述M个节点上分别具有一个任务管理器;
所述结果处理模块,用于从输出数据组中获取所述N个场景信息的运行结果;其中,所述运行结果为所述M个节点上的M个任务管理器启动后其中的任一任务管理器每次处于空闲状态时、从所述自动驾驶仿真任务包括的场景信息中获取一个符合要求的场景信息并运行后加入到所述输出数据组中的;所述符合要求的场景信息包括未被获取过的场景信息或被获取过但获取所述场景信息的任务管理器运行失败的场景信息。
一种自动驾驶仿真任务调度装置,包括:第一调度模块以及第二调度模块;
所述第一调度模块,用于为待处理的自动驾驶仿真任务分配所请求的M个节点,M为大于一的正整数;
所述第二调度模块,用于分别启动所述M个节点上的任务管理器,所述M个节点上分别具有一个任务管理器;任一所述任务管理器分别用于在每次处于空闲状态时、从加入到输入数据组中的所述自动驾驶仿真任务包括的场景信息中获取一个符合要求的场景信息并运行,将运行结果加入到输出数据组中;所述符合要求的场景信息包括未被获取过的场景信息或被获取过但获取所述场景信息的任务管理器运行失败的场景信息。
一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如以上所述的方法。
一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如以上所述的方法。
上述申请中的一个实施例具有如下优点或有益效果:即便某个或少量节点出现异常,其它正常的节点仍可及时运行完任务中的所有场景信息,从而避免了异常节点对任务造成的影响,进而提升了任务运行的成功率等,而且,可在单个节点上运行多个场景信息,从而实现了运行环境的复用,进而减少了资源消耗,提升了资源利用率等。应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1为本申请所述自动驾驶仿真任务调度方法第一实施例的流程图;
图2为本申请所述自动驾驶仿真任务调度方法第二实施例的流程图;
图3为本申请所述自动驾驶仿真任务调度方法的整体实现过程示意图;
图4为本申请所述自动驾驶仿真任务调度装置第一实施例40的组成结构示意图;
图5为本申请所述自动驾驶仿真任务调度装置第二实施例50的组成结构示意图;
图6为根据本申请实施例所述方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
另外,应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
图1为本申请所述自动驾驶仿真任务调度方法第一实施例的流程图。如图1所示,包括以下具体实现方式。
在101中,将待处理的自动驾驶仿真任务中包括的N个场景(ads)信息加入输入数据组(input),并向集群申请M个节点,N和M均为大于一的正整数,M个节点上分别具有一个任务管理器(Taskengine)。
在102中,从输出数据组(output)中获取N个场景信息的运行结果;其中,所述运行结果为M个节点上的M个任务管理器启动后其中的任一任务管理器每次处于空闲状态时、从自动驾驶仿真任务包括的场景信息中获取一个符合要求的场景信息并运行后加入到输出数据组中的;符合要求的场景信息包括未被获取过的场景信息或被获取过但获取该场景信息的任务管理器运行失败的场景信息。
每个自动驾驶仿真任务中分别包括若干个场景信息,场景信息数量从几个到几万甚至几十万个不等。比如,某一自动驾驶仿真任务是为了测试某一算法是不是适用于各种场景信息,所述场景信息可包括在十字路口左转、在十字路口右转、在高速上以预定速度行驶等。
针对待处理的自动驾驶仿真任务,可将其中包括的N个场景信息加入输入数据组,也就是说,输入数据组可用于存放场景信息,N通常为大于一的正整数。
并且,可向集群申请M个节点,M为大于一的正整数。优选地,所述集群可为分布式集群,具体类型不限,如可为k8s分布式集群。集群中包括多个节点,每个节点上分别具有一个任务管理器。
具体地,可首先根据N所处的取值区间的不同,确定出M的取值,进而可按照确定出的M的取值向集群申请M个节点。优选地,N所处的取值区间可分为以下四种情况:N的取值小于或等于1/2*delta_count、N的取值大于1/2*delta_count且小于或等于delta_count/delta_ratio、N的取值大于delta_count/delta_ratio且小于或等于capacity/(1+delta_ratio)、N的取值大于capacity/(1+delta_ratio),以下分别对这四种情况下M的取值的确定方式进行说明。
1)N的取值小于或等于1/2*delta_count
若N的取值小于或等于1/2*delta_count,可将3*N作为M的取值,其中,delta_count为预先设定的第一参数,具体取值可根据实际需要而定,如50。
这种情况下,优选地,可分别为N个场景信息中的各场景信息生成2个副本,从而得到3*N个场景信息,将3*N个场景信息加入输入数据组,这样,当至少两个任务管理器运行相同的场景信息时,可将最先运行完成的任务管理器的运行结果作为该场景信息的运行结果。
比如,N的取值为3,即自动驾驶仿真任务中包括3个场景信息,分别为场景信息1、场景信息2和场景信息3,那么可分别为场景信息1、场景信息2和场景信息3生成两个副本,连同场景信息1、场景信息2和场景信息3一起,共得到9个场景信息,相应地,可申请9个节点,每个节点上的任务管理器可分别运行一个场景信息,不同的任务管理器由于环境问题等运行速度会有差异,而且可能会出现异常,那么对于运行同一场景信息的多个任务管理器,如运行场景信息1及其副本的3个任务管理器,可将最先运行完成的任务管理器的运行结果作为该场景信息的运行结果。
2)N的取值大于1/2*delta_count且小于或等于delta_count/delta_ratio
若N的取值大于1/2*delta_count且小于或等于delta_count/delta_ratio,可将N+delta_count作为M的取值,其中,delta_ratio为预先设定的第二参数,具体取值可根据实际需要而定,如0.1。
3)N的取值大于delta_count/delta_ratio且小于或等于capacity(1+delta_ratio)
若N的取值大于delta_count/delta_ratio且小于或等于capacity(1+delta_ratio),可将N*(1+delta_ratio)作为M的取值,其中,capacity为预先设定的集群最大并发数,具体取值可根据实际需要而定,如3000。
4)N的取值大于capacity(1+delta_ratio)
若N的取值大于capacity(1+delta_ratio),可将capacity作为M的取值。
综合上述介绍,可得到如表一所示的N和M的对应关系:
M N
3*N N<=1/2*delta_count
N+delta_count 1/2*delta_count<N<=delta_count/delta_ratio
N*(1+delta_ratio) delta_count/delta_ratio<N<=capacity/(1+delta_ratio)
capacity N>capacity/(1+delta_ratio)
表一N和M的对应关系
可以看出,当N的取值较小时,即N<=1/2*delta_count、1/2*delta_count<N<=delta_count/delta_ratio及delta_count/delta_ratio<N<=capacity/(1+delta_ratio)时,M的取值会大于N的取值,即申请的节点数量会存在一定的冗余,从而可使得自动驾驶仿真任务能够尽快运行完成,进而提升了任务运行效率等,这些情况下的自动驾驶仿真任务通常为验证性任务,占用资源少,通过多申请一些节点,可尽快拿到验证结果,从而便于后续的大规模测试等。
在实际应用中,N<=1/2*delta_count、1/2*delta_count<N<=delta_count/delta_ratio及delta_count/delta_ratio<N<=capacity/(1+delta_ratio)的情况出现较少,大多数情况下的自动驾驶仿真任务中都包括很多场景信息,即大多数情况下N>capacity/(1+delta_ratio),这种情况下M的取值可为capacity。
从集群申请M个节点后,集群可在M个节点上进行运行环境的初始化,如何进行初始化为现有技术,之后可启动节点上的任务管理器。相应地,每个任务管理器启动之后,每次处于空闲状态时,可从输入数据组中的自动驾驶仿真任务包括的场景信息中获取一个符合要求的场景信息,运行后得到运行结果,将运行结果加入到输出数据组,符合要求的场景信息可包括未被获取过的场景信息或被获取过但运行失败的场景信息。
比如,自动驾驶仿真任务中包括10000个场景信息,申请了3000个节点,那么对于任一节点上的任务管理器来说,在其启动之后,可从输入数据组中的这10000个场景信息随机获取一个符合要求的场景信息,运行后得到运行结果,将运行结果加入到输出数据组中,之后可再次获取一个符合要求的场景信息,并再次运行等。符合要求的场景信息可以是指之前未被任一任务管理器获取过的场景信息,也可以是指被任务管理器获取过但运行失败的场景信息等。
所申请的节点通常为当前处于空闲状态的节点。优选地,还可实时更新并展示自动驾驶仿真任务的运行状态,所述运行状态可包括:正在运行、运行完成及等待运行等。比如,当前不存在处于空闲状态的节点,那么则无法运行任务,从而处于等待运行的状态。通过展示运行状态,可以使用户及时、清楚、明确地了解到自动驾驶仿真任务的运行情况。
在从输出数据组中获取到N个场景信息的运行结果之后,可对其进行汇总等,从而得到最终所需的自动驾驶仿真任务的运行结果。
图2为本申请所述自动驾驶仿真任务调度方法第二实施例的流程图。如图2所示,包括以下具体实现方式。
在201中,为待处理的自动驾驶仿真任务分配所请求的M个节点,M为大于一的正整数。
在202中,分别启动M个节点上的任务管理器,M个节点上分别具有一个任务管理器;任一任务管理器分别用于在每次处于空闲状态时、从加入到输入数据组中的自动驾驶仿真任务包括的场景信息中获取一个符合要求的场景信息并运行,将运行结果加入到输出数据组中;符合要求的场景信息包括未被获取过的场景信息或被获取过但获取该场景信息的任务管理器运行失败的场景信息。
优选地,本实施例的执行主体可为集群。集群所分配的M个节点可为当前处于空闲状态的节点,若不存在处于空闲状态的节点,可等到存在处于空闲状态的节点之后再进行分配,若存在处于空闲状态的节点但数量小于M,可先将现有的处于空闲状态的节点分配给该自动驾驶仿真任务,待出现其它处于空闲状态的节点时,再继续分配给该自动驾驶仿真任务。
相应地,当分配给该自动驾驶仿真任务的任一节点符合回收条件时,可将该节点回收并分配给其它自动驾驶仿真任务使用。符合回收条件可以是指该自动驾驶仿真任务运行完成等。
需要说明的是,对于前述的方法实施例,为了简单描述,将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
综合上述介绍,图3为本申请所述自动驾驶仿真任务调度方法的整体实现过程示意图。如图3所示,启动器(Launcher)作为任务发起者,可负责向集群(为简化附图,未图示)提交自动驾驶仿真任务,即可将自动驾驶仿真任务中包括的N个场景信息加入输入数据组,并可向集群申请M个节点,集群可在M个节点上进行运行环境的初始化,之后可启动各节点上的任务管理器,任务管理器负责场景信息的运行,每次运行一个场景信息,即每次从输入数据组中获取符合要求的一个场景信息运行,并将运行结果加入输出数据组,跟踪器(Tracker)负责运行结果的回收及运行状态的监控,从输出数据组中获取各场景信息的运行结果,并进行汇总等,另外还可实时更新并展示自动驾驶仿真任务的运行状态等。在实际应用中,可同时运行多个自动驾驶仿真任务。
可以看出,采用上述自动驾驶仿真任务调度方法,即便某个或少量节点出现异常,其它正常的节点仍可及时运行完任务中的所有场景信息,从而避免了异常节点对任务造成的影响,进而提升了任务运行的成功率等,而且,可在单个节点上运行多个场景信息,从而实现了运行环境的复用,进而减少了资源消耗,提升了资源利用率等。
以上是关于方法实施例的介绍,以下通过装置实施例,对本申请所述方案进行进一步说明。
图4为本申请所述自动驾驶仿真任务调度装置第一实施例40的组成结构示意图。如图4所示,包括:任务发起模块401以及结果处理模块402。
任务发起模块401,用于将待处理的自动驾驶仿真任务中包括的N个场景信息加入输入数据组,并向集群申请M个节点,N和M均为大于一的正整数,M个节点上分别具有一个任务管理器。
结果处理模块402,用于从输出数据组中获取N个场景信息的运行结果;其中,运行结果为M个节点上的M个任务管理器启动后其中的任一任务管理器每次处于空闲状态时、从自动驾驶仿真任务包括的场景信息中获取一个符合要求的场景信息并运行后加入到输出数据组中的;符合要求的场景信息包括未被获取过的场景信息或被获取过但获取该场景信息的任务管理器运行失败的场景信息。
优选地,任务发起模块401可根据N所处的取值区间的不同,确定出M的取值,并按照M的取值向集群申请M个节点。
其中,若N的取值小于或等于1/2*delta_count,则M的取值可为3*N,delta_count为预先设定的第一参数。
相应地,任务发起模块401可分别为N个场景信息中的各场景信息生成2个副本,从而得到3*N个场景信息,将3*N个场景信息加入输入数据组。当至少两个任务管理器运行相同的场景信息时,可将最先运行完成的任务管理器的运行结果作为该场景信息的运行结果。
若N的取值大于1/2*delta_count且小于或等于delta_count/delta_ratio,则M的取值可为N+delta_count,其中,delta_ratio为预先设定的第二参数。
若N的取值大于delta_count/delta_ratio且小于或等于capacity(1+delta_ratio),则M的取值可为N*(1+delta_ratio);其中,capacity为预先设定的集群最大并发数。
若N的取值大于capacity(1+delta_ratio),则M的取值可为capacity。
优选地,结果处理模块402还可实时更新并展示自动驾驶仿真任务的运行状态,所述运行状态可至少包括:正在运行、运行完成及等待运行。
图5为本申请所述自动驾驶仿真任务调度装置第二实施例50的组成结构示意图。如图5所示,包括:第一调度模块501以及第二调度模块502。
第一调度模块501,用于为待处理的自动驾驶仿真任务分配所请求的M个节点,M为大于一的正整数。
第二调度模块502,用于分别启动M个节点上的任务管理器,M个节点上分别具有一个任务管理器;任一任务管理器分别用于在每次处于空闲状态时、从加入到输入数据组中的自动驾驶仿真任务包括的场景信息中获取一个符合要求的场景信息并运行,将运行结果加入到输出数据组中;符合要求的场景信息包括未被获取过的场景信息或被获取过但获取该场景信息的任务管理器运行失败的场景信息。
第一调度模块501还可在分配给该自动驾驶仿真任务的任一节点符合回收条件时,将该节点回收并分配给其它自动驾驶仿真任务使用。
图4和图5所示装置实施例的具体工作流程请参照前述方法实施例中的相关说明,不再赘述。
总之,采用上述装置实施例所述方案,即便某个或少量节点出现异常,其它正常的节点仍可及时运行完任务中的所有场景信息,从而避免了异常节点对任务造成的影响,进而提升了任务运行的成功率等,而且,可在单个节点上运行多个场景信息,从而实现了运行环境的复用,进而减少了资源消耗,提升了资源利用率等;另外,当N的取值较小时,申请的节点数量可存在一定的冗余,从而可使得自动驾驶仿真任务能够尽快运行完成,进而提升了任务运行效率等;再有,可通过展示运行状态,使得用户及时、清楚、明确地了解到自动驾驶仿真任务的运行情况等。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图6所示,是根据本申请实施例所述方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图6所示,该电子设备包括:一个或多个处理器Y01、存储器Y02,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示图形用户界面的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个处理器Y01为例。
存储器Y02即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的方法。
存储器Y02作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的方法对应的程序指令/模块。处理器Y01通过运行存储在存储器Y02中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的方法。
存储器Y02可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器Y02可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器Y02可选包括相对于处理器Y01远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、区块链网络、局域网、移动通信网及其组合。
电子设备还可以包括:输入装置Y03和输出装置Y04。处理器Y01、存储器Y02、输入装置Y03和输出装置Y04可以通过总线或者其他方式连接,图6中以通过总线连接为例。
输入装置Y03可接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置Y04可以包括显示设备、辅助照明装置和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器、发光二极管显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用集成电路、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,阴极射线管或者液晶显示器监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网、广域网、区块链网络和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (20)

1.一种自动驾驶仿真任务调度方法,其特征在于,包括:
将待处理的自动驾驶仿真任务中包括的N个场景信息加入输入数据组,并向集群申请M个节点,所述N和所述M均为大于一的正整数,所述M个节点上分别具有一个任务管理器;
从输出数据组中获取所述N个场景信息的运行结果;其中,所述运行结果为所述M个节点上的M个任务管理器启动后其中的任一任务管理器每次处于空闲状态时、从所述自动驾驶仿真任务包括的场景信息中获取一个符合要求的场景信息并运行后加入到所述输出数据组中的;所述符合要求的场景信息包括未被获取过的场景信息或被获取过但获取所述场景信息的任务管理器运行失败的场景信息。
2.根据权利要求1所述的方法,其特征在于,
所述向集群申请M个节点包括:根据所述N所处的取值区间的不同,确定出所述M的取值,按照所述M的取值向所述集群申请M个节点。
3.根据权利要求2所述的方法,其特征在于,
所述根据所述N所处的取值区间的不同,确定出所述M的取值包括:若所述N的取值小于或等于1/2*delta_count,则将3*N作为所述M的取值;其中,所述delta_count为预先设定的第一参数;
该方法进一步包括:分别为所述N个场景信息中的各场景信息生成2个副本,得到3*N个场景信息,将所述3*N个场景信息加入所述输入数据组;当至少两个任务管理器运行相同的场景信息时,将最先运行完成的任务管理器的运行结果作为所述场景信息的运行结果。
4.根据权利要求2所述的方法,其特征在于,
所述根据所述N所处的取值区间的不同,确定出所述M的取值包括:
若所述N的取值大于1/2*delta_count且小于或等于delta_count/delta_ratio,则将N+delta_count作为所述M的取值;
其中,所述delta_count为预先设定的第一参数,所述delta_ratio为预先设定的第二参数。
5.根据权利要求2所述的方法,其特征在于,
所述根据所述N所处的取值区间的不同,确定出所述M的取值包括:
若所述N的取值大于delta_count/delta_ratio且小于或等于capacity(1+delta_ratio),则将N*(1+delta_ratio)作为所述M的取值;
其中,所述delta_count为预先设定的第一参数,所述delta_ratio为预先设定的第二参数,所述capacity为预先设定的集群最大并发数。
6.根据权利要求2所述的方法,其特征在于,
所述根据所述N所处的取值区间的不同,确定出所述M的取值包括:
若所述N的取值大于capacity/(1+delta_ratio),则将capacity作为所述M的取值;
其中,所述capacity为预先设定的集群最大并发数。
7.根据权利要求1所述的方法,其特征在于,
该方法进一步包括:实时更新并展示所述自动驾驶仿真任务的运行状态;所述运行状态至少包括:正在运行、运行完成及等待运行。
8.一种自动驾驶仿真任务调度方法,其特征在于,包括:
为待处理的自动驾驶仿真任务分配所请求的M个节点,M为大于一的正整数;
分别启动所述M个节点上的任务管理器,所述M个节点上分别具有一个任务管理器;任一所述任务管理器分别用于在每次处于空闲状态时、从加入到输入数据组中的所述自动驾驶仿真任务包括的场景信息中获取一个符合要求的场景信息并运行,将运行结果加入到输出数据组中;所述符合要求的场景信息包括未被获取过的场景信息或被获取过但获取所述场景信息的任务管理器运行失败的场景信息。
9.根据权利要求8所述的方法,其特征在于,
该方法进一步包括:当分配给所述自动驾驶仿真任务的任一节点符合回收条件时,将所述节点回收并分配给其它自动驾驶仿真任务使用。
10.一种自动驾驶仿真任务调度装置,其特征在于,包括:任务发起模块以及结果处理模块;
所述任务发起模块,用于将待处理的自动驾驶仿真任务中包括的N个场景信息加入输入数据组,并向集群申请M个节点,所述N和所述M均为大于一的正整数,所述M个节点上分别具有一个任务管理器;
所述结果处理模块,用于从输出数据组中获取所述N个场景信息的运行结果;其中,所述运行结果为所述M个节点上的M个任务管理器启动后其中的任一任务管理器每次处于空闲状态时、从所述自动驾驶仿真任务包括的场景信息中获取一个符合要求的场景信息并运行后加入到所述输出数据组中的;所述符合要求的场景信息包括未被获取过的场景信息或被获取过但获取所述场景信息的任务管理器运行失败的场景信息。
11.根据权利要求10所述的装置,其特征在于,
所述任务发起模块根据所述N所处的取值区间的不同,确定出所述M的取值,按照所述M的取值向所述集群申请M个节点。
12.根据权利要求11所述的装置,其特征在于,
若所述N的取值小于或等于1/2*delta_count,则所述M的取值为3*N;其中,所述delta_count为预先设定的第一参数;
所述任务发起模块进一步用于,分别为所述N个场景信息中的各场景信息生成2个副本,得到3*N个场景信息,将所述3*N个场景信息加入所述输入数据组;
其中,当至少两个任务管理器运行相同的场景信息时,最先运行完成的任务管理器的运行结果为所述场景信息的运行结果。
13.根据权利要求11所述的装置,其特征在于,
若所述N的取值大于1/2*delta_count且小于或等于delta_count/delta_ratio,则所述M的取值为N+delta_count;其中,所述delta_count为预先设定的第一参数,所述delta_ratio为预先设定的第二参数。
14.根据权利要求11所述的装置,其特征在于,
若所述N的取值大于delta_count/delta_ratio且小于或等于capacity(1+delta_ratio),则所述M的取值为N*(1+delta_ratio);其中,所述delta_count为预先设定的第一参数,所述delta_ratio为预先设定的第二参数,所述capacity为预先设定的集群最大并发数。
15.根据权利要求11所述的装置,其特征在于,
若所述N的取值大于capacity(1+delta_ratio),则所述M的取值为capacity;其中,所述capacity为预先设定的集群最大并发数。
16.根据权利要求10所述的装置,其特征在于,
所述结果处理模块进一步用于,实时更新并展示所述自动驾驶仿真任务的运行状态;所述运行状态至少包括:正在运行、运行完成及等待运行。
17.一种自动驾驶仿真任务调度装置,其特征在于,包括:第一调度模块以及第二调度模块;
所述第一调度模块,用于为待处理的自动驾驶仿真任务分配所请求的M个节点,M为大于一的正整数;
所述第二调度模块,用于分别启动所述M个节点上的任务管理器,所述M个节点上分别具有一个任务管理器;任一所述任务管理器分别用于在每次处于空闲状态时、从加入到输入数据组中的所述自动驾驶仿真任务包括的场景信息中获取一个符合要求的场景信息并运行,将运行结果加入到输出数据组中;所述符合要求的场景信息包括未被获取过的场景信息或被获取过但获取所述场景信息的任务管理器运行失败的场景信息。
18.根据权利要求17所述的装置,其特征在于,
所述第一调度模块进一步用于,当分配给所述自动驾驶仿真任务的任一节点符合回收条件时,将所述节点回收并分配给其它自动驾驶仿真任务使用。
19.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。
20.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-9中任一项所述的方法。
CN202010230973.XA 2020-03-27 2020-03-27 自动驾驶仿真任务调度方法、装置、电子设备及存储介质 Active CN111506401B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010230973.XA CN111506401B (zh) 2020-03-27 2020-03-27 自动驾驶仿真任务调度方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010230973.XA CN111506401B (zh) 2020-03-27 2020-03-27 自动驾驶仿真任务调度方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111506401A true CN111506401A (zh) 2020-08-07
CN111506401B CN111506401B (zh) 2023-11-21

Family

ID=71878192

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010230973.XA Active CN111506401B (zh) 2020-03-27 2020-03-27 自动驾驶仿真任务调度方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111506401B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112148481A (zh) * 2020-09-10 2020-12-29 苏州浪潮智能科技有限公司 一种执行仿真测试任务的方法、系统、设备及介质
CN112183053A (zh) * 2020-10-10 2021-01-05 湖南快乐阳光互动娱乐传媒有限公司 一种数据处理方法及装置
CN112213956A (zh) * 2020-09-27 2021-01-12 苏州浪潮智能科技有限公司 一种自动驾驶仿真任务调度方法、装置、设备及可读介质
CN112639734A (zh) * 2020-12-10 2021-04-09 华为技术有限公司 仿真任务调度方法、执行方法、仿真实现方法及装置
CN114090350A (zh) * 2021-09-27 2022-02-25 重庆长安汽车股份有限公司 一种适用于智能驾驶模型开发的集群测试方法、系统及计算机可读存储介质
CN115437270A (zh) * 2022-09-01 2022-12-06 中国第一汽车股份有限公司 汽车自动驾驶的仿真方法、装置、存储介质及设备

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106200612A (zh) * 2016-07-07 2016-12-07 百度在线网络技术(北京)有限公司 用于测试车辆的方法和系统
CN106873397A (zh) * 2017-01-23 2017-06-20 同济大学 智能网联汽车“硬件在环”加速加载仿真测试系统
CN107172650A (zh) * 2016-03-08 2017-09-15 中兴通讯股份有限公司 一种大规模复杂无线通信系统的仿真方法和系统
CN108829087A (zh) * 2018-07-19 2018-11-16 山东省科学院自动化研究所 一种自动驾驶汽车的智能测试系统及测试方法
CN109856993A (zh) * 2019-01-29 2019-06-07 北京奥特贝睿科技有限公司 一种自主驾驶仿真平台
CN109905860A (zh) * 2019-02-28 2019-06-18 华北电力大学 一种基于车辆雾计算的服务器招募及任务卸载优化方案
CN110308716A (zh) * 2018-03-27 2019-10-08 上海汽车集团股份有限公司 一种基于集群的自动驾驶车辆的方法、装置及车辆
CN110661844A (zh) * 2019-08-16 2020-01-07 北京旷视科技有限公司 自动发布调度系统、方法和存储介质
US20200011675A1 (en) * 2018-07-04 2020-01-09 Baidu Online Network Technology (Beijing) Co., Ltd. Method, device and apparatus for acquiring map, and computer readable storage medium
CN110765661A (zh) * 2019-11-22 2020-02-07 北京京东乾石科技有限公司 自动驾驶仿真场景生成方法及装置、电子设备、存储介质
CN110795818A (zh) * 2019-09-12 2020-02-14 腾讯科技(深圳)有限公司 一种确定虚拟测试场景方法、装置、电子设备和存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107172650A (zh) * 2016-03-08 2017-09-15 中兴通讯股份有限公司 一种大规模复杂无线通信系统的仿真方法和系统
CN106200612A (zh) * 2016-07-07 2016-12-07 百度在线网络技术(北京)有限公司 用于测试车辆的方法和系统
CN106873397A (zh) * 2017-01-23 2017-06-20 同济大学 智能网联汽车“硬件在环”加速加载仿真测试系统
CN110308716A (zh) * 2018-03-27 2019-10-08 上海汽车集团股份有限公司 一种基于集群的自动驾驶车辆的方法、装置及车辆
US20200011675A1 (en) * 2018-07-04 2020-01-09 Baidu Online Network Technology (Beijing) Co., Ltd. Method, device and apparatus for acquiring map, and computer readable storage medium
CN108829087A (zh) * 2018-07-19 2018-11-16 山东省科学院自动化研究所 一种自动驾驶汽车的智能测试系统及测试方法
CN109856993A (zh) * 2019-01-29 2019-06-07 北京奥特贝睿科技有限公司 一种自主驾驶仿真平台
CN109905860A (zh) * 2019-02-28 2019-06-18 华北电力大学 一种基于车辆雾计算的服务器招募及任务卸载优化方案
CN110661844A (zh) * 2019-08-16 2020-01-07 北京旷视科技有限公司 自动发布调度系统、方法和存储介质
CN110795818A (zh) * 2019-09-12 2020-02-14 腾讯科技(深圳)有限公司 一种确定虚拟测试场景方法、装置、电子设备和存储介质
CN110765661A (zh) * 2019-11-22 2020-02-07 北京京东乾石科技有限公司 自动驾驶仿真场景生成方法及装置、电子设备、存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SIMON MINELLI 等: "Evaluation of connected vehicle impact on mobility and mode choice", 《JOURNAL OF TRAFFIC AND TRANSPORTATION ENGINEERING (ENGLISH EDITION)》, vol. 2, no. 5, pages 301 - 312 *
胡沈奇: "基于雾计算的车联网系统业务时延性能研究", 《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》, no. 03, pages 034 - 835 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112148481A (zh) * 2020-09-10 2020-12-29 苏州浪潮智能科技有限公司 一种执行仿真测试任务的方法、系统、设备及介质
CN112148481B (zh) * 2020-09-10 2022-11-22 苏州浪潮智能科技有限公司 一种执行仿真测试任务的方法、系统、设备及介质
CN112213956A (zh) * 2020-09-27 2021-01-12 苏州浪潮智能科技有限公司 一种自动驾驶仿真任务调度方法、装置、设备及可读介质
CN112213956B (zh) * 2020-09-27 2023-01-06 苏州浪潮智能科技有限公司 一种自动驾驶仿真任务调度方法、装置、设备及可读介质
US11868808B2 (en) 2020-09-27 2024-01-09 Inspur Suzhou Intelligent Technology Co., Ltd. Automatic driving simulation task scheduling method and apparatus, device, and readable medium
CN112183053A (zh) * 2020-10-10 2021-01-05 湖南快乐阳光互动娱乐传媒有限公司 一种数据处理方法及装置
CN112639734A (zh) * 2020-12-10 2021-04-09 华为技术有限公司 仿真任务调度方法、执行方法、仿真实现方法及装置
CN114090350A (zh) * 2021-09-27 2022-02-25 重庆长安汽车股份有限公司 一种适用于智能驾驶模型开发的集群测试方法、系统及计算机可读存储介质
CN115437270A (zh) * 2022-09-01 2022-12-06 中国第一汽车股份有限公司 汽车自动驾驶的仿真方法、装置、存储介质及设备

Also Published As

Publication number Publication date
CN111506401B (zh) 2023-11-21

Similar Documents

Publication Publication Date Title
CN111506401B (zh) 自动驾驶仿真任务调度方法、装置、电子设备及存储介质
CN110780890B (zh) 系统升级方法、装置、电子设备和介质
CN110806923A (zh) 一种区块链任务的并行处理方法、装置、电子设备和介质
CN111880914A (zh) 资源调度方法、资源调度装置、电子设备和存储介质
CN111694646A (zh) 资源调度方法、装置、电子设备及计算机可读存储介质
CN110995480A (zh) 区块链网络部署方法、装置、电子设备和介质
CN113867916A (zh) 任务处理方法、装置及电子设备
CN111782147B (zh) 用于集群扩缩容的方法和装置
CN112035220A (zh) 开发机操作任务的处理方法、装置、设备以及存储介质
CN110688327B (zh) 显存管理方法、装置、电子设备和计算机可读存储介质
CN110647570B (zh) 数据处理方法、装置以及电子设备
CN111831752B (zh) 分布式数据库的空间整理方法、装置、设备以及存储介质
CN111581049B (zh) 分布式系统运行状态监测方法、装置、设备及存储介质
CN111752953A (zh) 标识生成方法、装置、设备以及存储介质
CN112486645A (zh) 一种定时任务监控方法、装置、电子设备和介质
CN111782341A (zh) 用于管理集群的方法和装置
CN114721686A (zh) 配置数据更新方法、装置、电子设备和存储介质
CN111782357B (zh) 标签控制方法及装置、电子设备和可读存储介质
US9703601B2 (en) Assigning levels of pools of resources to a super process having sub-processes
CN111738325A (zh) 图像识别方法、装置、设备以及存储介质
CN110750313A (zh) 一种中间件的热加载方法、装置、电子设备及存储介质
CN112085471B (zh) 任务分发方法、装置、电子设备及存储介质
CN111258954B (zh) 数据迁移方法、装置、设备及存储介质
CN112527368A (zh) 集群内核版本更新方法、装置、电子设备和存储介质
CN111860572A (zh) 数据集蒸馏方法、装置、电子设备及存储介质

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