Computer system and method for constructing vehicle simulation environment by using computer system

By building multiple simulation units for multiple functional domains of the vehicle in a computer system and allocating containers for virtual modules, the problem of low modeling efficiency across physical domains is solved, and an efficient simulation environment and communication network are realized, which significantly improves simulation efficiency.

CN119885577AActive Publication Date: 2025-04-25NIO TECH ANHUI CO LTD

Patent Information

Application Number
CN202411866426.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-17
Publication Date
2025-04-25
Estimated Expiration
2044-12-17

AI Technical Summary

Technical Problem

As component and system complexity increases, modeling across physical domains becomes increasingly difficult, and how to improve simulation efficiency becomes an important technical challenge, especially for large-scale simulations.

Method used

By building multiple simulation units for multiple functional domains of a vehicle in a computer system, each simulation unit contains one or more virtual modules, and allocating containers to the virtual modules, and simulation is performed using containerized computing resources. At the same time, efficient communication between virtual modules is achieved through the collection of network containers.

Benefits of technology

It significantly improves simulation efficiency, reduces communication delays within simulation units, and optimizes communication delays between virtual modules, meeting the flexibility and efficiency requirements of virtual module communication between different simulation units.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119885577A_ABST
    Figure CN119885577A_ABST
Patent Text Reader

Abstract

The invention relates to a data processing technology and a vehicle design technology, in particular to a computer system for vehicle simulation and a method for constructing a vehicle simulation environment by using the computer system. The computer system for vehicle simulation comprises a plurality of computing devices, and a deployment mode of containerized computing resources provided by the computing devices is as follows: a plurality of simulation units are constructed for a plurality of functional domains of a vehicle, and each simulation unit comprises one or more virtual modules; each virtual module is allocated with a container so as to simulate one function unit in the function domain corresponding to the simulation unit, the containers of the virtual modules allocated to the same simulation unit are networked into a first network based on a first communication protocol, and the container sets are networked into a second network based on a second communication protocol. According to various application requirements, the containers can be distributed to the virtual modules by adopting a proper distribution algorithm, so that the virtual modules with high communication timeliness requirements or high communication priority requirements are distributed to the containers belonging to the same computing equipment as much as possible.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to data processing technology and vehicle design technology, and in particular to a computer system for vehicle simulation and a method for constructing a vehicle simulation environment using the computer system. Background Art

[0002] Vehicle simulation refers to the process of predicting and verifying the performance of a vehicle using computer simulation technology, which involves the integration of multiple physical domains, including but not limited to powertrain, chassis, body, and electronic control. Vehicle simulation can help engineers predict and verify the performance of the vehicle in the early stages of development, thereby guiding vehicle design, optimization, and troubleshooting.

[0003] As the complexity of components and systems increases, modeling across physical domains becomes increasingly difficult. Improving simulation efficiency has become an important technical challenge, especially for large-scale simulations. Summary of the invention

[0004] One object of the present application is to provide a computer system for vehicle simulation and a method for constructing a vehicle simulation environment using the computer system, which can improve simulation efficiency.

[0005] According to one aspect of the present application, a computer system for vehicle simulation is provided, comprising a plurality of computing devices, wherein computing resources of each computing device are used to provide one or more container sets, each container set comprising one or more containers,

[0006] The computing resources are deployed in the following manner:

[0007] constructing a plurality of simulation units for a plurality of functional domains of a vehicle, each simulation unit comprising one or more virtual modules, each virtual module being assigned a container to simulate one of the functional units in the functional domain corresponding to the simulation unit, and

[0008] The containers of the virtual modules assigned to the same simulation unit are networked into a first network based on a first communication protocol to realize communication between the virtual modules in the same simulation unit, and the container set is networked into a second network based on a second communication protocol to realize communication between the virtual modules belonging to different simulation units.

[0009] Optionally, in the above computer system, containers are allocated to virtual modules in the following manner:

[0010] A. determining a simulation unit that contains the largest number of virtual modules among the simulation units that have not yet been allocated computing resources;

[0011] B. assigning containers belonging to the same computing device to as many virtual modules as possible in the simulation unit containing the largest number of virtual modules;

[0012] C. If the virtual modules of all simulation units have been allocated corresponding containers, then the allocation of containers is terminated; otherwise, return to step A.

[0013] Alternatively, in the above computer system, containers are allocated to virtual modules in the following manner:

[0014] A', determining the communication priorities of multiple pairs of virtual modules based on at least one of the communication load, the communication quality requirement and the real-time requirement;

