Automatic driving task offloading system and method

By setting up multiple computing nodes in the vehicle-side cloud architecture and using modeling modules and allocation modules to allocate autonomous driving tasks, the problem of lack of cross-three-layer autonomous driving tasks in the existing technology is solved, and the end-to-end delay minimization and safety requirements of autonomous driving services are achieved.

CN119729625APending Publication Date: 2025-03-28ROBERT BOSCH GMBH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311282386.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-28
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

The lack of autonomous driving task offload solutions across three layers (intelligent car layer, edge computing layer and cloud computing layer) in the prior art has led to increased vehicle costs and inefficient self-driving services.

Method used

By setting up multiple computing nodes in the vehicle-side cloud architecture and creating a system model using a modeling module, including communication delay between computing nodes, the allocation module allocates autonomous driving tasks based on the model to achieve end-to-end delay minimization.

Benefits of technology

It realizes the end-to-end delay of autonomous driving services, and meets the heterogeneity of hardware equipment, the heterogeneity and safety requirements of resource requirements, ensuring the safety and efficiency of autonomous driving services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119729625A_ABST
    Figure CN119729625A_ABST
Patent Text Reader

Abstract

A system and method for offloading automated driving tasks is provided. The system includes a plurality of computing nodes including one or more computing nodes located on a vehicle, one or more computing nodes located on an edge device, and one or more computing nodes located on a cloud device. The system also includes a modeling module configured to create a system model that includes communication latency between each pair of the plurality of computing nodes. The system also includes an allocation module configured to allocate a plurality of autonomous driving tasks of an autonomous driving service based on the system model to offload each autonomous driving task onto one of the plurality of computing nodes, where the allocation minimizes an end-to-end latency of the autonomous driving service.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an autonomous driving task offloading system and method based on vehicle-side cloud collaboration. Background Art

[0002] With the rapid development of the digital economy, intelligent connected vehicles (ICV) have become an important direction for the innovative development of the automotive industry. As one of the main technical routes for intelligent connected vehicles, the vehicle-road-cloud collaborative ecosystem has attracted much attention in recent years.

[0003] Autonomous driving services (autonomous driving functions) include a series of computing tasks, such as perception, prediction, decision-making, and control. These tasks usually include computationally intensive tasks and require high computing resources. If these tasks are completed only on the vehicle side, the vehicle needs to be equipped with high-performance sensors and computing chips, which greatly increases the cost of the vehicle.

[0004] In this regard, the prior art proposes to offload computing tasks from the vehicle to the edge or cloud, thereby transforming the intelligence of a single vehicle into autonomous driving services through vehicle-road collaboration or edge-cloud collaboration. For example, there have been studies on making task offloading decisions with the help of mathematical models or deep reinforcement learning. However, research in the prior art mainly involves scenarios that support edge applications, such as IoT applications, smart city applications, and so on. At present, there is no better autonomous driving task offloading solution across three layers (i.e., smart car layer, edge computing layer, and cloud computing layer) in the prior art. Summary of the invention

[0005] In view of the above-mentioned problems in the prior art, one aspect of the present invention provides a system for offloading autonomous driving tasks, comprising: multiple computing nodes, including one or more computing nodes located on a vehicle, one or more computing nodes located on an edge device, and one or more computing nodes located on a cloud device; a modeling module, configured to create a system model, which includes the communication delay between each pair of computing nodes in the multiple computing nodes; and an allocation module, configured to allocate multiple autonomous driving tasks of an autonomous driving service based on the system model, so as to offload each autonomous driving task to one of the multiple computing nodes, wherein the allocation minimizes the end-to-end delay of the autonomous driving service.

[0006] Another aspect of the present invention provides a method for offloading autonomous driving tasks, comprising: creating a system model, which includes the communication delay between each pair of computing nodes in a plurality of computing nodes, the plurality of computing nodes including one or more computing nodes located on a vehicle, one or more computing nodes located on an edge device, and one or more computing nodes located on a cloud device; and allocating a plurality of autonomous driving tasks of an autonomous driving service based on the system model to offload each autonomous driving task to one of the plurality of computing nodes, wherein the allocation minimizes the end-to-end delay of the autonomous driving service.

[0007] Yet another aspect of the present invention provides a machine-readable storage medium storing executable instructions, which, when executed, cause one or more processors to perform the method described above.

