CN114780226B - Resource scheduling method and device, computer readable storage medium and vehicle - Google Patents

Resource scheduling method and device, computer readable storage medium and vehicle Download PDF

Info

Publication number
CN114780226B
CN114780226B CN202210669420.3A CN202210669420A CN114780226B CN 114780226 B CN114780226 B CN 114780226B CN 202210669420 A CN202210669420 A CN 202210669420A CN 114780226 B CN114780226 B CN 114780226B
Authority
CN
China
Prior art keywords
task
executed
hardware node
graph
directed
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
CN202210669420.3A
Other languages
Chinese (zh)
Other versions
CN114780226A (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.)
Xiaomi Automobile Technology Co Ltd
Original Assignee
Xiaomi Automobile 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 Xiaomi Automobile Technology Co Ltd filed Critical Xiaomi Automobile Technology Co Ltd
Priority to CN202210669420.3A priority Critical patent/CN114780226B/en
Publication of CN114780226A publication Critical patent/CN114780226A/en
Application granted granted Critical
Publication of CN114780226B publication Critical patent/CN114780226B/en
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
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The disclosure relates to the field of automatic driving, in particular to a resource scheduling method and device, a computer readable storage medium and a vehicle. The method comprises the following steps: the current hardware node acquires a task to be executed; cutting out a directed acyclic communication sub-graph taking the current hardware node as a starting point from a directed cyclic communication graph, wherein the directed cyclic communication graph is determined based on the connection relation between each piece of hardware of the vehicle; distributing the task to be executed to at least one target hardware node in the directed acyclic communication sub-graph for execution; and receiving an execution result of the target hardware node aiming at the task to be executed. By adopting the mode, the utilization rate of the whole vehicle hardware of the vehicle can be improved.

Description