[0015] B', preferentially assigning containers belonging to the same computing device to virtual modules with higher communication priorities.

[0016] Furthermore, the communication load is described by the communication frequency between virtual modules, the communication quality requirement is described by the maximum bit error rate allowed for data packets transmitted between virtual modules, and the real-time requirement is described by the maximum delay allowed for communication between virtual modules.

[0017] Furthermore, the communication priority is a linear function or a nonlinear function of the communication load, the communication quality requirement and the real-time requirement.

[0018] Optionally, in the above computer system, containers are allocated to virtual modules in the following manner:

[0019] A”, according to the communication timeliness requirements of each simulation unit, preferentially assigning containers belonging to the same computing device to virtual modules of simulation units with higher communication timeliness requirements; and

[0020] B”, for simulation units whose included virtual modules cannot be allocated to containers belonging to the same computing device, allocate containers belonging to the same computing device to as many virtual modules as possible with higher communication timeliness requirements.

[0021] Furthermore, the communication timeliness requirement of the simulation unit is determined based on the maximum communication delay allowed by the virtual modules in the simulation unit and the expected maximum communication frequency, and the communication timeliness requirement of the included virtual modules is determined based on the communication delay and the expected communication frequency of these virtual modules.

[0022] Optionally, in the above-mentioned computer system, the first network is a physical network or a first virtual network built on a physical network, and the second network is a second virtual network built on a physical network.

[0023] Furthermore, the first virtual network is a routing overlay network.

[0024] Optionally, in the above-mentioned computer system, the first communication protocol and the second communication protocol are one of the following items: VXLAN protocol, STT protocol, Geneve protocol and NVGRE protocol.

[0025] Optionally, in the above-mentioned computer system, the container set is implemented using Pod in the Kubernetes network model.

[0026] According to another aspect of the present application, a method for constructing a vehicle simulation environment using a computer system is provided, wherein the computer system includes a plurality of computing devices, and the method includes:

[0027] Using computing resources of each computing device of the computer system to provide one or more container sets, each container set including one or more containers;

[0028] constructing a plurality of simulation units for a plurality of functional domains of a vehicle, each simulation unit comprising one or more virtual modules, each virtual module being assigned a container to simulate one of the functional units in the functional domain corresponding to the simulation unit; and

[0029] The containers of the virtual modules assigned to the same simulation unit are networked into a first network based on a first communication protocol to realize communication between the virtual modules in the same simulation unit, and the container set is networked into a second network based on a second communication protocol to realize communication between the virtual modules belonging to different simulation units.

[0030] Optionally, in the above method, a container is allocated to the virtual module in the following manner:

[0031] A. determining a simulation unit that contains the largest number of virtual modules among the simulation units that have not yet been allocated computing resources;

[0032] B. assigning containers belonging to the same computing device to as many virtual modules as possible in the simulation unit containing the largest number of virtual modules;

[0033] C. If the virtual modules of all simulation units have been allocated corresponding containers, then the allocation of containers is terminated; otherwise, return to step A.

[0034] Optionally, in the above method, a container is allocated to the virtual module in the following manner:

[0035] A', determining the communication priorities of multiple pairs of virtual modules based on at least one of the communication load, the communication quality requirement and the real-time requirement;

[0036] B', preferentially assigning containers belonging to the same computing device to virtual modules with higher communication priorities.

[0037] Further optionally, the communication load is described by the communication frequency between virtual modules, the communication quality requirement is described by the maximum bit error rate allowed for data packets transmitted between virtual modules, and the real-time requirement is described by the maximum delay allowed for communication between virtual modules.

[0038] Further optionally, the communication priority is a linear function or a nonlinear function of the communication load, the communication quality requirement and the real-time requirement.

[0039] Optionally, in the above method, a container is allocated to the virtual module in the following manner:

[0040] A”, according to the communication timeliness requirements of each simulation unit, preferentially assigning containers belonging to the same computing device to virtual modules of simulation units with higher communication timeliness requirements; and

[0041] B”, for simulation units whose included virtual modules cannot be allocated to containers belonging to the same computing device, allocate containers belonging to the same computing device to as many virtual modules as possible with higher communication timeliness requirements.

[0042] Furthermore, the communication timeliness requirement of the simulation unit is determined based on the maximum communication delay allowed by the virtual modules in the simulation unit and the expected maximum communication frequency, and the communication timeliness requirement of the included virtual modules is determined based on the communication delay and the expected communication frequency of these virtual modules.

[0043] Optionally, in the above method, the first network is a physical network or a first virtual network built on a physical network, and the second network is a second virtual network built on a physical network.