[0008] It should be noted that a brief summary of the main aspects of the present invention is provided above to provide a basic understanding of these aspects. This summary is not intended to describe the key or important elements of all aspects, nor is it intended to limit the scope of any or all aspects. This summary is intended to provide some implementations of these aspects in a simplified form as a preface to the detailed description that will be provided later. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] The disclosed aspects will be described below in conjunction with the accompanying drawings, which are provided to illustrate rather than limit the disclosed aspects.

[0010] Figure 1 It is a schematic block diagram of an autonomous driving task offloading system according to one embodiment of the present invention.

[0011] Figure 2 Shows Figure 1 An example of a system in .

[0012] Figure 3 4 is a flowchart of an automatic driving task offloading method according to one embodiment of the present invention.

[0013] Figure 4 An example of a service dependency model is shown.

[0014] Figure 5 An example of a computing resource model is shown.

[0015] Figure 6 Shown based on Figure 4 and Figure 5 An example of autonomous driving task offloading for the model in Figure 2. DETAILED DESCRIPTION

[0016] Overview

[0017] Embodiments of the present invention relate to an autonomous driving task offloading method and system, which offloads multiple tasks (AD tasks) of autonomous driving services to multiple computing nodes under a vehicle-side cloud architecture.

[0018] According to an embodiment of the present invention, resource constraints are considered when determining the allocation strategy, and the heterogeneity of safety level requirements of different AD tasks is also considered. Therefore, the task offloading system and method according to an embodiment of the present invention can meet the safety requirements of autonomous driving applications.

[0019] According to an embodiment of the present invention, the service dependency model represents the dependencies of multiple AD tasks of the autonomous driving service and has multiple root nodes, that is, the autonomous driving service has multiple data sources. The multiple data sources can be data sources from the vehicle side, data sources from the road side, and data sources from the cloud. The multiple data sources can also be multiple perception data sources from multimodal sensors. This is particularly attractive for intelligent connected vehicle collaborative ecosystem applications.

[0020] According to an embodiment of the present invention, even when there are safe and unsafe hardware devices under the vehicle-side cloud architecture, key AD tasks can be offloaded to hardware devices with a high security level, thereby ensuring the security of autonomous driving services.

[0021] According to the AD task offloading solution of the embodiment of the present invention, while meeting the software security requirements, it can also take into account the heterogeneity between hardware devices and the heterogeneity between software. It can further take into account the dependencies between AD tasks and achieve the minimization of end-to-end delay of autonomous driving services.

[0022] The unloading solution according to the embodiment of the present invention can be implemented online, for example, based on real-time measurement results without relying on historical data.

[0023] Exemplary Systems

[0024] The specific implementation of the present invention is described below in conjunction with the accompanying drawings.

[0025] Figure 1 A system 100 (hereinafter referred to as system 100) for offloading an autonomous driving task (AD task) according to an embodiment of the present invention is shown. In an embodiment of the present invention, the system 100 can be understood as a smart car collaborative ecosystem under a car-side cloud (also referred to as a car-road cloud in some places) architecture.

[0026] like Figure 1As shown, the system 100 includes a plurality of computing nodes 11-16, a modeling module 20, and an allocation module 30. These computing nodes 11-16 can communicate with each other. The computing nodes 11-16 include one or more vehicle nodes located on the vehicle, one or more edge nodes located on the edge device, and one or more cloud nodes located on the cloud device. The modeling module 20 creates a system model based on the properties of software and hardware. For example, the system model includes a service dependency model representing the dependency of AD tasks and a computing resource model representing the available computing resources of the computing node. The allocation module 30 allocates one or more AD tasks to one or more of these computing nodes 11-16 with the help of the created system model, so that the end-to-end latency (End to end latency) of the autonomous driving service associated with the one or more AD tasks is minimized; further, the required security level of each AD task is adapted to the security level of the computing node to which it is unloaded, for example, the security level of the unloaded computing node is not lower than the security level required by the AD task; further, the AD task is unloaded to a computing node adjacent to an upstream computing node or a downstream computing node that it strongly depends on.

[0027] In one embodiment, the modeling module 20 may be arranged on one of the plurality of computing nodes 11-16. The modeling module 20 may also be arranged on a platform working end (e.g., a central controller in a centralized system architecture) that is independent of the system 100 and can be connected to the system 100 for communication. Similarly, the allocation module 30 may be arranged on one of the plurality of computing nodes 11-16. The allocation module 30 may also be arranged on a platform working end (e.g., a central controller in a centralized system architecture) that is independent of the system 100 and can be connected to the system 100 for communication.