Resource scheduling method and device, computer readable storage medium and vehicle
Technical Field
The present disclosure relates to the field of automatic driving technologies, and in particular, to a resource scheduling method and apparatus, a computer-readable storage medium, and a vehicle.
Background
The vehicle is a complex software and hardware combined system, and the hardware devices in the traditional vehicle include an ECM (Engine Control Management, Engine Control module/device) for controlling the Engine, a TCU (Transmission Control Unit) for controlling the Transmission, a BCM (Body Control Management, vehicle Body Control module) for controlling the vehicle Body, and the like; hardware devices in the new energy automobile include a Vehicle Control Unit (VCU), a Motor Control Unit (MCU), a Battery Management System (BMS), and the like; in some special cases, smart-drive vehicles are equipped with dedicated ECUs, such as sensor data processors.
In the related art, vehicle hardware respectively plays its own roles and respectively executes corresponding role tasks. For example, a vehicle monitoring task, a data acquisition task, a data calculation task, and the like of the vehicle are respectively performed in the corresponding hardware devices. But this approach makes the vehicle hardware less efficient.
Disclosure of Invention
To overcome the problems in the related art, the present disclosure provides a resource scheduling method, apparatus, computer-readable storage medium, and vehicle.
According to a first aspect of the embodiments of the present disclosure, there is provided a resource scheduling method, the method including:
the current hardware node acquires a task to be executed;
cutting out a directed acyclic communication sub-graph taking the current hardware node as a starting point from a directed cyclic communication graph, wherein the directed cyclic communication graph is determined based on the connection relation between each piece of hardware of the vehicle;
distributing the task to be executed to at least one target hardware node in the directed acyclic communication sub-graph for execution;
and receiving an execution result of the target hardware node aiming at the task to be executed.
Optionally, the allocating the task to be executed to at least one target hardware node in the directed acyclic communication sub-graph for execution includes:
determining the target hardware node with the idle degree larger than a preset threshold value from the directed acyclic communication sub-map based on the idle degree of each hardware node in the directed acyclic communication sub-map;
determining the number of the target hardware nodes;
splitting the task to be executed into the sub tasks to be executed corresponding to the number;
and distributing the subtasks to be executed to the target hardware nodes for execution, wherein the subtasks to be executed correspond to the target hardware nodes one to one.
Optionally, the receiving an execution result of the target hardware node for the task to be executed includes:
receiving an execution sub-result of each target hardware node aiming at the sub-task to be executed;
and generating the execution result corresponding to the task to be executed according to each execution sub-result.
Optionally, the allocating the task to be executed to at least one target hardware node in the directed acyclic communication sub-graph for execution includes:
determining the target hardware node with the maximum idle degree from the directed acyclic communication sub-map based on the idle degree of each hardware node in the directed acyclic communication sub-map;
and distributing the task to be executed to the target hardware node for execution.
Optionally, the directed cyclic communication graph includes directed line segments, where the directed line segments are used to connect hardware nodes, and the cutting out a directed acyclic communication sub-graph with the current hardware node as a starting point from the directed cyclic communication graph includes:
deleting a first target directed line segment pointing to the current hardware node in the directed cyclic communication graph to obtain a first communication sub-graph;
numbering each hardware node in the first communication sub-graph according to the pointing direction of the directed line segment by taking the current hardware node as a starting point;
and deleting a second target directed line segment pointing to the Nth-M hardware nodes from the Nth hardware node in the first communication sub-graph to obtain the directed acyclic communication sub-graph, wherein M and N are positive integers.
Optionally, the idle degree of the hardware node is determined according to at least one information of CPU usage, network bandwidth, memory occupancy rate, and usage frequency of the hardware node.
According to a second aspect of the embodiments of the present disclosure, there is provided a resource scheduling apparatus, the apparatus including:
the acquisition module is configured to acquire a task to be executed by a current hardware node;
a cutting module configured to cut a directed acyclic communication sub-map starting from the current hardware node from a directed cyclic communication map, wherein the directed cyclic communication map is determined based on a connection relationship between each piece of hardware of the vehicle;
an allocation module configured to allocate the task to be executed to at least one target hardware node in the directed acyclic communication sub-graph for execution;
a receiving module configured to receive an execution result of the target hardware node for the task to be executed.
Optionally, the allocation module comprises:
a first determining sub-module configured to determine, from the directed acyclic communication sub-map, the target hardware node whose idleness is greater than a preset threshold based on the idleness of each hardware node in the directed acyclic communication sub-map;
a second determining submodule configured to determine a number of the target hardware nodes;
the splitting sub-module is configured to split the to-be-executed task into the number of to-be-executed sub-tasks;
and the first allocating submodule is configured to allocate the subtasks to be executed to the target hardware nodes for execution, and the subtasks to be executed correspond to the target hardware nodes one to one.
Optionally, the receiving module includes:
the receiving submodule is configured to receive an execution sub-result of each target hardware node for the sub-task to be executed;
and the generation submodule is configured to generate the execution result corresponding to the task to be executed according to each execution sub-result.
Optionally, the allocation module includes:
a third determining submodule configured to determine, based on the idle degree of each hardware node in the directed acyclic communication sub-graph, the target hardware node with the largest idle degree from the directed acyclic communication sub-graph;
and the second distribution submodule is configured to distribute the task to be executed to the target hardware node for execution.
Optionally, the directed cyclic communication graph includes directed line segments, the directed line segments are used for connecting hardware nodes, and the clipping module is configured to:
deleting a first target directed line segment pointing to the current hardware node in the directed cyclic communication graph to obtain a first communication sub-graph; numbering each hardware node in the first communication sub-graph according to the pointing direction of the directed line segment by taking the current hardware node as a starting point; and deleting a second target directed line segment pointing to the Nth-M hardware nodes from the Nth hardware node in the first communication sub-graph to obtain the directed acyclic communication sub-graph, wherein M and N are positive integers.
Optionally, the idle degree of the hardware node is determined according to at least one of CPU usage, network bandwidth, memory occupancy rate, and usage frequency of the hardware node.
According to a third aspect of the embodiments of the present disclosure, there is provided a resource scheduling apparatus, including:
a processor;
a memory for storing processor-executable instructions;
wherein the processor is configured to:
the current hardware node acquires a task to be executed;
cutting out a directed acyclic communication sub-graph taking the current hardware node as a starting point from a directed cyclic communication graph, wherein the directed cyclic communication graph is determined based on the connection relation between each piece of hardware of the vehicle;
distributing the task to be executed to at least one target hardware node in the directed acyclic communication sub-graph for execution;
and receiving an execution result of the target hardware node aiming at the task to be executed.
According to a fourth aspect of embodiments of the present disclosure, there is provided a computer-readable storage medium having stored thereon computer program instructions, which when executed by a processor, implement the steps of the resource scheduling method provided by the first aspect of the present disclosure.
According to a fifth aspect of the embodiments of the present disclosure, there is provided a vehicle including the resource scheduling apparatus of the third aspect.
The technical scheme provided by the embodiment of the disclosure can have the following beneficial effects:
and the current hardware node acquires a task to be executed. And cutting out a directed acyclic communication sub-map taking the current hardware node as a starting point from the directed cyclic communication map, wherein the directed cyclic communication map is determined based on the connection relation among the hardware of the vehicle. And distributing the task to be executed to at least one target hardware node in the directed acyclic communication sub-graph for execution. And receiving an execution result of the target hardware node aiming at the task to be executed. Compared with the mode that each hardware can only execute the respective functional task because each hardware does not have the direct communication capability in the related technology, the mode disclosed by the invention enables each hardware to have the communication capability based on the constructed directed cyclic communication map, and the mode disclosed by the invention can fully utilize the hardware of the vehicle because the current hardware node distributes the task to be executed to other target hardware nodes for execution, thereby improving the utilization rate of the hardware of the whole vehicle.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure.
Fig. 1 is a flow chart illustrating a method of resource scheduling in accordance with an example embodiment.
Fig. 2 is a diagram illustrating a directed cyclic communication graph in accordance with an exemplary embodiment.
Figure 3 is a schematic diagram illustrating a directed acyclic communication sub-map, according to an example embodiment.
Figure 4 is a schematic diagram illustrating another directed acyclic communication sub-map, according to an example embodiment.
Figure 5 is a schematic diagram illustrating a first communication sub-map, according to an example embodiment.
Figure 6 is a schematic diagram illustrating another first communication sub-map, according to an example embodiment.
Figure 7 is a schematic diagram illustrating another directed acyclic communication sub-map, according to an example embodiment.
Fig. 8 is a block diagram illustrating a resource scheduling apparatus according to an example embodiment.
Fig. 9 is a block diagram illustrating another resource scheduling apparatus according to an example embodiment.
FIG. 10 is a functional block diagram of a vehicle shown in accordance with an exemplary embodiment.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the exemplary embodiments below are not intended to represent all implementations consistent with the present disclosure. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present disclosure, as detailed in the appended claims.
It should be noted that all the actions of acquiring signals, information or data in the present application are performed under the premise of complying with the corresponding data protection regulation policy of the country of the location and obtaining the authorization given by the owner of the corresponding device.
Fig. 1 is a flowchart illustrating a resource scheduling method according to an exemplary embodiment, as shown in fig. 1, the resource scheduling method is applied to any hardware on a vehicle, for example, the hardware on the vehicle may be an ECM, a TCU, a VCU, an MCU, an ECU, a communication device, and the like, and the hardware executing the resource scheduling method may also be referred to as a current hardware node in the embodiments of the present disclosure, and the resource scheduling method may include the following steps.
In step S11, the current hardware node acquires a task to be executed.
The current hardware node may characterize any hardware in the vehicle. The implementation manner of acquiring the task to be executed by the current hardware node may be that the current hardware node actively acquires the task to be executed, or that the current hardware node passively acquires (i.e., receives) the task to be executed from an upper application.
Tasks to be performed include, but are not limited to, tasks to monitor vehicle conditions, tasks to collect data, and tasks to integrate/compute data. Such as the task of data processing/computation when running an automated driving algorithm.
In step S12, a directed acyclic communication sub-map starting from the current hardware node is cut out from a directed cyclic communication map determined based on a connection relationship between each piece of hardware of the vehicle.
The directed cyclic communication map is determined based on a connection relationship between hardware of the vehicle, wherein the connection relationship comprises at least one of a hardware connection relationship and a network connection relationship. For example, if the hardware a and the hardware B are in the same lan, the hardware a and the hardware B have a connection relationship.
Taking fig. 2 as an example, assuming that the current hardware node is characterized as a node B, a directed acyclic communication sub-graph with the node B as a starting point, which is cut out from the directed cyclic communication graph shown in fig. 2, can be shown in fig. 3.
It should be noted that the directed cyclic communication graph and the directed acyclic communication sub-graph include directed line segments and hardware nodes, the directed line segments are used for connecting the hardware nodes, and the pointing direction of the directed line segments represents a communicable direction. For example, as shown in fig. 2, a directed line segment α points from a hardware node a to a hardware node B, and the characterization hardware node a may send data to the hardware node B, for example, data characterizing a task issuing/scheduling instruction.
In step S13, the task to be executed is allocated to at least one target hardware node in the directed acyclic communication sub-graph for execution.
Taking fig. 3 as an example, in some embodiments, the current hardware node B may allocate the task B to be executed to the target hardware node C in the directed acyclic communication sub-graph shown in fig. 3.
Still taking fig. 3 as an example, in other embodiments, the current hardware node B may also allocate the task B to be executed to the target hardware node D in the directed acyclic communication sub-graph shown in fig. 3. The implementation mode can be that the current hardware node B firstly schedules the task B to be executed from the hardware node B to the hardware node C, and then schedules the task B to be executed from the hardware node C to the target hardware node D.
Taking fig. 4 as an example, the current hardware node B may also allocate the task B to be executed to the target hardware node D in the directed acyclic communication sub-graph shown in fig. 4. The implementation may be that the current hardware node B schedules the task B to be executed to the target hardware node D.
Still taking fig. 3 as an example, in other embodiments, the current hardware node B may also allocate the task B to be executed to the target hardware node C and the target hardware node D in the directed acyclic communication sub-graph shown in fig. 3.
It is worth to be noted that the objective of cutting out the directed acyclic communication sub-graph with the current hardware node as the starting point from the directed acyclic communication graph and allocating the task to be executed to at least one target hardware node in the directed acyclic communication sub-graph is to avoid infinite circular scheduling of the task to be executed in the cyclic hardware node communication circle.
In step S14, an execution result of the target hardware node for the task to be executed is received.
After the target hardware node executes the task to be executed, the target hardware node feeds back an execution result to the current hardware node, and the current hardware node receives the execution result, so that the current hardware node obtains the execution result corresponding to the task to be executed.
By adopting the method, the current hardware node acquires the task to be executed. And cutting out a directed acyclic communication sub-map taking the current hardware node as a starting point from the directed cyclic communication map, wherein the directed cyclic communication map is determined based on the connection relation among the hardware of the vehicle. And distributing the task to be executed to at least one target hardware node in the directed acyclic communication sub-graph for execution. And receiving an execution result of the target hardware node aiming at the task to be executed. Compared with the mode that each hardware can only execute the respective functional task because each hardware does not have direct communication capability in the related technology, the mode disclosed by the invention enables each hardware to have communication capability based on the constructed directed cyclic communication map, and the mode disclosed by the invention can fully utilize the hardware of the vehicle because the current hardware node distributes the task to be executed to other target hardware nodes for execution, thereby improving the utilization rate of the whole vehicle hardware of the vehicle.
Optionally, the allocating the task to be executed to at least one target hardware node in the directed acyclic communication sub-graph for execution includes:
determining the target hardware node with the idle degree larger than a preset threshold value from the directed acyclic communication sub-map based on the idle degree of each hardware node in the directed acyclic communication sub-map; determining the number of the target hardware nodes; splitting the task to be executed into the sub tasks to be executed corresponding to the number; and distributing the subtasks to be executed to the target hardware nodes for execution, wherein the subtasks to be executed correspond to the target hardware nodes one to one.
The idle degree of the hardware node is determined according to at least one of the CPU utilization rate, the network bandwidth, the memory occupancy rate and the use frequency of the hardware node. In some possible embodiments, the parameter dimension for calculating the idle degree of the hardware node may further include performance level, memory size, and the like of the hardware node, and this disclosure is not particularly limited.
Illustratively, the current hardware node determines a target hardware node from the directed acyclic communication sub-map, of which the idle degree is greater than a preset threshold, based on the idle degree of each hardware node in the directed acyclic communication sub-map. In the case where the number of target hardware nodes is plural, the number of target hardware nodes is determined. And splitting the task to be executed into a corresponding number of subtasks to be executed. And distributing each subtask to be executed to each target hardware node for execution, wherein the subtasks to be executed correspond to the target hardware nodes one to one. The preset threshold is an empirical value and can be set according to specific requirements.
Another example of the same principle as the previous example is that the current hardware node splits the to-be-executed task to obtain a plurality of to-be-executed subtasks. And determining a plurality of target hardware nodes which have larger idle degrees and correspond to the number of the subtasks to be executed from the directed acyclic communication sub-map based on the idle degree of each hardware node in the directed acyclic communication sub-map. And distributing each subtask to be executed to each target hardware node for execution, wherein the subtasks to be executed correspond to the target hardware nodes one to one.
When the number of the target hardware nodes is multiple, correspondingly, the receiving the execution result of the target hardware node for the task to be executed includes:
receiving an execution sub-result of each target hardware node aiming at the sub-task to be executed; and generating the execution result corresponding to the task to be executed according to each execution sub-result.
Illustratively, the execution sub-results of each target hardware node for the to-be-executed sub-task are received, and the execution sub-results are combined into the execution result of the to-be-executed task. Or, receiving the execution sub-result of each target hardware node for the to-be-executed sub-task, and generating (e.g., calculating) the execution result of the to-be-executed task according to each execution sub-result.
By adopting the method, the current hardware node distributes the tasks to be executed to a plurality of target hardware nodes for execution, thereby not only improving the hardware utilization rate, but also shortening the total time for executing the tasks. By shortening the total time for executing the tasks, more complex automatic driving algorithms can be deployed in the automatic driving vehicle, so that the vehicle safety can be improved.
In some possible cases, if the to-be-executed task does not support distributed execution, the allocating the to-be-executed task to at least one target hardware node in the directed acyclic communication sub-graph for execution includes:
determining the target hardware node with the maximum idle degree from the directed acyclic communication sub-map based on the idle degree of each hardware node in the directed acyclic communication sub-map; and distributing the task to be executed to the target hardware node for execution.
In some embodiments, if the task to be executed does not support distributed execution, the current hardware node may determine, based on the idle degree of each hardware node in the directed acyclic communication sub-map, a target hardware node with the largest idle degree from the directed acyclic communication sub-map, and allocate the task to be executed to the target hardware node for execution.
In this way, the target hardware node with the largest idle degree is selected to execute the task to be executed, so that load balance among the hardware is facilitated.
Optionally, the directed cyclic communication graph includes directed line segments, where the directed line segments are used to connect hardware nodes, and the cutting out a directed acyclic communication sub-graph with the current hardware node as a starting point from the directed cyclic communication graph includes:
deleting a first target directed line segment pointing to the current hardware node in the directed cyclic communication graph to obtain a first communication sub-graph; numbering each hardware node in the first communication sub-graph according to the pointing direction of the directed line segment by taking the current hardware node as a starting point; and deleting a second target directed line segment pointing to the Nth-M hardware nodes from the Nth hardware node in the first communication sub-graph to obtain the directed acyclic communication sub-graph, wherein M and N are positive integers.
For example, as shown in fig. 2, assuming that the current hardware node is a, the first target directed line segment pointing to the current hardware node a in the directed cyclic communication graph is deleted, and a first communication sub-graph is obtained as shown in fig. 5. Numbering each hardware node in the first communication sub-graph shown in fig. 5 according to the pointing direction of the directed line segment with the current hardware node a as a starting point, so as to obtain the numbering result shown in fig. 6. Deleting the second target directed line segment in the first communication sub-graph pointing from the nth hardware node to the nth-M hardware nodes may result in a directed acyclic communication sub-graph as shown in fig. 7.
In other embodiments, a directed acyclic communication sub-graph with the current hardware node as a starting point is cut from the directed cyclic communication graph, and the directed cyclic communication graph may be traversed with the current hardware node as the starting point, and the sub-graph corresponding to the longest path is determined as the directed acyclic communication sub-graph.
Optionally, an rpc (remote Procedure call) communication service is deployed on each hardware node in the directed cyclic communication graph, and is used for implementing communication between the hardware nodes.
In some possible embodiments, the rpc (remote Procedure call) communication service deployed on each hardware node may also be used to monitor the idleness of each hardware node. For example, each hardware node transmits the idleness of the hardware node and the received idleness sent by other hardware nodes according to the pointing direction of the directed line segment in the directed cyclic communication graph, and the circulation can enable each hardware node to obtain the idleness of other nodes. The RPC communication service deployed on each hardware node can also broadcast the idleness of the hardware node to each hardware node.
Fig. 8 is a block diagram illustrating a resource scheduling apparatus according to an example embodiment. Referring to fig. 8, the apparatus 300 includes:
an obtaining module 310 configured to obtain, by a current hardware node, a task to be executed;
a cutting module 320 configured to cut a directed acyclic communication sub-graph starting from the current hardware node from a directed cyclic communication graph, wherein the directed cyclic communication graph is determined based on a connection relationship between each piece of hardware of the vehicle;
an assigning module 330 configured to assign the task to be executed to at least one target hardware node in the directed acyclic communication sub-graph for execution;
a receiving module 340 configured to receive an execution result of the target hardware node for the task to be executed.
By adopting the device, the current hardware node acquires the task to be executed. And cutting out a directed acyclic communication sub-map taking the current hardware node as a starting point from the directed cyclic communication map, wherein the directed cyclic communication map is determined based on the connection relation among the hardware of the vehicle. And distributing the task to be executed to at least one target hardware node in the directed acyclic communication sub-graph for execution. And receiving an execution result of the target hardware node aiming at the task to be executed. Compared with the mode that each hardware can only execute the respective functional task because each hardware does not have the direct communication capability in the related technology, the mode disclosed by the invention enables each hardware to have the communication capability based on the constructed directed cyclic communication map, and the mode disclosed by the invention can fully utilize the hardware of the vehicle because the current hardware node distributes the task to be executed to other target hardware nodes for execution, thereby improving the utilization rate of the hardware of the whole vehicle.
Optionally, the allocating module 330 includes:
a first determining sub-module configured to determine, from the directed acyclic communication sub-map, the target hardware node whose idleness is greater than a preset threshold based on the idleness of each hardware node in the directed acyclic communication sub-map;
a second determining submodule configured to determine a number of the target hardware nodes;
the splitting sub-module is configured to split the to-be-executed task into the number of to-be-executed sub-tasks;
and the first allocating submodule is configured to allocate the subtasks to be executed to the target hardware nodes for execution, and the subtasks to be executed correspond to the target hardware nodes one to one.
Optionally, the receiving module 340 includes:
the receiving submodule is configured to receive an execution sub-result of each target hardware node for the sub-task to be executed;
and the generation submodule is configured to generate the execution result corresponding to the task to be executed according to each execution sub-result.
Optionally, the allocating module 330 includes:
a third determining sub-module configured to determine the target hardware node with the largest idle degree from the directed acyclic communication sub-map based on the idle degree of each hardware node in the directed acyclic communication sub-map;
and the second distribution submodule is configured to distribute the task to be executed to the target hardware node for execution.
Optionally, the directed cyclic communication graph includes directed line segments, the directed line segments are used for connecting hardware nodes, and the clipping module 320 is configured to:
deleting a first target directed line segment pointing to the current hardware node in the directed cyclic communication graph to obtain a first communication sub-graph; numbering each hardware node in the first communication sub-graph according to the pointing direction of the directed line segment by taking the current hardware node as a starting point; and deleting a second target directed line segment pointing to the Nth-M hardware nodes from the Nth hardware node in the first communication sub-graph to obtain the directed acyclic communication sub-graph, wherein M and N are positive integers.
Optionally, the idle degree of the hardware node is determined according to at least one of CPU usage, network bandwidth, memory occupancy rate, and usage frequency of the hardware node.
With regard to the apparatus in the above-described embodiment, the specific manner in which each module performs the operation has been described in detail in the embodiment related to the method, and will not be elaborated here.
The present disclosure also provides a computer readable storage medium having stored thereon computer program instructions which, when executed by a processor, implement the steps of the resource scheduling method provided by the present disclosure.
Fig. 9 is a block diagram illustrating a resource scheduling apparatus 800 according to an example embodiment. For example, the apparatus 800 may be a mobile phone, a computer, a digital broadcast terminal, a messaging device, a game console, a tablet device, a medical device, an exercise device, a personal digital assistant, and the like.
Referring to fig. 9, the apparatus 800 may include one or more of the following components: a processing component 802, a first memory 804, a power component 806, a multimedia component 808, an audio component 810, an input/output interface 812, a sensor component 814, and a communication component 816.
The processing component 802 generally controls overall operation of the device 800, such as operations associated with display, telephone calls, data communications, camera operations, and recording operations. The processing component 802 may include one or more first processors 820 to execute instructions to perform all or a portion of the steps of the resource scheduling method described above. Further, the processing component 802 can include one or more modules that facilitate interaction between the processing component 802 and other components. For example, the processing component 802 can include a multimedia module to facilitate interaction between the multimedia component 808 and the processing component 802.
The first memory 804 is configured to store various types of data to support operations at the apparatus 800. Examples of such data include instructions for any application or method operating on device 800, contact data, phonebook data, messages, pictures, videos, and so forth. The first memory 804 may be implemented by any type or combination of volatile or non-volatile memory devices, such as Static Random Access Memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic or optical disks.
Power components 806 provide power to the various components of device 800. The power components 806 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the apparatus 800.
The multimedia component 808 includes a screen that provides an output interface between the device 800 and a user. In some embodiments, the screen may include a Liquid Crystal Display (LCD) and a Touch Panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive an input signal from a user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundary of a touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 808 includes a front facing camera and/or a rear facing camera. The front camera and/or the rear camera may receive external multimedia data when the device 800 is in an operating mode, such as a shooting mode or a video mode. Each front camera and rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.
The audio component 810 is configured to output and/or input audio signals. For example, the audio component 810 includes a Microphone (MIC) configured to receive external audio signals when the apparatus 800 is in an operational mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signal may further be stored in the first memory 804 or transmitted via the communication component 816. In some embodiments, audio component 810 also includes a speaker for outputting audio signals.
The input/output interface 812 provides an interface between the processing component 802 and peripheral interface modules, which may be keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to: a home button, a volume button, a start button, and a lock button.
The sensor assembly 814 includes one or more sensors for providing various aspects of state assessment for the device 800. For example, the sensor assembly 814 may detect the open/closed status of the device 800, the relative positioning of components, such as a display and keypad of the device 800, the sensor assembly 814 may also detect a change in the position of the device 800 or a component of the device 800, the presence or absence of user contact with the device 800, the orientation or acceleration/deceleration of the device 800, and a change in the temperature of the device 800. Sensor assembly 814 may include a proximity sensor configured to detect the presence of a nearby object in the absence of any physical contact. The sensor assembly 814 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 814 may also include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
The communication component 816 is configured to facilitate communications between the apparatus 800 and other devices in a wired or wireless manner. The device 800 may access a wireless network based on a communication standard, such as WiFi, 2G or 3G, or a combination thereof. In an exemplary embodiment, the communication component 816 receives a broadcast signal or broadcast related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 816 further includes a Near Field Communication (NFC) module to facilitate short-range communications. For example, the NFC module may be implemented based on Radio Frequency Identification (RFID) technology, infrared data association (IrDA) technology, Ultra Wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.
In an exemplary embodiment, the apparatus 800 may be implemented by one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), controllers, micro-controllers, microprocessors, or other electronic components for performing the above-described resource scheduling methods.
In an exemplary embodiment, a non-transitory computer-readable storage medium comprising instructions, such as the first memory 804 comprising instructions, executable by the first processor 820 of the apparatus 800 to perform the resource scheduling method described above is also provided. For example, the non-transitory computer readable storage medium may be a ROM, a Random Access Memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.
The apparatus may be a part of a stand-alone electronic device, for example, in an embodiment, the apparatus may be an Integrated Circuit (IC) or a chip, where the IC may be one IC or a collection of multiple ICs; the chip may include, but is not limited to, the following categories: a GPU (Graphics Processing Unit), a CPU (Central Processing Unit), an FPGA (Field Programmable Gate Array), a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an SOC (System on Chip, SOC, System on Chip, or System on Chip), and the like. The integrated circuit or chip can be used to execute executable instructions (or codes) to implement the resource scheduling method. Where the executable instructions may be stored in the integrated circuit or chip or may be retrieved from another device or apparatus, for example, where the integrated circuit or chip includes a processor, a memory, and an interface for communicating with other devices. The executable instructions may be stored in the processor, and when executed by the processor, implement the resource scheduling method described above; alternatively, the integrated circuit or chip may receive executable instructions through the interface and transmit the executable instructions to the processor for execution, so as to implement the resource scheduling method.
Referring to fig. 10, fig. 10 is a functional block diagram of a vehicle 600 according to an exemplary embodiment. The vehicle 600 may be configured in a fully or partially autonomous driving mode. For example, the vehicle 600 may acquire environmental information of its surroundings through the sensing system 620 and derive an automatic driving strategy based on an analysis of the surrounding environmental information to implement full automatic driving, or present the analysis result to the user to implement partial automatic driving.
Vehicle 600 may include various subsystems such as infotainment system 610, perception system 620, decision control system 630, drive system 640, and computing platform 650. Alternatively, vehicle 600 may include more or fewer subsystems, and each subsystem may include multiple components. In addition, each of the sub-systems and components of the vehicle 600 may be interconnected by wire or wirelessly.
In some embodiments, the infotainment system 610 may include a communication system 611, an entertainment system 612, and a navigation system 613.
The communication system 611 may comprise a wireless communication system that may communicate wirelessly with one or more devices, either directly or via a communication network. For example, the wireless communication system may use 3G cellular communication, such as CDMA, EVD0, GSM/GPRS, or 4G cellular communication, such as LTE. Or 5G cellular communication. The wireless communication system may communicate with a Wireless Local Area Network (WLAN) using WiFi. In some embodiments, the wireless communication system may utilize an infrared link, bluetooth, or ZigBee to communicate directly with the device. Other wireless protocols, such as various vehicular communication systems, for example, a wireless communication system may include one or more Dedicated Short Range Communications (DSRC) devices that may include public and/or private data communications between vehicles and/or roadside stations.
The entertainment system 612 may include a display device, a microphone, and a sound box, and a user may listen to a broadcast in the car based on the entertainment system, playing music; or the mobile phone is communicated with the vehicle, screen projection of the mobile phone is realized on the display equipment, the display equipment can be in a touch control type, and a user can operate the display equipment by touching the screen.
In some cases, the voice signal of the user may be acquired through a microphone, and certain control of the vehicle 600 by the user, such as adjusting the temperature in the vehicle, etc., may be implemented according to the analysis of the voice signal of the user. In other cases, music may be played to the user through a stereo.
The navigation system 613 may include a map service provided by a map provider to provide a route for the vehicle 600 to travel, and the navigation system 613 may be used in conjunction with a global positioning system 621 and an inertial measurement unit 622 of the vehicle, where the inertial measurement unit is abbreviated as IMU. The map service provided by the map provider can be a two-dimensional map or a high-precision map.
The sensing system 620 may include several types of sensors that sense information about the environment surrounding the vehicle 600. For example, sensing system 620 may include global positioning system 621 (which may be a GPS system, a beidou system, or other positioning system), inertial measurement unit 622, lidar 623, millimeter-wave radar 624, ultrasonic radar 625, and camera 626. The sensing system 620 may also include sensors of internal systems of the monitored vehicle 600 (e.g., an in-vehicle air quality monitor, a fuel gauge, an oil temperature gauge, etc.). Sensor data from one or more of these sensors may be used to detect the object and its corresponding characteristics (position, shape, orientation, velocity, etc.). Such detection and identification is a critical function of the safe operation of the vehicle 600.
Global positioning system 621 is used to estimate the geographic location of vehicle 600.
The inertial measurement unit 622 is used to sense a pose change of the vehicle 600 based on the inertial acceleration. In some embodiments, inertial measurement unit 622 may be a combination of accelerometers and gyroscopes.
Lidar 623 utilizes laser light to sense objects in the environment in which vehicle 600 is located. In some embodiments, lidar 623 may include one or more laser sources, laser scanners, and one or more detectors, among other system components.
The millimeter-wave radar 624 utilizes radio signals to sense objects within the surrounding environment of the vehicle 600. In some embodiments, in addition to sensing objects, the millimeter-wave radar 624 may also be used to sense the speed and/or heading of objects.
The ultrasonic radar 625 may sense objects around the vehicle 600 using ultrasonic signals.
The camera 626 is used to capture image information of the surroundings of the vehicle 600. The image capturing device 626 may include a monocular camera, a binocular camera, a structured light camera, a panoramic camera, and the like, and the image information acquired by the image capturing device 626 may include still images or video stream information.
Decision control system 630 includes a computing system 631 that makes analytical decisions based on information acquired by sensing system 620, decision control system 630 further includes a vehicle control unit 632 that controls the powertrain of vehicle 600, and a steering system 633, throttle 634, and brake system 635 for controlling vehicle 600.
The computing system 631 may operate to process and analyze the various information acquired by the perception system 620 to identify objects, and/or features in the environment surrounding the vehicle 600. The target may comprise a pedestrian or an animal and the objects and/or features may comprise traffic signals, road boundaries and obstacles. Computing system 631 may use object recognition algorithms, Motion from Motion (SFM) algorithms, video tracking, and like techniques. In some embodiments, the computing system 631 may be used to map an environment, track objects, estimate the speed of objects, and so forth. The computing system 631 may analyze the various information obtained and derive a control strategy for the vehicle.
The vehicle controller 632 may be used to perform coordinated control on the power battery and the engine 641 of the vehicle to improve the power performance of the vehicle 600.
The steering system 633 is operable to adjust the heading of the vehicle 600. For example, in one embodiment, a steering wheel system.
The throttle 634 is used to control the operating speed of the engine 641 and, in turn, the speed of the vehicle 600.
The brake system 635 is used to control the deceleration of the vehicle 600. The braking system 635 may use friction to slow the wheel 644. In some embodiments, the braking system 635 may convert the kinetic energy of the wheels 644 into electrical current. The braking system 635 may also take other forms to slow the rotational speed of the wheels 644 to control the speed of the vehicle 600.
The drive system 640 may include components that provide powered motion to the vehicle 600. In one embodiment, the drive system 640 may include an engine 641, an energy source 642, a transmission 643, and wheels 644. The engine 641 may be an internal combustion engine, an electric motor, an air compression engine, or other types of engine combinations, such as a hybrid engine consisting of a gasoline engine and an electric motor, a hybrid engine consisting of an internal combustion engine and an air compression engine. The engine 641 converts the energy source 642 into mechanical energy.
Examples of energy sources 642 include gasoline, diesel, other petroleum-based fuels, propane, other compressed gas-based fuels, ethanol, solar panels, batteries, and other sources of electrical power. The energy source 642 may also provide energy to other systems of the vehicle 600.
The transmission 643 may transmit mechanical power from the engine 641 to the wheels 644. The transmission 643 may include a gearbox, a differential, and a drive shaft. In one embodiment, the transmission 643 may also include other components, such as clutches. Wherein the drive shaft may include one or more axles that may be coupled to one or more wheels 644.
Some or all of the functionality of the vehicle 600 is controlled by the computing platform 650. The computing platform 650 can include at least one second processor 651, which second processor 651 can execute instructions 653 stored in a non-transitory computer-readable medium, such as second memory 652. In some embodiments, the computing platform 650 may also be a plurality of computing devices that control individual components or subsystems of the vehicle 600 in a distributed manner.
The second processor 651 may be any conventional processor, such as a commercially available CPU. Alternatively, the second processor 651 may also include a processor such as a Graphics Processor Unit (GPU), a Field Programmable Gate Array (FPGA), a System On Chip (SOC), an Application Specific Integrated Circuit (ASIC), or a combination thereof. Although fig. 10 functionally illustrates a processor, memory, and other elements of a computer in the same block, those skilled in the art will appreciate that the processor, computer, or memory may actually comprise multiple processors, computers, or memories that may or may not be stored within the same physical housing. For example, the memory may be a hard drive or other storage medium located in a different enclosure than the computer. Thus, references to a processor or computer are to be understood as including references to a collection of processors or computers or memories which may or may not operate in parallel. Rather than using a single processor to perform the steps described herein, some components, such as the steering component and the retarding component, may each have their own processor that performs only computations related to the component-specific functions.
In the embodiment of the present disclosure, the second processor 651 may execute the resource scheduling method described above.
In various aspects described herein, the second processor 651 can be located remotely from the vehicle and in wireless communication with the vehicle. In other aspects, some of the processes described herein are executed on a processor disposed within the vehicle and others are executed by a remote processor, including taking the steps necessary to perform a single maneuver.
In some embodiments, the second memory 652 can contain instructions 653 (e.g., program logic), which instructions 653 can be executed by the second processor 651 to perform various functions of the vehicle 600. The second memory 652 may also contain additional instructions, including instructions to send data to, receive data from, interact with, and/or control one or more of the infotainment system 610, the perception system 620, the decision control system 630, the drive system 640.
In addition to instructions 653, second memory 652 may also store data such as road maps, route information, the location, direction, speed, and other such vehicle data of the vehicle, as well as other information. Such information may be used by the vehicle 600 and the computing platform 650 during operation of the vehicle 600 in autonomous, semi-autonomous, and/or manual modes.
Computing platform 650 may control functions of vehicle 600 based on inputs received from various subsystems (e.g., drive system 640, perception system 620, and decision control system 630). For example, computing platform 650 may utilize input from decision control system 630 in order to control steering system 633 to avoid obstacles detected by sensing system 620. In some embodiments, the computing platform 650 is operable to provide control over many aspects of the vehicle 600 and its subsystems.
Optionally, one or more of these components described above may be mounted or associated separately from the vehicle 600. For example, the second memory 652 may exist partially or completely separate from the vehicle 600. The above components may be communicatively coupled together in a wired and/or wireless manner.
Optionally, the above components are only an example, in an actual application, components in the above modules may be added or deleted according to an actual need, and fig. 10 should not be construed as limiting the embodiment of the present disclosure.
An autonomous automobile traveling on a road, such as vehicle 600 above, may identify objects within its surrounding environment to determine an adjustment to the current speed. The object may be another vehicle, a traffic control device, or another type of object. In some examples, each identified object may be considered independently, and based on the respective characteristics of the object, such as its current speed, acceleration, separation from the vehicle, etc., may be used to determine the speed at which the autonomous vehicle is to be adjusted.
Optionally, the vehicle 600 or a sensory and computing device associated with the vehicle 600 (e.g., computing system 631, computing platform 650) may predict behavior of the identified object based on characteristics of the identified object and the state of the surrounding environment (e.g., traffic, rain, ice on the road, etc.). Optionally, each identified object depends on the behavior of each other, so it is also possible to predict the behavior of a single identified object taking all identified objects together into account. The vehicle 600 is able to adjust its speed based on the predicted behavior of the identified object. In other words, the autonomous vehicle is able to determine what steady state the vehicle will need to adjust to (e.g., accelerate, decelerate, or stop) based on the predicted behavior of the object. In this process, other factors may also be considered to determine the speed of the vehicle 600, such as the lateral position of the vehicle 600 in the road being traveled, the curvature of the road, the proximity of static and dynamic objects, and so forth.
In addition to providing instructions to adjust the speed of the autonomous vehicle, the computing device may also provide instructions to modify the steering angle of the vehicle 600 to cause the autonomous vehicle to follow a given trajectory and/or maintain a safe lateral and longitudinal distance from objects in the vicinity of the autonomous vehicle (e.g., vehicles in adjacent lanes on the road).
The vehicle 600 may be any type of vehicle, such as a car, a truck, a motorcycle, a bus, a boat, an airplane, a helicopter, a recreational vehicle, a train, etc., and the disclosed embodiment is not particularly limited.
In another exemplary embodiment, a computer program product is also provided, which comprises a computer program executable by a programmable apparatus, the computer program having code portions for performing the above-mentioned resource scheduling method when executed by the programmable apparatus.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure. This application is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It will be understood that the present disclosure is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims (10)