[0044] Further optionally, the first virtual network is a routing overlay network.

[0045] Optionally, in the above method, the first communication protocol and the second communication protocol are one of the following: VXLAN protocol, STT protocol, Geneve protocol and NVGRE protocol.

[0046] Optionally, in the above method, the container set is implemented using Pod in the Kubernetes network model.

[0047] In some embodiments of the present application, by providing different types of communication networks for the communication between virtual units belonging to the same simulation unit and the communication between virtual units belonging to different simulation units, a highly flexible and efficient simulation environment can be constructed. In particular, the first network is implemented using a physical network or a routing overlay network, which can provide a stable, reliable and low-latency data transmission backbone network, while the second network is implemented using a virtual network, which helps to flexibly define the network structure. In addition, by allocating the container of the same computing device as much as possible for the virtual modules in the same simulation unit, the communication delay inside the simulation unit can be significantly reduced. Furthermore, by allocating the container of the same computing device to paired virtual modules based on communication priority, not only the communication delay between virtual modules is reduced in general, but also the communication delay between virtual modules with high communication requirements is more significantly reduced. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] The above and / or other aspects and advantages of the present application will become clearer and easier to understand through the following description of various aspects in conjunction with the accompanying drawings, in which the same or similar units are represented by the same reference numerals. The accompanying drawings include:

[0049] Figure 1 A schematic diagram of an automotive electronic system architecture.

[0050] Figure 2 The figure is a schematic diagram of the networking of a virtual module according to an embodiment of the present application.

[0051] Figure 3 The present invention is a flowchart of a container allocation method according to another embodiment of the present application.

[0052] Figure 4 The present invention is a flowchart of a container allocation method according to another embodiment of the present application.

[0053] Figure 5 The present invention is a flowchart of a container allocation method according to another embodiment of the present application.

[0054] Figure 6 The present invention is a flowchart of a method for constructing a vehicle simulation environment using a computer system according to an embodiment of the present application. DETAILED DESCRIPTION

[0055] The present application is described more fully below with reference to the accompanying drawings in which illustrative embodiments of the present application are illustrated. However, the present application may be implemented in different forms and should not be interpreted as being limited to the embodiments given herein. The above embodiments are given to make the disclosure herein comprehensive and complete, so as to more fully convey the scope of protection of the present application to those skilled in the art.

[0056] In this specification, terms such as "comprise" and "include" indicate that in addition to the units and steps directly and explicitly stated in the specification and claims, the technical solution of the present application does not exclude the situation where there are other units and steps that are not directly or explicitly stated.

[0057] Unless otherwise specified, terms such as "first" and "second" do not indicate the order of the units in terms of time, space, size, etc., but are merely used to distinguish the units.

[0058] In this specification, "container" refers to a lightweight, portable, self-contained software runtime environment. The development of container technology has greatly promoted the popularity of cloud computing and microservice architecture, providing a flexible, efficient and reliable way to deploy, manage and expand applications.

[0059] In this specification, "computing resources" refers generally to various hardware, software and network resources involved in computer systems and network environments for performing computing tasks. Its types include, but are not limited to, processor resources, storage resources, network resources, software resources (including operating systems, applications, database management systems, development tools, etc.), input / output resources, energy resources (which provide the necessary power for computing devices), service resources (such as resources provided by cloud computing services (IaaS, PaaS, SaaS)) and data resources, etc.

[0060] In this specification, "cloud platform" refers to a computer system that provides an on-demand access to computing resources service model. In this service model, computing resources exist in the form of resource pools and are centrally managed for rental by multiple users. Users can dynamically acquire and release these resources as needed.

[0061] Automotive electronic systems can usually be divided into functional domains in various ways. Figure 1 FIG. 1 is a schematic diagram of an automotive electronic system architecture, which shows an exemplary functional block division method. Figure 1 As shown, the automotive electronic system 10 includes an autonomous driving domain 110, an intelligent cockpit domain 120, a body domain 130, a powertrain domain 140, and a chassis domain 150. For example, these functional domains communicate with each other in a bus manner (such as Ethernet). It should be pointed out that the above-mentioned division of functional domains is only exemplary, and other methods are also feasible, for example, the body domain can be integrated into the intelligent cockpit domain.

[0062] exist Figure 1In the automotive electronic system architecture shown, the autonomous driving domain 110 provides the data processing, calculation and judgment capabilities required for autonomous driving, including data processing for millimeter wave radar, camera, laser radar, GPS, inertial navigation and other devices. At the same time, the autonomous driving domain also provides security protection for the underlying core data and network data of the vehicle in the autonomous driving state.