[0028] The modeling module 20 and the allocation module 30 can be implemented in hardware or software or a combination of software and hardware. For the hardware-implemented part, it can be implemented in 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), processors, controllers, microcontrollers, microprocessors, electronic units designed to perform their functions, or a combination thereof. For the software-implemented part, it can be implemented with the help of microcodes, program codes or code segments, and they can also be stored in a machine-readable storage medium such as a storage component.

[0029] The naming of the modeling module 20 and the allocation module 30 should be understood as a logical (functional) description, and should not be understood as a limitation on the physical form or setting method. They can be further divided into several sub-modules based on function. The modeling module 20 and the allocation module 30 can be implemented in the same chip or the same circuit, or they can be implemented in different chips or different circuits.

[0030] Here, "autonomous driving service" can be understood as an autonomous driving function, which may include one or more AD tasks. For example, lane assist is an autonomous driving function, which may include three AD tasks: lane detection, route monitoring, and route correction. "The end-to-end delay of the autonomous driving service is minimal" means that the time to complete the autonomous driving service is the shortest. That is, the time from the signal flowing into the input source node to the flow to the last computing node is the shortest. In one embodiment, target detection is performed on the roadside, the target detection results are processed in the cloud, and finally the processing results are sent to the vehicle side. In this example, "the end-to-end delay of the autonomous driving service is minimal" means that the delay from the signal flowing into the first computing node (the device that performs target detection on the roadside) to the flow to the last computing node (the vehicle side) is minimized.

[0031] Figure 2 Shows Figure 1 An embodiment of the system 100 in the vehicle-side cloud architecture. Figure 2 As shown, the multiple computing nodes include computing nodes distributed in the intelligent vehicle layer (IV: Intelligent vehicles, referred to as the vehicle end in some places below), computing nodes arranged in the edge computing layer (ECL: Edged computing layer, also referred to as the edge end in some places below), and computing nodes arranged in the cloud computing layer (CCL: Cloud computing layer, also referred to as the cloud in some places below). For example, computing nodes N1 and N2 are arranged on the intelligent vehicle in the intelligent vehicle layer, computing nodes N3-N5 are arranged on the edge computing device in the edge computing layer, and computing node N6 is arranged on the cloud server in the cloud computing layer. The modeling module 20 and the allocation module 30 are arranged on the same edge computing device in the edge computing layer.

[0032] It should be understood that Figure 2 The above diagram only shows one example of the arrangement of the computing nodes, modeling modules, and allocation modules of the system 100 , which may also be arranged in other ways.

[0033] Car-side cloud architecture

[0034] The following describes the characteristics of each of the three layers of the vehicle-side cloud architecture. The characteristics of each layer are also applicable to the computing nodes deployed on this layer.

[0035] The smart vehicle layer includes multiple smart vehicles. The computing nodes installed on smart vehicles can include high-performance embedded systems and on-board perception systems (for example, radar, camera, and high-precision map). Smart vehicles can communicate with other vehicles through V2V (Vehicle-to-vehicle) or with roadside infrastructure or cloud servers through V2X (Vehicle-to-everything).

[0036] The edge computing layer includes multiple edge computing devices. Edge computing devices may include roadside computing units, base stations, mobile edge computing (MEC), and edge servers. The architectures of these edge devices may be different, the resource capacities may also be different, and they are widely distributed geographically. In one embodiment, the edge computing devices and the smart vehicles are located in the same intranet, so there are sufficient bandwidth resources between them. The edge server may have predetermined computing power and storage capacity, so that it can handle specific AD tasks unloaded from the smart vehicle.

[0037] The cloud computing layer includes multiple cloud servers (e.g., remote servers in a data center). Cloud servers have super computing power and scalable storage capacity, so computationally intensive tasks can be offloaded to cloud servers and run on them with high performance. Cloud servers can exchange information with vehicles through edge servers. Relative to the distance between edge servers and vehicles, since cloud servers are far away from edge servers, the communication delay between cloud servers and edge servers will be greater than the communication delay between edge servers and vehicles.

[0038] According to an embodiment of the present invention, under the above-mentioned vehicle-side cloud architecture, a distribution scheme for offloading AD tasks between vehicles, edge computing devices and cloud servers is determined, which can obtain an offloading strategy with the minimum end-to-end delay of autonomous driving services on the basis of satisfying the heterogeneity constraints of hardware devices, the heterogeneity constraints of resource requirements, new security requirements and taking into account the dependencies between AD tasks. The relevant constraints and considerations are described in detail below.