1. A method for scheduling resources, the method comprising:
the current hardware node acquires a task to be executed;
cutting out a directed acyclic communication sub-graph taking the current hardware node as a starting point from a directed cyclic communication graph, wherein the directed cyclic communication graph is determined based on the connection relation between each piece of hardware of the vehicle;
distributing the task to be executed to at least one target hardware node in the directed acyclic communication sub-graph for execution, wherein the task to be executed comprises at least one of a task of monitoring vehicle state, a task of collecting data, a task of integrating data and a task of calculating data;
and receiving an execution result of the target hardware node aiming at the task to be executed.
2. The method of claim 1, wherein the assigning the task to be performed to at least one target hardware node in the directed acyclic communication sub-graph comprises:
determining the target hardware node with the idle degree larger than a preset threshold value from the directed acyclic communication sub-map based on the idle degree of each hardware node in the directed acyclic communication sub-map;
determining the number of the target hardware nodes;
splitting the task to be executed into the sub tasks to be executed corresponding to the number;
and distributing the subtasks to be executed to the target hardware nodes for execution, wherein the subtasks to be executed correspond to the target hardware nodes one to one.
3. The method of claim 2, wherein receiving the execution result of the target hardware node for the task to be executed comprises:
receiving an execution sub-result of each target hardware node aiming at the sub-task to be executed;
and generating the execution result corresponding to the task to be executed according to each execution sub-result.
4. The method of claim 1, wherein the assigning the task to be performed to at least one target hardware node in the directed acyclic communication sub-graph comprises:
determining the target hardware node with the maximum idle degree from the directed acyclic communication sub-map based on the idle degree of each hardware node in the directed acyclic communication sub-map;
and distributing the task to be executed to the target hardware node for execution.
5. The method according to any one of claims 1-4, wherein the directed cyclic communication graph comprises directed line segments for connecting hardware nodes, and the cutting out of the directed cyclic communication graph a directed acyclic communication sub-graph starting from the current hardware node comprises:
deleting a first target directed line segment pointing to the current hardware node in the directed cyclic communication graph to obtain a first communication sub-graph;
numbering each hardware node in the first communication sub-graph according to the pointing direction of the directed line segment by taking the current hardware node as a starting point;
and deleting a second target directed line segment pointing to the Nth-M hardware nodes from the Nth hardware node in the first communication sub-graph to obtain the directed acyclic communication sub-graph, wherein M and N are positive integers.
6. The method of claim 2, wherein the idleness of the hardware node is determined according to at least one of CPU usage, network bandwidth, memory occupancy, and usage frequency of the hardware node.
7. An apparatus for scheduling resources, the apparatus comprising:
the acquisition module is configured to acquire a task to be executed by a current hardware node;
a cutting module configured to cut a directed acyclic communication sub-map starting from the current hardware node from a directed cyclic communication map, wherein the directed cyclic communication map is determined based on a connection relationship between each piece of hardware of the vehicle;
the distribution module is configured to distribute the tasks to be executed to at least one target hardware node in the directed acyclic communication sub-graph for execution, wherein the tasks to be executed comprise at least one of a task of monitoring vehicle states, a task of collecting data, a task of integrating data and a task of calculating data;
a receiving module configured to receive an execution result of the target hardware node for the task to be executed.
8. An apparatus for scheduling resources, the apparatus comprising:
a processor;
a memory for storing processor-executable instructions;
wherein the processor is configured to:
the current hardware node acquires a task to be executed;
cutting out a directed acyclic communication sub-graph taking the current hardware node as a starting point from a directed cyclic communication graph, wherein the directed cyclic communication graph is determined based on the connection relation between each piece of hardware of the vehicle;
distributing the task to be executed to at least one target hardware node in the directed acyclic communication sub-graph for execution, wherein the task to be executed comprises at least one of a task of monitoring vehicle state, a task of collecting data, a task of integrating data and a task of calculating data;
and receiving an execution result of the target hardware node aiming at the task to be executed.
9. A computer-readable storage medium, on which computer program instructions are stored, which program instructions, when executed by a processor, carry out the steps of the method according to any one of claims 1 to 6.
10. A vehicle characterized in that the vehicle comprises the resource scheduling apparatus of claim 8.
CN202210669420.3A 2022-06-14 2022-06-14 Resource scheduling method and device, computer readable storage medium and vehicle Active CN114780226B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210669420.3A CN114780226B (en) 2022-06-14 2022-06-14 Resource scheduling method and device, computer readable storage medium and vehicle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210669420.3A CN114780226B (en) 2022-06-14 2022-06-14 Resource scheduling method and device, computer readable storage medium and vehicle