[0063] The smart cockpit domain 120 is used to execute the functions of the automobile cockpit electronic system, which may be, for example, an integrated system or a vehicle-mounted central control screen that integrates instrument information, multimedia entertainment information display, and human-computer interaction functions.

[0064] The body domain 130 is used to perform overall control of body functions, which may be, for example, a traditional body controller (BCM) or further integrate functions such as a keyless start system (PEPS), ripple protection, and air conditioning control system on this basis.

[0065] The power domain 140 is used to optimize and control the vehicle powertrain. The chassis domain 150 is used to perform vehicle driving control, which includes, for example, the power steering system (EPS), the vehicle stability control system (ESC), the electric brake booster, the airbag control system, the air suspension, the vehicle speed sensor, etc.

[0066] In computer systems such as cloud platforms, computing resources are provided in the form of containers. Specifically, a computer system typically includes multiple computing devices (such as servers, workstations, network devices, storage devices, and personal computers, etc.), which can be located in different physical locations, or at least some of the computing devices are located in the same physical location. For each computing device, the computing resources it owns are containerized. Container orchestration tools can be used to manage large-scale container deployments. Taking the Kubernetes network model as an example, it includes a control plane (Master) and a set of worker nodes (Node). The control plane manages the worker nodes and Pods, while the worker nodes host the Pods that make up the application load. In the Kubernetes network model, a Pod is a collection of a group (one or more) of closely related containers that share storage, network, and life cycle.

[0067] In some embodiments of the present application, each functional domain is simulated by a corresponding simulation unit using containerized computing resources. In particular, each simulation unit includes one or more virtual modules, each functional domain is divided into multiple functional units and simulated by a corresponding virtual module, and computing resources are allocated to the virtual modules for simulating functional units in units of containers.

[0068] For example, assuming that the i-th functional domain F i Contains m i Functional unit fi (1)……f i (m i ), a simulation unit E for simulating the functional domain i Contains the corresponding m i Virtual module V i (1)……V i (m i ), and the computing resources consist of n containers, then m of them can be i The container is assigned to the virtual module V i (1)……V i (m i ).

[0069] Figure 2 Schematic diagram of the network of virtual modules according to an embodiment of the present application. For example, the Kubernetes network model is used as an example. However, those skilled in the art will recognize after reading the contents of the present application that other container orchestration tools can also be used to implement the following Figure 2 The networking method described.

[0070] exist Figure 2 In the example shown, the boxes S1 to S3 shown with thick solid lines represent servers, and the thin solid boxes POD within the boxes S1 to S3 represent servers. ij (i=1,2,3, and j=1,2,3) represents the containerized computing resources or container collections (such as Pods in the Kubernetes model) of each server, and each container collection contains multiple containers (PODs in thin solid boxes in the figure). ij In addition, the dashed boxes E1 and E2 represent simulation units. It should be noted that Figure 2 The number of servers, the number of container sets included in the computing resources of each server, and the number of simulation units shown are all exemplary; in addition, the number of containers included in each container set in the example may be the same, or may be completely different or partially different.

[0071] See also Figure 2 , for example, the container set POD from server S1 12 and POD 13 One or more containers and a collection of containers POD from server S2 21 One or more containers are assigned to the virtual module of the simulation unit E1, and the container set POD from the server S2 23 One or more containers and a collection of containers POD from the server S3 31 and POD 32 One or more containers are assigned to a virtual module of the simulation unit E2.

[0072] See also Figure 2 , the containers of the virtual modules assigned to the simulation units E1 and E2 are networked into two first networks NET-1A and NET-1B. In some embodiments, the first networks NET-1A and NET-1B can be implemented using an underlying network (Underlay network) or a physical network. In the Kubernetes network model, the underlying network can provide a basic network connection for communication between containers. In particular, the underlying network is composed of physical devices (such as switches, routers) and connections (such as optical fibers, Ethernet cables), which are responsible for transmitting data at the bottom layer of the network to perform communication between virtual modules within each of the simulation units E1 and E2.

[0073] In other embodiments, the first networks NET-1A and NET-1B can be implemented using an overlay network built on the basic network, such as a routing overlay network or a routing-based overlay network. With the help of the physical path and bandwidth provided by the underlying network, the virtual traffic on the overlay network can flow between physical devices. In particular, as a virtual network layer built on the basic network, the overlay network encapsulates and forwards data packets through tunneling technology, thereby realizing a logical network structure, allowing network devices (such as servers, virtual machines, containers, etc.) to communicate directly without having to consider the specific details and limitations of the underlying physical network.