[0039] Heterogeneity among computing nodes

[0040] Computing nodes in different layers differ in system architecture, resource capacity, and security level. For example, the system architecture of the infrastructure in the edge computing layer can be ARM, X86, or FPGA to meet the customized requirements of different applications (such as lightweight or low power consumption). Second, the resource capacity of computing devices in different layers is different. For example, in terms of resource capacity, cloud computing devices are the largest, smart vehicles are the smallest, and edge computing devices are in the middle. In the edge computing layer, the resource capacity varies greatly depending on the device type of the computing node. Third, some AD tasks have strict requirements on the security level of the hardware they run on, which requires running on computing nodes with high security levels. For example, in order to ensure the accuracy of perception, tasks related to perception are run on hardware devices with high security levels and low error rates. Since the higher the security level, the higher the cost of the hardware equipment, the hardware under the car-side cloud architecture includes secure and unsecure (with different security levels) hardware devices, considering the cost.

[0041] It should be understood that the "safety" and "safety level" in the present invention refer to the safety levels from A to D (Automotive Safety Integrity Level ASIL: Automotive Safety Integrity Level) determined by the ISO26262 standard for the components of the system according to the degree of safety risk, among which D is the highest level and requires the most stringent safety requirements.

[0042] Heterogeneity among AD tasks

[0043] Different AD tasks may use different programming languages, so their resource requirements may be different. For example, deep learning-based object detection tasks require GPU resources, while Kalman filter-based object tracking tasks require CPU resources instead of GPU resources. In addition, some AD tasks have a strong dependence on the input source, and such AD tasks need to be offloaded to computing nodes close to the input source nodes.

[0044] Dependencies between AD tasks

[0045] Autonomous driving services include perception tasks, prediction tasks, planning tasks, and control tasks, which are interdependent. For example, these tasks exchange information through a lightweight communication protocol (ROS2). The dependencies between these tasks are both linear and graphical (for example, a directed acyclic graph is used to express the dependencies between multiple AD tasks). For example, the perception fusion task depends on the perception results from the camera target tracker, radar target tracker, lidar target tracker, and visibility grid.

[0046] Communication latency between computing nodes

[0047] The autonomous driving service has strict requirements on latency, for example, it must be completed within tens or hundreds of milliseconds. The latency of an autonomous driving service includes the execution time of each AD task and the communication delay between different computing nodes. In an embodiment of the present invention, the end-to-end latency of the autonomous driving task only includes the communication delay, ignoring the execution time of the AD task. The end-to-end latency may include the communication delay between different layers, or the communication delay between different computing nodes in the same layer.

[0048] Exemplary Methods

[0049] Figure 3 The figure shows an automatic driving task offloading method 300 according to an embodiment of the present invention. The method 300 can be implemented by means of the above system 100, so the above description of the system 100 is also applicable here.

[0050] In block 310, the modeling module 20 creates a system model. The system model includes the communication delay between each pair of computing nodes in the plurality of computing nodes. The system model may also include the dependencies and heterogeneity between the plurality of AD tasks, the heterogeneity between the plurality of computing nodes, and the resource attributes of each computing node.

[0051] In one embodiment, the creation module 20 creates a service dependency model (block 3101 ) by means of a directed acyclic graph (DAG) and creates a computing resource model (block 3102 ) by means of a bidirectional graph.

[0052] In box 3101, the creation module 20 creates a directed acyclic graph with multiple nodes and multiple edges. Each node represents an AD task. Each edge represents the data dependency between the two AD tasks it connects. The arrows on each edge represent the data flow. Each AD task has attribute parameters, which include requirements for computing resources and security levels, and dependencies on other AD tasks (e.g., upstream AD tasks or downstream AD tasks). These attribute parameters can be represented by a set of numerical values.

[0053] In an embodiment of the present invention, a directed acyclic graph may have multiple root nodes, that is, the autonomous driving service expressed by the directed acyclic graph has multiple data input sources. The multiple data input sources may include data input sources located at different layers, for example, a data input source located in the cloud, a data input source located at the edge, and two or more of a data input source located at the vehicle end. The multiple data input sources may also include data input sources from sensors of different modalities, for example, perception data from a lidar, perception data from a camera, and map data from a high-precision map. Instances with multiple root nodes are particularly suitable for applications in autonomous driving services, because with multiple data input sources, the efficiency of autonomous driving services can be greatly improved (for example, driving decisions are more accurate, training converges faster, etc.).