Publications (2)

Publication Number Publication Date
CN114780226A CN114780226A (en) 2022-07-22
CN114780226B true CN114780226B (en) 2022-09-16

Family

ID=82421270

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210669420.3A Active CN114780226B (en) 2022-06-14 2022-06-14 Resource scheduling method and device, computer readable storage medium and vehicle

Country Status (1)

Country Link
CN (1) CN114780226B (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111400008B (en) * 2020-03-13 2023-06-02 北京旷视科技有限公司 Computing resource scheduling method and device and electronic equipment
CN111694647A (en) * 2020-06-08 2020-09-22 北京百度网讯科技有限公司 Task scheduling method, device and storage medium for automatic driving vehicle
CN112783619B (en) * 2020-12-31 2024-01-02 杭州海康威视数字技术股份有限公司 Task scheduling method and device and automatic driving system
CN113642795A (en) * 2021-08-16 2021-11-12 北京瑞华高科技术有限责任公司 Vehicle resource allocation method and device

Also Published As

Publication number Publication date
CN114780226A (en) 2022-07-22

Similar Documents

Publication Publication Date Title
CN114882464B (en) Multi-task model training method, multi-task processing method, device and vehicle
CN115222941A (en) Target detection method and device, vehicle, storage medium, chip and electronic equipment
CN114771539B (en) Vehicle lane change decision method and device, storage medium and vehicle
CN114937351B (en) Motorcade control method and device, storage medium, chip, electronic equipment and vehicle
CN114780226B (en) Resource scheduling method and device, computer readable storage medium and vehicle
CN114537450A (en) Vehicle control method, device, medium, chip, electronic device and vehicle
CN114863717A (en) Parking space recommendation method and device, storage medium and vehicle
CN115223122A (en) Method and device for determining three-dimensional information of object, vehicle and storage medium
CN115314526A (en) System architecture, transmission method, vehicle, medium and chip for self-parking position identification
CN115170630A (en) Map generation method, map generation device, electronic device, vehicle, and storage medium
CN114880408A (en) Scene construction method, device, medium and chip
CN115649190A (en) Control method, device, medium, vehicle and chip for vehicle auxiliary braking
CN114911630B (en) Data processing method and device, vehicle, storage medium and chip
CN114789723B (en) Vehicle running control method and device, vehicle, storage medium and chip
CN115042813B (en) Vehicle control method and device, storage medium and vehicle
CN115535004B (en) Distance generation method, device, storage medium and vehicle
CN114572219B (en) Automatic overtaking method and device, vehicle, storage medium and chip
CN114801832B (en) Charging device, method, apparatus, vehicle, electronic device, and storage medium
CN115221260B (en) Data processing method, device, vehicle and storage medium
CN115297434B (en) Service calling method and device, vehicle, readable storage medium and chip
EP4292896A1 (en) Vehicle traveling control method, electronic device, storage medium, chip and vehicle
CN114802217B (en) Method and device for determining parking mode, storage medium and vehicle
CN115649165B (en) Vehicle starting control method and device, vehicle and storage medium
EP4296132A1 (en) Vehicle control method and apparatus, vehicle, non-transitory storage medium and chip
CN115080788A (en) Music pushing method and device, storage medium and vehicle

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