[0074] In this embodiment, if Figure 2 As shown, the container set POD belonging to servers S1 to S3 ij The second network NET-2 is formed, thereby enabling different simulation units (such as Figure 2 In some embodiments, the second network NET-2 can be implemented using an overlay network built on top of an underlying network.

[0075] Optionally, in this embodiment, a variety of tunnel protocols may be used as communication protocols for the first networks NET-1A and NET-1B and the second network NET-2, including but not limited to VXLAN protocol, STT protocol, Geneve protocol, NVGRE protocol, etc. However, it should be noted that the first networks NET-1A and NET-1B and the second network NET-2 may also use other communication protocols besides tunnel protocols.

[0076] The communication between virtual units belonging to the same simulation unit has a large communication load (for example, a high communication frequency) and high real-time requirements (for example, a short maximum allowed delay time). On the other hand, the communication between virtual units belonging to different simulation units varies greatly with different virtual units in terms of communication load and real-time requirements, and is strongly related to specific business scenarios, so it is highly complex. By providing different types of communication networks for the above two types of communications, a highly flexible and efficient simulation environment can be built to meet numerous vehicle simulation needs. In particular, the first network is implemented using a physical network or a routing overlay network, which can provide a stable, reliable and low-latency data transmission backbone network, while the second network is implemented using a virtual network, which helps to flexibly define the network structure.

[0077] The following describes a specific method of allocating containers to virtual modules.

[0078] Figure 3 FIG. 1 is a flow chart of a container allocation method according to another embodiment of the present application. Figure 2 Take the situation shown as an example.

[0079] Figure 3 The method shown begins at step 310. In this step, the computer system determines the simulation unit that contains the largest number of virtual modules among the simulation units that have not yet been allocated computing resources. Figure 2 For example, at the beginning of allocation, neither simulation unit E1 nor E2 is allocated computing resources. Assuming that simulation unit E1 includes 5 virtual units and simulation unit E2 includes 4 virtual units, then in step 310, simulation unit E1 is determined as the simulation unit that currently includes the largest number of virtual modules.

[0080] Then, the process proceeds to step 320, in which the computer system allocates containers belonging to the same server to as many virtual units in the simulation unit E1 as possible based on the principle of allocating containers of the same computing device as much as possible. In an exemplary case, assuming that server S1 has 6 containers available for allocation, based on the above principle, 5 of the 6 containers available for allocation of server S1 can be allocated to the simulation unit E1. In another exemplary case, assuming that server S1 has only 4 containers available for allocation and server S2 has 2 containers available for allocation, based on the above principle, all 4 containers available for allocation of server S1 can be allocated to the simulation unit E1, and one of the containers available for allocation of server S2 can be allocated to the simulation unit E1, for example. Figure 2 shown.

[0081] After completing step 320, Figure 3The process shown enters step 330. In step 330, the computer system determines whether the virtual modules of all simulation units have been allocated corresponding containers. If so, the process of container allocation ends, otherwise, it returns to step 310.

[0082] When returning to step 310, Figure 2 For example, at this time, only simulation unit E2 has not been allocated computing resources, so it is determined to be the simulation unit that currently contains the largest number of virtual modules. Similarly, in step 320, the computer system still allocates containers belonging to the same server to as many virtual units in simulation unit E2 as possible based on the principle of allocating containers of the same computing device as much as possible. In the above example, server S1 has no containers available for allocation and server S2 has only one container available for allocation. Assuming that server S3 still has 3 containers available for allocation, based on the above principle, the containers available for allocation of servers S2 and S3 can be allocated to simulation unit E2, for example Figure 2 shown.

[0083] With the help of Figure 3 In the described embodiments, by allocating containers of the same computing device to virtual modules in the same simulation unit as much as possible, the communication delay within the simulation unit can be significantly reduced.

[0084] Figure 4 The present invention is a flowchart of a container allocation method according to another embodiment of the present application.

[0085] Figure 4 The method shown starts at step 410. For a virtual module, it usually has the need to communicate with other virtual modules belonging to the same simulation unit; on the other hand, the virtual module may also have the need to communicate with virtual modules in other simulation units. In step 410, the computer system determines the communication priority of the paired virtual modules. The priority can be regarded as a measure of the degree to which the communication requirements between the paired virtual modules are met. In some embodiments, corresponding communication priorities are determined for all paired virtual modules. In other embodiments, corresponding communication priorities are determined for only a portion of the paired virtual modules (e.g., paired virtual modules with a greater possibility of communication requirements).

[0086] The communication priority can be determined based on various factors. In combination with the characteristics of the vehicle simulation scenario, at least one of the communication load, the communication quality requirement and the real-time requirement can be taken into consideration. Exemplarily, the communication load can be represented by the communication frequency between the paired virtual modules, the communication quality requirement can be represented by the maximum bit error rate allowed for the transmission of data packets between the paired virtual modules, and the real-time requirement can be represented by the maximum delay allowed for the communication between the paired virtual modules.

[0087] In some embodiments, the communication priority may be determined as a nonlinear function of the communication load, the communication quality and the real-time requirement. However, in other embodiments, it is also feasible to determine the communication priority as a linear function.

[0088] The manner in which communication priority is determined is further described below.

[0089] Exemplarily, it is assumed that the number of messages f sent per unit time is determined as the communication load between virtual modules A and B, the inverse of the maximum bit error rate q allowed for communication between virtual modules A and B is determined as the communication quality requirement, and the inverse of the maximum allowable communication delay between virtual modules A and B is determined as the real-time requirement.

[0090] Optionally, the communication priority P can be determined according to the following formula: A,B :

[0091] P A,B =α×f+β×q -1 +γ×d -1 (1)

[0092] In the above formula, α, β and γ are constants greater than 0, which can be determined by computer simulation experiments according to the specific conditions of the application scenario. In the function shown in formula (1), by adjusting the constants α, β and γ, the influence of communication load, communication quality requirements and real-time requirements on communication priority can be adjusted in a simple way.

[0093] Alternatively, the communication priority P may be determined according to the following formula: A,B :

[0094]

[0095] In the above formula, α', β', γ', ε and δ are constants greater than 0, which can be determined by computer simulation experiments according to the specific conditions of the application scenario. In the function shown in formula (2), the introduction of ε and δ can avoid the zero division error in the logarithmic function. In addition, the form of the logarithmic function is suitable for processing data of different magnitudes (i.e., from very small to very large numerical ranges), which makes the model described by the function shown in formula (2) adaptable to various communication scenarios and requirements. Furthermore, the nonlinear nature of the logarithmic function makes the model more sensitive to data changes and can capture slight changes in communication load, communication quality requirements and real-time requirements.

[0096] After completing step 410, Figure 4The process shown enters step 420. In step 420, the computer system implements container allocation based on the principle of preferentially allocating containers to virtual modules with high communication priorities. Exemplarily, assuming that the paired virtual modules to which containers need to be allocated are AC, CD, BE, AF in order from high to low communication priorities (where "-" indicates two virtual modules with a paired relationship), and the number of containers available for allocation of servers a, b and c is 3, 2 and 1, then based on the above allocation principle, the 3 containers of server a can be allocated to virtual modules A, C and D, the 2 containers of server b can be allocated to virtual modules B and E, and the 1 container of server c can be allocated to virtual module F.

[0097] With the help of Figure 4 In the described embodiment, by allocating containers of the same computing device to paired virtual modules based on communication priority, not only is the communication delay between virtual modules reduced overall, but the communication delay between virtual modules with high communication requirements is also reduced more significantly.

[0098] Figure 5 The present invention is a flowchart of a container allocation method according to another embodiment of the present application.

[0099] Different simulation units usually have different communication timeliness requirements; on the other hand, within the same simulation unit, the virtual modules contained therein usually have different communication timeliness requirements. It should be noted that the communication timeliness requirement is used to describe the requirements of a communication unit for communication frequency and communication delay. Generally speaking, the higher the communication frequency, the higher the communication timeliness requirement, and vice versa; on the other hand, the smaller the communication delay, the higher the communication timeliness requirement, and vice versa.

[0100] In some embodiments, the communication timeliness requirements of the simulation unit and the virtual module can be described by the path functions F1 and F2 determined by the following equations (3) and (4), respectively:

[0101]

[0102] In the above formula, i is the serial number of the simulation unit, w i It is a parameter that can be set according to the application scenario. is the maximum communication delay allowed by the virtual module in the ith simulation unit, is the communication delay that the first network can provide for the i-th simulation unit, f i is the maximum communication frequency expected by the virtual module in the i-th simulation unit.

[0103]

[0104] In the above formula, j is the serial number of the virtual module in a simulation unit, w *j It is a parameter that can be set according to the application scenario. is the communication delay of the jth virtual module, is the communication delay that can be provided by the first network available to the corresponding simulation unit, and f j is the expected communication frequency of the jth virtual module.

[0105] Figure 5 The method shown starts at step 510. In this step, the computer system determines the communication timeliness requirements of each simulation unit, for example, according to the above formula (3).

[0106] Then proceed to step 520. In this step, the computer system preferentially allocates containers belonging to the same computing device to the virtual modules of the simulation units with higher communication timeliness requirements based on the order of communication timeliness requirements from high to low. Exemplarily, assuming that the simulation units are X1, X2 and X3 in order from high to low in terms of communication timeliness requirements, then based on the above allocation principle, it can be considered to preferentially allocate containers on the same server to the virtual modules of the simulation unit X1. For the simulation unit X1, if the requirement of preferentially allocating containers on the same server to its virtual modules (hereinafter referred to as "the same physical device allocation requirement") cannot be met, it can be further considered to preferentially allocate containers on the same server to the virtual modules of the simulation unit X2. The above allocation method can traverse each simulation unit in turn according to the communication timeliness requirements.

[0107] After completing step 520, Figure 5 The process shown enters step 530. In step 530, the computer system determines whether there is a simulation unit that cannot meet the allocation requirements of the same physical device. If so, it enters step 540, otherwise, the container allocation process ends.

[0108] It should be noted that, when there are multiple simulation units that cannot meet the allocation requirements of the same physical device, optionally, containers can be allocated to the remaining simulation units in order from high to low communication timeliness requirements. Alternatively, containers can be allocated to the remaining simulation units in a random order. To this end, in step 540, the computer system selects one of the remaining simulation units as the simulation unit to which the container is currently allocated.

[0109] Figure 5 The process shown then proceeds to step 550. In this step, the computer system determines, for example, based on the above formula (4), the communication timeliness requirements of each virtual module in the simulation unit that cannot meet the same physical device allocation requirements.

[0110] Then, step 560 is entered. In this step, the computer system allocates containers belonging to the same computing device to as many virtual modules with higher communication timeliness requirements as possible based on the order of communication timeliness requirements from high to low determined in step 550. In an exemplary case, it is assumed that the simulation unit that cannot meet the allocation requirements of the same physical device contains 5 virtual modules, which are A, B, C, D and E in order of communication timeliness requirements from high to low; at the same time, it is assumed that the servers S1, S2 and S3 that can provide computing resources have 3, 1 and 1 containers available for allocation, respectively. Based on the above principle, the 3 containers available for allocation of server S1 can be allocated to virtual modules A, B and C, and the containers available for allocation of servers S2 and S3 can be allocated to virtual modules D and E.

[0111] After completing step 560, Figure 5 The process shown returns to step 530.

[0112] Figure 6 The present invention is a flowchart of a method for constructing a vehicle simulation environment using a computer system according to an embodiment of the present application. Figure 6 Each step of the method shown is performed by a computing device. It should be noted that the computing device described here generally refers to various computer systems including hardware entities and software components, in which various computing tasks and information processing tasks are performed through the collaborative work of hardware entities and software components. It should also be noted that the computing device can be a computer system for building a vehicle simulation environment, or it can be other computer systems.

[0113] Figure 6 The method starts at step 610. In this step, a computer system for building a vehicle simulation environment is used to provide containerized computing resources. The computer system includes multiple computing devices (e.g. Figure 2 The computing resources of each computing device provide one or more container sets (e.g. Figure 2 The container collection POD in 11 ~POD 33 ), each container collection contains one or more containers.

[0114] Then, step 620 is entered to construct multiple simulation units (eg, Figure 2 As described above, each simulation unit includes one or more virtual modules, and each virtual module is assigned a container to simulate one of the functional units in the functional domain corresponding to the simulation unit. The manner of container allocation has been described in detail above and will not be repeated here.

[0115] Then, the process proceeds to step 630, where the containers of the virtual modules assigned to the same simulation unit are networked into a first network and the container collection is networked into a second network. The networking method has been described in detail above and will not be repeated here.

[0116] Those skilled in the art will appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described herein may be implemented as electronic hardware, computer software, or a combination of both.

[0117] In order to show the interchangeability between hardware and software, various schematic components, blocks, modules, circuits and steps are generally described above according to their functionality. Such functionality is implemented in hardware form or software form depending on the specific application and the design restrictions imposed on the overall system. Those skilled in the art can implement the described functionality in a variable manner for specific specific applications, but such implementation decisions should not be understood as causing deviations from the scope of the present application.

[0118] Although only some of the specific embodiments of the present application are described, it should be understood by those skilled in the art that the present application can be implemented in many other forms without departing from its subject matter and scope. Therefore, the examples and embodiments shown are considered to be illustrative rather than restrictive, and the present application may include various modifications and substitutions without departing from the spirit and scope of the present application as defined in the appended claims.

[0119] The embodiments and examples set forth herein are provided to best illustrate embodiments according to the present technology and its specific applications, and thereby enable those skilled in the art to implement and use the present application. However, those skilled in the art will appreciate that the above description and examples are provided only for ease of illustration and example. The description set forth is not intended to cover all aspects of the present application or to limit the present application to the precise form disclosed.

Claims

1. A computer system for vehicle simulation, comprising a plurality of computing devices, wherein computing resources of each computing device are used to provide one or more container sets, each container set comprising one or more containers, in, The computing resources are deployed in the following manner: constructing a plurality of simulation units for a plurality of functional domains of a vehicle, each simulation unit comprising one or more virtual modules, each virtual module being assigned a container to simulate one of the functional units in the functional domain corresponding to the simulation unit, and The containers of the virtual modules assigned to the same simulation unit are networked into a first network based on a first communication protocol to realize communication between the virtual modules in the same simulation unit, and the container set is networked into a second network based on a second communication protocol to realize communication between the virtual modules belonging to different simulation units.

2. The computer system of claim 1, wherein: Assign containers to virtual modules as follows: A. determining a simulation unit that contains the largest number of virtual modules among the simulation units that have not yet been allocated computing resources; B. assigning containers belonging to the same computing device to as many virtual modules as possible in the simulation unit containing the largest number of virtual modules; C. If the virtual modules of all simulation units have been allocated corresponding containers, then the allocation of containers is terminated; otherwise, return to step A.

3. The computer system of claim 1, wherein: Assign containers to virtual modules as follows: A', determining the communication priorities of multiple pairs of virtual modules based on at least one of the communication load, the communication quality requirement and the real-time requirement; B', preferentially assigning containers belonging to the same computing device to virtual modules with higher communication priorities.

4. The computer system of claim 3, wherein: The communication load is described by the communication frequency between virtual modules, the communication quality requirement is described by the maximum bit error rate allowed for data packets transmitted between virtual modules, and the real-time requirement is described by the maximum delay allowed for communication between virtual modules.

5. The computer system of claim 3, wherein: The communication priority is a linear function or a nonlinear function of the communication load, the communication quality requirement and the real-time requirement.

6. The computer system of claim 1, wherein: Assign containers to virtual modules as follows: A”, according to the communication timeliness requirements of each simulation unit, the virtual modules of the simulation units with higher communication timeliness requirements are preferentially allocated containers belonging to the same computing device; as well as B”, for simulation units whose included virtual modules cannot be allocated to containers belonging to the same computing device, allocate containers belonging to the same computing device to as many virtual modules as possible with higher communication timeliness requirements.

7. The computer system of claim 6, wherein: The communication timeliness requirement of the simulation unit is determined based on the maximum communication delay allowed by the virtual modules in the simulation unit and the expected highest communication frequency, and the communication timeliness requirement of the included virtual modules is determined based on the communication delay and the expected communication frequency of these virtual modules.

8. The computer system of claim 1, wherein: The first network is a physical network or a first virtual network built on a physical network, and the second network is a second virtual network built on a physical network.

9. The computer system of claim 8, wherein: The first virtual network is a routing overlay network.

10. A method for constructing a vehicle simulation environment using a computer system, wherein the computer system comprises a plurality of computing devices, characterized in that: Include: Using computing resources of each computing device of the computer system to provide one or more container sets, each container set including one or more containers; constructing a plurality of simulation units for a plurality of functional domains of a vehicle, each simulation unit comprising one or more virtual modules, each virtual module being assigned a container to simulate one of the functional units in the functional domain corresponding to the simulation unit; as well as The containers of the virtual modules assigned to the same simulation unit are networked into a first network based on a first communication protocol to realize communication between the virtual modules in the same simulation unit, and the container set is networked into a second network based on a second communication protocol to realize communication between the virtual modules belonging to different simulation units.

Citation Information

Patent Citations

  • Container-based Internet of Vehicles simulation test method and electronic equipment

    CN112306520A

  • Space-ground integrated twinborn simulation system and method

    CN115185631A

  • Vehicle simulation system and intelligent driving simulation test method using same

    CN118068721A

  • Data interfaces with isolation for containers deployed to compute nodes

    EP4054151A1

  • Containerized deployment of microservices based on monolithic legacy applications

    WO2018197928A1

Cited By

  • Industrial scene-oriented humanoid robot co-simulation control method and related equipment

    CN121857367A