[0054] Figure 4 An example of expressing a service dependency model using a directed acyclic graph is shown. Figure 4 As shown in Figure 1, the service dependency model contains 6 nodes (S1-S6), that is, the autonomous driving service expressed by the model contains 6 AD tasks. The autonomous driving service has multiple data input sources, namely, Figure 4 Nodes S1 and S2 in . In addition, Figure 4 The node S4 filled in gray in the figure indicates that the node requires a higher security level than other nodes (unfilled nodes).

[0055] In block 3102, the creation module 20 creates a bidirectional graph having a plurality of nodes and a plurality of edges. Each node represents a computing node having attribute parameters including resource type and available computing resources. Each edge represents a communication link between two nodes connected thereto having a transmission bandwidth. Data can be transmitted bidirectionally between two nodes connected by each edge (e.g., a node and another node), i.e., data can be transmitted from one node to another node, or from another node to one node.

[0056] In an embodiment of the present invention, the computing resource model remains unchanged during each execution of task offloading. That is, the computing resource model remains unchanged during the process of data of an autonomous driving service flowing from the first node to the last node. After completing this task offloading, the modeling module 20 can adjust the computing resource model to express the current status of the computing resources of the system 100. For example, after executing this task offloading, the available computing resources of each node may change, and the safety level of each node may also change.

[0057] Figure 5 An example of expressing a computing resource model using a bidirectional graph is shown, which shows the computing resource model under the vehicle-side cloud architecture. Figure 5As shown in FIG. 1 , the model includes five computing nodes, namely: a computing node H1 at the vehicle end, three computing nodes H2-H4 at the edge end (for example, the three nodes include a computing node on a signal light pole, a computing node buried underground, and a computing node at a base station), and a computing node at a cloud data center. Among these computing nodes, the security level of the gray-filled node H2 is higher than that of other nodes (unfilled nodes).

[0058] return Figure 3 In block 320, the allocation module 330 allocates multiple AD tasks of the autonomous driving service based on the created model to offload each AD task to one of the multiple computing nodes. This allocation strategy minimizes the end-to-end delay of the autonomous driving service. For example, see Figure 6 , the time it takes for data to flow directly from nodes S1 and S2 to flow out from node S5 is the shortest. This allocation strategy also allows tasks with high security requirements to be offloaded to computing nodes with high security levels. For example, see Figure 6 , the task S4 with a higher security level requirement is offloaded to the node H2 with a higher security level. This allocation strategy also enables AD tasks that are strongly associated with a specific computing node to be offloaded to a computing node adjacent to the specific computing node. For example, see Figure 6 , if task S2 as the input source is offloaded to node H3 (i.e., the computing node in the edge layer), and task S3 is strongly dependent on the input source. In this case, task S3 should be offloaded to a node adjacent to node H3 to reduce the communication delay between the two. For example, task S3 can be offloaded to computing node H4 in the edge layer.

[0059] In one embodiment, the allocation module 30 offloads two dependent autonomous driving tasks to a pair of computing nodes whose communication delay is less than a delay threshold. In this embodiment, the distance between the pair of offloading nodes is constrained by the delay threshold. The delay threshold is predetermined and can be adjusted adaptively according to different application scenarios.

[0060] In one embodiment, the allocation module 30 allocates one or more AD tasks to one or more computing nodes by calculating the optimal solution of the objective function. The specific implementation of this embodiment is described below.

[0061] First, let N be the number of AD tasks and M be the total number of computing nodes on the vehicle, edge, and cloud. The dependency relationship of N AD tasks is represented by an N*N AD task dependency matrix D N×N Matrix D N×N The elements of D are represented as {0,1}, where i×j =1 indicates task S i Depends on task S j, and vice versa. In the computing resource model, the communication delay between computing nodes is represented by the computing resource matrix L M×M The value of the elements in this matrix represents the communication delay between two computing nodes. For two unconnected computing nodes, the communication delay between them is infinite (that is, the value of the corresponding matrix element is infinite). M×M is a symmetric matrix. At this time, the allocation module 30 determines an allocation strategy to offload N AD tasks to M computing nodes, using an N*M offloading matrix A N×M To represent. Unloading matrix A N×M The elements of A are represented as {0,1}, where A i×j =1 indicates task S i Offloaded to computing node H j The predetermined allocation can be shown in the unloading matrix, for example, by N×M The is pre-filled with some elements to express this pre-allocation.

[0062] Next, assume that N AD tasks are offloaded at a time. For each task S i , whose computational resource requirement is represented as R i . R i It can be a vector, indicating the demand for resource type and computing power. j, , whose available resources are expressed as C j . C j It can also be a vector. When assigning, C j The R of the task assigned to the computing node i Should be the same.

[0063] The above settings can be expressed as:

[0064] -N AD tasks are expressed as: S = {s1, s2, s 3, …,s N}, the dependency between them adopts AD task dependency matrix D N×N To indicate that D ij ∈{0,1}. For each AD task S i , whose resource requirement is expressed as R i ;as well as

[0065] - The M nodes in the three layers are represented by H = {h1,h2,h 3, …,h M}, the communication delay between each pair of nodes is expressed as For each node h i , whose available resources are represented by C j .

[0066] Based on the above settings, the objective function is expressed as:

[0067] Min(U)=I×L (1)

[0068] I=D×A (2)

[0069] Among them, A is the target offloading matrix, D is the above AD task dependency matrix, I is an intermediate variable, I = D × A represents multiple AD tasks expressed by matrix D according to the target offloading matrix. L is the above computing resource matrix, Min (U) = I × L means that the total delay of executing all tasks in the task matrix (i.e., the end-to-end delay of the autonomous driving service) is minimized.

[0070] The process of calculating the optimal solution of the above objective function is the process of minimizing the total delay U by adjusting the unloading matrix A. The unloading matrix A when the optimal solution is obtained is the target unloading matrix.

[0071] In addition, in the process of calculating the optimal solution of the above objective function, the following constraints need to be met:

[0072] -∑ j R j A ji ≤C j , where j = 1,…,N. This constraint means: running on node h i The resources required by the tasks on the j ,

[0073] -∑ i A ji =1, where i=1,…,M. This constraint means that task S j Offload to and run on only one node.

[0074] The present invention also provides a machine-readable storage medium storing executable instructions, which, when executed, enable one or more processors to perform the above-mentioned AD task offloading method.

[0075] It is to be understood that the processor can be implemented using electronic hardware, computer software or any combination thereof. Whether these processors are implemented as hardware or software will depend on specific application and the overall design constraints imposed on the system. As an example, the processor provided in the present invention, any part of the processor or any combination of the processor can be implemented as a microprocessor, a microcontroller, a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic device (PLD), a state machine, a gate logic, a discrete hardware circuit and other suitable processing components configured to perform the various functions described in the present disclosure. The function of the processor provided in the present invention, any part of the processor or any combination of the processor can be implemented as software performed by a microprocessor, a microcontroller, a DSP or other suitable platforms.

[0076] It is to be understood that software should be broadly considered to represent instructions, instruction sets, codes, code segments, program codes, programs, subroutines, software modules, applications, software applications, software packages, routines, subroutines, objects, running threads, processes, functions, etc. Software can reside in a computer-readable medium. A computer-readable medium can include, for example, a memory, which can be, for example, a magnetic storage device (e.g., a hard disk, a floppy disk, a magnetic stripe), an optical disk, a smart card, a flash memory device, a random access memory (RAM), a read-only memory (ROM), a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), a register, or a removable disk. Although the memory is shown as being separated from the processor in the various aspects provided in the present disclosure, the memory can also be located inside the processor (e.g., a cache or a register).

[0077] Although some embodiments have been described above, these embodiments are given by way of example only and are not intended to limit the scope of the invention. The appended claims and their equivalents are intended to cover all modifications, substitutions and changes made within the scope and spirit of the invention.

Claims

1. A system for offloading an autonomous driving task, comprising: a plurality of computing nodes, including one or more computing nodes located on the vehicle, one or more computing nodes located on the edge device, and one or more computing nodes located on the cloud device; a modeling module configured to create a system model including a communication delay between each pair of computing nodes in the plurality of computing nodes; as well as An allocation module is configured to allocate multiple autonomous driving tasks of the autonomous driving service based on the system model to offload each autonomous driving task to a computing node among the multiple computing nodes, wherein the allocation minimizes the end-to-end delay of the autonomous driving service.

2. The system of claim 1, wherein: The system model includes a service dependency model and a computing resource model. The service dependency model includes dependencies and heterogeneity between the multiple autonomous driving tasks and the ASIL safety level required by each autonomous driving task, and The computing resource model includes the heterogeneity among the plurality of computing nodes, the communication delay between each pair of computing nodes, and the resource type and available computing resources of each computing node.

3. The system of claim 2, wherein: The allocation module is configured to allocate the multiple autonomous driving tasks based on the service dependency model and the computing resource model so that each autonomous driving task is offloaded to a computing node with an ASIL safety level higher than or equal to the ASIL safety level required by the autonomous driving task.

4. A system as claimed in claim 2 or 3, wherein: The allocation module is configured to allocate the multiple autonomous driving tasks based on the service dependency model and the computing resource model so that two autonomous driving tasks that depend on each other are offloaded to a pair of computing nodes whose communication delay is less than a delay threshold.

5. The system according to any one of claims 2 to 4, wherein: The allocation module is configured to allocate the multiple autonomous driving tasks based on the service dependency model and the computing resource model so that the resource type required by each autonomous driving task is consistent with the resource type of the computing node to which it is unloaded, and each autonomous driving task is unloaded to a computing node whose available computing resources are greater than or equal to the computing resources required by the autonomous driving task.

6. The system according to any one of claims 2 to 5, wherein: The service dependency model includes a directed acyclic graph having multiple service nodes and multiple edges. Each service node represents an autonomous driving task and has the ASIL safety level required by the autonomous driving service, and Each edge represents the dependency between the two autonomous driving tasks it connects, and each edge has an arrow representing the data flow direction of the autonomous driving service.

7. The system of claim 6, wherein: The directed acyclic graph has multiple root nodes, representing multiple data input sources of the autonomous driving service.

8. The system of claim 7, wherein: The multiple data input sources include two or more of a data input source from a cloud device, a data input source from an edge device, and a data input source from a vehicle.

9. The system of claim 7, wherein: The plurality of data input sources include a plurality of data sources from multimodal sensors.

10. The system of any one of claims 2 to 9, wherein: The computing resource model includes a bidirectional graph having a plurality of computing nodes and a plurality of edges. Each computing node has an ASIL safety level, available computing resources, and resource types, and Each edge represents a communication link between the two computing nodes it connects and has a transmission bandwidth and communication delay. The two computing nodes connected by each edge can transmit data bidirectionally.

11. The system of any one of claims 2 to 10, wherein: The multiple autonomous driving tasks are offloaded at one time, and the computing resource model remains unchanged during the offloading process.

12. The system of any one of claims 1 to 11, wherein: The modeling module is arranged in one of the plurality of computing nodes; The allocation module is disposed in one of the plurality of computing nodes; and The modeling module and the allocation module are arranged in the same computing node or in different computing nodes.

13. The system of claim 1, wherein: The allocation module is configured to: Setting an objective function based on the system model; and A target offloading matrix is ​​obtained by finding an optimal solution to the objective function, and each autonomous driving task is offloaded to one of the plurality of computing nodes according to the target offloading matrix, so that: - the end-to-end latency of the autonomous driving service is minimized; - Each autonomous driving task is offloaded to a computing node with an ASIL safety level higher than or equal to the ASIL safety level required by the autonomous driving task; - Two autonomous driving tasks that depend on each other are offloaded to a pair of computing nodes whose communication delay is less than a delay threshold; and -The resource type required by each autonomous driving task is consistent with the resource type of the computing node to which it is offloaded; as well as -Each autonomous driving task is offloaded to a computing node whose available computing resources are greater than or equal to the computing resources required by the autonomous driving task.

14. A method for offloading an autonomous driving task, comprising: creating a system model including communication delays between each pair of computing nodes in a plurality of computing nodes, the plurality of computing nodes including one or more computing nodes located on the vehicle, one or more computing nodes located on the edge device, and one or more computing nodes located on the cloud device; as well as Based on the system model, multiple autonomous driving tasks of the autonomous driving service are allocated to offload each autonomous driving task to a computing node among the multiple computing nodes, wherein the allocation minimizes the end-to-end delay of the autonomous driving service.

15. The method of claim 14, wherein: The method is performed by the system according to any one of claims 1-13.

16. A machine-readable storage medium storing executable instructions which, when executed, cause one or more processors to perform the method of claim 14 or 15.