Computing power extension system, resource allocation method and device and storage medium

By installing an extended computing power card and external memory on the main board of the car, and dynamically allocated resources, the problem of insufficient resources of the main board of the vehicle machine, realized the efficient resource support for vehicle applications, and improved the user experience.

CN119363686APending Publication Date: 2025-01-24DALIAN QIXIAN ZHIYUAN TECH RES INST CO LTD +2
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411489534.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-23
Publication Date
2025-01-24

AI Technical Summary

Technical Problem

In the prior art, since the computing power resources and memory resources of the car computer motherboard are difficult to meet the computing power resources and memory resources required for upgraded vehicle applications, users cannot experience the functions of the latest version of the vehicle applications.

Method used

By installing the M and N external memory on the main board of the vehicle machine, the PCIE switch is connected with the PCIE switch and the memory bus to dynamically allocate computing power resources and memory resources to meet the needs of car applications.

Benefits of technology

When the main board resources of the vehicle machine, the computing power card and external memory provided the required computing power and memory resources to the car application through the expansion of the computing power card and external memory, which improved the user experience and solved the unable to open the function caused by insufficient resources. Question.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119363686A_ABST
    Figure CN119363686A_ABST
Patent Text Reader

Abstract

The invention discloses a computing power extension system, a resource allocation method and device and a storage medium. In the scheme, the computing power extension system comprises a vehicle machine mainboard, M extension computing power cards, a PCIE (Peripheral Component Interface Express) switch, N external memories and a memory bus, the PCIE switch is provided with a plurality of PCIE ports; each extension computing power card is connected with the vehicle machine mainboard through a PCIE port of the PCIE switch; the number of the extended computing power cards is in positive correlation with the computing power demand of the vehicle-mounted application program; each external memory is connected with the vehicle machine mainboard and the extension computing power card through a memory bus; the number of the external memories is in positive correlation with the memory demand of the vehicle-mounted application program. According to the technical scheme, the technical problem that in the prior art, due to the fact that computing power resources and memory resources of a vehicle-mounted machine mainboard are difficult to meet the computing power resources and memory resources needed by the upgraded vehicle-mounted application program, a user cannot experience the functions of the vehicle-mounted application program of the latest version is solved, and the experience feeling of the user is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of vehicle-mounted embedded technology, and in particular to a computing power expansion system, a resource allocation method, a device and a storage medium. Background Art

[0002] As users' demands for vehicle functions continue to increase, the in-vehicle applications in the car computer also need to be continuously upgraded according to user needs. For example, in order to meet users' demand for the car's autonomous driving function, the autonomous driving software needs to be continuously upgraded. However, some in-vehicle applications require a lot of computing power for real-time calculations during operation, while the computing power resources and memory resources of the car computer depend on the original hardware (such as the car computer motherboard) and are fixed. Therefore, with the increase of the life of the car and the replacement of the software of the in-vehicle application, the computing power resources and memory resources of the car computer are likely to be difficult to meet the computing power requirements and memory requirements after the upgrade, resulting in users being unable to experience the functions of the latest version of the software. For example, when the navigation software is updated, if the computing power resources of the car computer motherboard cannot meet the computing power requirements of the new version of the navigation software, the navigation function of this version of the navigation software is likely to be unable to be enabled normally, and it is impossible to provide accurate navigation services for the driver. What's more, it affects the driving safety of the vehicle. Summary of the invention

[0003] Based on the above problems, the present application provides a computing power expansion system, resource allocation method, device and storage medium, with the aim of solving the technical problem in the prior art that users cannot experience the functions of the latest version of the in-vehicle application because the computing power resources and memory resources of the vehicle mainboard are difficult to meet the computing power resources and memory resources required by the upgraded in-vehicle application, thereby improving the user experience.

[0004] The embodiments of the present application disclose the following technical solutions:

[0005] In a first aspect of the present application, a computing power expansion system is provided, the system comprising: a vehicle mainboard, M expansion computing power cards, a PCIE switch, N external memories and a memory bus; M and N are integers greater than or equal to 1; the PCIE switch is provided with a plurality of PCIE ports;

[0006] The vehicle mainboard is used to provide a running environment for vehicle applications;

[0007] Each expansion computing power card is connected to the vehicle mainboard through the PCIE port of the PCIE switch; the number of expansion computing power cards is positively correlated with the computing power demand of the vehicle application;

[0008] Each external memory is connected to the vehicle mainboard and the extended computing power card through a memory bus; the number of external memories is positively correlated with the memory demand of the on-board application; the memory bus is used to provide a data transmission channel for the data in the external memory shared by the vehicle mainboard and the extended computing power card.

[0009] In an optional implementation, the vehicle mainboard includes a resource manager front end and a resource manager back end;

[0010] The resource manager front end is used to receive a resource acquisition request initiated by a target vehicle-mounted application, and send resource demand information in the resource acquisition request to the resource manager back end; the resource demand information includes a target computing power demand and a target memory demand of the target vehicle-mounted application;

[0011] The resource manager backend is used to receive the resource requirement information sent by the resource manager frontend, and allocate the required computing power resources and memory resources to the target in-vehicle application based on the resource requirement information.

[0012] In an optional implementation, the resource manager backend includes a neural network engine, wherein the neural network engine includes a resource usage prediction model;

[0013] A neural network engine is used to predict the operating time period of a target vehicle application based on the unique identifier and target timestamp of the target vehicle application through a resource usage prediction model, and target resource usage information corresponding to other vehicle applications running on the vehicle mainboard during the predicted operating time period; other vehicle applications are vehicle applications other than the target vehicle application among multiple vehicle applications running during the operating time period; the target resource usage information is used to determine whether it is necessary to reserve sufficient computing power resources and memory resources for other vehicle applications whose operating time is greater than that of the target vehicle application; the target timestamp is used to represent the moment when the target vehicle application initiates a resource acquisition request.

[0014] In an optional implementation, the resource manager backend also includes a resource monitor, a memory manager, and a computing resource manager;

[0015] Resource monitor, used to monitor the moment when the target vehicle application initiates a resource acquisition request, and the memory resource usage information and computing resource usage information of all vehicle applications running on the vehicle mainboard;

[0016] The resource monitor is also used to send memory resource usage information to the memory manager and computing power resource usage information to the computing power resource manager;

[0017] A memory manager, configured to receive memory resource usage information sent by the resource monitor, and allocate required memory resources to a target vehicle application based on the memory resource usage information and the target resource usage information;

[0018] The computing power resource manager is used to receive the computing power resource usage information sent by the resource monitor, and allocate the required computing power resources to the target in-vehicle application based on the computing power resource usage information and the target resource usage information.

[0019] In an optional implementation, the memory manager is further used to determine a memory allocation policy for the target in-vehicle application based on the memory resource usage information, the target resource usage information, the resource allocation rule, and the target memory requirement, and to allocate required memory resources to the target in-vehicle application based on the memory allocation policy;

[0020] The computing power resource manager is also used to determine the computing power allocation strategy of the target in-vehicle application based on the computing power resource usage information, the target resource usage information, the target computing power demand and the resource allocation rules, and allocate the required computing power resources to the target in-vehicle application based on the computing power allocation strategy.

[0021] In an optional implementation, the resource allocation rule includes a first allocation rule, a second allocation rule, and a third allocation rule;

[0022] The first allocation rule is a rule that when the remaining computing power resources of the vehicle mainboard are greater than or equal to the target computing power requirement of the target vehicle application, and the remaining memory resources of the vehicle mainboard are greater than or equal to the target memory requirement of the target vehicle application, the required computing power resources and memory resources are provided to the target vehicle application through the vehicle mainboard;

[0023] The second allocation rule is that when the remaining computing power resources of the vehicle mainboard are less than the target computing power requirement, the remaining memory resources of the vehicle mainboard are less than the target memory requirement, and the remaining computing power resources of any one of the M extended computing power cards are greater than or equal to the target computing power requirement, and the remaining memory resources of any one of the extended computing power cards are greater than or equal to the target memory requirement, any one of the extended computing power cards is used to provide the required computing power resources and memory resources for the target vehicle application;

[0024] The third allocation rule is that when the remaining computing power resources of the vehicle mainboard are less than the target computing power requirement, the remaining memory resources of the vehicle mainboard are less than the target memory requirement, and the remaining computing power resources of each extended computing power card are less than the target computing power requirement, and the remaining memory resources of each extended computing power card are less than the target memory requirement, the vehicle mainboard, M extended computing power cards and N external memories jointly provide the required computing power resources and memory resources for the target vehicle-mounted application.

[0025] In an optional implementation, the resource monitor is further used to monitor historical resource usage information corresponding to the vehicle-mounted applications running within a preset time period, and send the historical resource usage information to the neural network engine; the vehicle-mounted applications and the resource manager front end are all running in a virtualized environment of the vehicle mainboard;

[0026] The neural network engine is also used to receive historical resource usage information sent by the resource monitor, and to train the initial prediction model based on the historical resource usage information to obtain a resource usage prediction model.

[0027] In a second aspect of the present application, a resource allocation method is provided, the method comprising:

[0028] Receive a resource acquisition request initiated by a target vehicle-mounted application, wherein the resource acquisition request includes resource requirement information, a unique identifier, and a target timestamp of the target vehicle-mounted application, the resource requirement information includes a target computing power requirement and a target memory requirement of the target vehicle-mounted application, and the target timestamp is used to represent the time when the target vehicle-mounted application initiates the resource acquisition request;

[0029] The resource usage prediction model is used to predict the running time period of the target vehicle application based on the unique identifier and the target timestamp, and the target resource usage information corresponding to other vehicle applications running on the vehicle mainboard during the predicted running time period is predicted; other vehicle applications are vehicle applications other than the target vehicle application among multiple vehicle applications running during the running time period; the target resource usage information is used to determine whether it is necessary to reserve sufficient computing resources and memory resources for other vehicle applications whose running time is longer than that of the target vehicle application;

[0030] Determine a computing power allocation strategy and a memory allocation strategy of a target vehicle application based on target resource usage information, target computing power requirement, and target memory requirement;

[0031] The required computing power resources are allocated to the target vehicle application based on the computing power allocation strategy, and the required memory resources are allocated to the target vehicle application based on the memory allocation strategy.

[0032] In a third aspect of the present application, a resource allocation device is provided, the device comprising:

[0033] A receiving module, configured to receive a resource acquisition request initiated by a target vehicle-mounted application, wherein the resource acquisition request includes resource requirement information, a unique identifier, and a target timestamp of the target vehicle-mounted application, the resource requirement information includes a target computing power requirement and a target memory requirement of the target vehicle-mounted application, and the target timestamp is used to represent the time when the target vehicle-mounted application initiates the resource acquisition request;

[0034] A prediction module is used to predict the running time period of the target vehicle application based on the unique identifier and the target timestamp through a resource usage prediction model, and predict the target resource usage information corresponding to other vehicle applications running in the vehicle mainboard during the running time period; other vehicle applications are vehicle applications other than the target vehicle application among multiple vehicle applications running during the running time period; the target resource usage information is used to determine whether it is necessary to reserve sufficient computing resources and memory resources for other vehicle applications whose running time is longer than that of the target vehicle application;

[0035] A determination module, used to determine a computing power allocation strategy and a memory allocation strategy of a target vehicle application based on target resource usage information, a target computing power requirement, and a target memory requirement;

[0036] The resource allocation module is used to allocate the required computing power resources to the target vehicle application based on the computing power allocation strategy, and to allocate the required memory resources to the target vehicle application based on the memory allocation strategy.

[0037] In a fourth aspect of the present application, a computer-readable storage medium is provided, in which a computer program is stored. When the computer program is executed by a processor, the resource allocation method introduced in the second aspect is implemented.

[0038] Compared with the prior art, this application has the following beneficial effects:

[0039] In the technical solution of the present application, the computing power expansion system includes a vehicle mainboard, M expansion computing power cards, a PCIE switch, N external memories and a memory bus; M and N are integers greater than or equal to 1; the PCIE switch is provided with multiple PCIE ports; the vehicle mainboard is used to provide a running environment for vehicle-mounted applications; each expansion computing power card is connected to the vehicle mainboard through the PCIE port of the PCIE switch; the number of expansion computing power cards is positively correlated with the computing power demand of the vehicle-mounted application; each external memory is connected to the vehicle mainboard and the expansion computing power card through the memory bus; the number of external memories is positively correlated with the memory demand of the vehicle-mounted application; the memory bus is used to provide a data transmission channel for the data in the external memory shared by the vehicle mainboard and the expansion computing power card.

[0040] Therefore, in the technical solution of the present application, the extended computing power card is connected to the vehicle mainboard through the PCIE port of the PCIE switch, so that when the computing power resources of the vehicle mainboard are difficult to meet the computing power resources required by the vehicle application, and the memory resources of the vehicle mainboard are difficult to meet the memory resources required by the vehicle application, the required computing power resources and memory resources can be provided to the vehicle application through the extended computing power card; the vehicle mainboard and the extended computing power card are connected to the external memory through the memory bus, so that when the memory resources of the vehicle mainboard and the extended computing power card are difficult to meet the memory resources required by the vehicle application, the required computing power resources and memory resources can be provided to the vehicle application through the external memory. The application provides the required memory resources; and in the technical solution of the present application, the number of extended computing power cards is positively correlated with the computing power demand of the on-board application, and the number of external memories is positively correlated with the memory demand of the on-board application. It is possible to increase the number of extended computing power cards and external memories according to the computing power demand and memory demand required by the on-board application, which solves the technical problem in the prior art that the computing power resources and memory resources of the vehicle motherboard are difficult to meet the computing power resources and memory resources required by the upgraded on-board application, resulting in the user being unable to experience the functions of the latest version of the on-board application, thereby improving the user experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0042] Figure 1 A schematic diagram of a computing power expansion system provided in an embodiment of the present application;

[0043] Figure 2 A schematic diagram of another computing power expansion system provided in an embodiment of the present application;

[0044] Figure 3 A schematic diagram of the interaction between a resource manager front end and a resource manager back end provided in an embodiment of the present application;

[0045] Figure 4 A schematic diagram of another computing power expansion system provided in an embodiment of the present application;

[0046] Figure 5 A schematic diagram of the interaction between a resource monitor, a computing resource manager, and a memory manager provided in an embodiment of the present application;

[0047] Figure 6 A flowchart of a resource allocation method provided in an embodiment of the present application;

[0048] Figure 7 A flowchart of a resource allocation strategy determination process provided in an embodiment of the present application;

[0049] Figure 8 A schematic diagram of the structure of a resource allocation device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0050] As described above, the computing power resources and memory resources of current car computers depend on the original hardware (such as the car motherboard) and are fixed. As the life of the car increases and the software of the in-vehicle application changes, the computing power resources and memory resources of the car computer may be difficult to meet the upgraded computing power and memory requirements, resulting in users being unable to experience the functions of the latest version of the software. For example, when the navigation software is updated, if the computing power resources of the car motherboard cannot meet the computing power requirements of the new version of the navigation software, the navigation function of this version of the navigation software may not be enabled normally, and it will not be able to provide accurate navigation services to the driver. What's more, it affects the driving safety of the vehicle.

[0051] After research, the inventor proposed connecting the extended computing power card to the vehicle mainboard through multiple PCIE ports set up by a PCIE switch. When the computing power resources of the vehicle mainboard are difficult to meet the computing power resources required by the vehicle-mounted application, and the memory resources of the vehicle mainboard are difficult to meet the memory resources required by the vehicle-mounted application, the required computing power resources and memory resources are provided to the vehicle-mounted application through the extended computing power card; it is proposed to connect the vehicle mainboard and the extended computing power card with an external memory through a memory bus. When the memory resources of both the vehicle mainboard and the extended computing power card are difficult to meet the memory resources required by the vehicle-mounted application, the required memory resources are provided to the vehicle-mounted application through the external memory.

[0052] After research, the inventor also proposed that the number of extended computing power cards is positively correlated with the computing power demand of the in-vehicle application, and the number of external memories is positively correlated with the memory demand of the in-vehicle application. This can realize increasing the number of extended computing power cards and external memories according to the computing power demand and memory demand of the in-vehicle application. This solves the technical problem in the prior art that the computing power resources and memory resources of the vehicle mainboard are difficult to meet the computing power resources and memory resources required by the upgraded in-vehicle application, resulting in users being unable to experience the functions of the latest version of the in-vehicle application, thereby improving the user experience.

[0053] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0054] Keyword definitions:

[0055] PCIE: The full name is PCI Express, which is an evolution of the PCI (full name is Peripheral Component Interconnect, a standard bus interface used to connect peripheral devices in a computer to the computer motherboard) standard, which provides higher data transfer rates, lower latency and better performance.

[0056] System Example

[0057] The present application embodiment provides a computing power expansion system, wherein: Figure 1 A schematic diagram of a computing power expansion system provided in an embodiment of the present application is shown in FIG. Figure 1 As shown, the system includes: a vehicle mainboard 101, M expansion computing cards 102, a PCIE switch 103, N external memories 104 and a memory bus 105; M and N are integers greater than or equal to 1. Figure 1 You can see the connection relationship between several system hardware.

[0058] Among them, the vehicle mainboard 101 is used to provide an operating environment for the vehicle-mounted application.

[0059] In this embodiment, the vehicle mainboard 101 is the main control board of the vehicle, and its core components include Figure 2 In addition to the onboard memory and SoC (System on Chip) shown in the figure, the vehicle mainboard 101 also includes necessary components such as storage media. Among them, the core components of the SoC inside the vehicle mainboard are Figure 2 The NPU (full name is Neural Processing Unit), CPU and PCIE controller shown in the figure. The onboard memory of the vehicle mainboard is used to provide memory resources for vehicle applications; the NPU and CPU in the SoC of the vehicle mainboard are used to provide computing resources for vehicle applications; the PCIE controller of the vehicle mainboard is used to interact with the PCIE switch 103, so that the vehicle mainboard can exchange data with the extended computing power card 102 through the PCIE switch 103.

[0060] Optionally, in order to ensure the operating efficiency of the basic services and functions of the vehicle computer, in this embodiment, the memory resources and computing power resources required by all non-user programs running in the vehicle computer mainboard are taken from the vehicle computer mainboard, wherein the non-user programs are used to support the normal operation, maintenance and management of the vehicle computer system, which are invisible to the driver or do not require direct operation. Specifically, the onboard memory in the vehicle computer mainboard can provide the required memory resources for all non-user programs, and the SoC in the vehicle computer mainboard can provide the required computing power resources for all non-user programs.

[0061] Each expansion computing power card 102 can be connected to the vehicle mainboard 101 through the PCIE port 106 of the PCIE switch 103; the number of expansion computing power cards 102 is positively correlated with the computing power demand of the vehicle application. The PCIE switch 103 is provided with a plurality of PCIE ports 106.

[0062] Optionally, the PCIE switch 103 is a network device for extending and managing the connection of a PCIE bus, which can extend a PCIE port into multiple PCIE ports, allowing multiple PCIE devices (such as a vehicle motherboard, an expansion computing card) to be connected to the PCIE port. The PCIE switch can act as a packet router, which can identify the path information of a given packet based on the address or other routing information.

[0063] Optionally, the expansion computing power card 103 is a pluggable computing power card, and its number is only limited by the expansion capability of the PCIE switch 103. The core components of the expansion computing power card include Figure 2 In addition to the onboard memory and SoC shown in the figure, the expansion computing card also includes necessary components such as storage media. Among them, the core components of the SoC of the expansion computing card are Figure 2 The CPU and PCIE controller shown in the figure. The onboard memory of the extended computing power card is used to provide memory resources for the vehicle-mounted application; the CPU in the SoC of the extended computing power card is used to provide computing power resources for the vehicle-mounted application; the PCIE controller of the extended computing power card is used to interact with the PCIE switch 103, so that the extended computing power card can exchange data with the vehicle mainboard 101 through the PCIE switch 103.

[0064] In order to expand the computing power and memory resources of the vehicle computer, and solve the technical problem in the prior art that the computing power and memory resources of the vehicle computer mainboard are difficult to meet the computing power and memory resources required by the upgraded vehicle-mounted application, resulting in the user being unable to experience the functions of the latest version of the vehicle-mounted application, thereby improving the user experience, the present application can connect the vehicle computer mainboard 101 and the extended computing power card 102 through multiple PCIE ports 106 set in the PCIE switch 103. When the computing power and memory resources of the vehicle computer mainboard are difficult to meet the computing power and memory resources required by the vehicle-mounted application, the required computing power and memory resources are provided to the vehicle-mounted application through the extended computing power card.

[0065] Optionally, the number of the above-mentioned extended computing power cards 102 is positively correlated with the computing power demand of the vehicle-mounted application, that is, the computing power expansion system of the present application can increase the number of extended computing power cards according to the computing power demand required by the vehicle-mounted application. For example, when the computing power resources and memory resources of the vehicle mainboard and the extended computing power cards connected to the vehicle mainboard are difficult to meet the computing power resources and memory resources required by the vehicle-mounted application, several new extended computing power cards can be connected to the vehicle mainboard through the PCIE port to provide the required computing power resources and memory resources for the vehicle-mounted application, thereby achieving sufficient computing power resources and memory resources for the constantly updated vehicle-mounted application, so that users can use the vehicle-mounted application functions normally, thereby improving the user experience.

[0066] It should be noted that connecting the extended computing power card to the vehicle mainboard through the PCIE port of the PCIE switch can enable high-speed, low-latency data interaction between the extended computing power card and the vehicle mainboard through the PCIE switch, thereby reducing the communication loss between the vehicle mainboard and the extended computing power card and improving the resource scheduling efficiency of the vehicle mainboard.

[0067] Each external memory 104 can be connected to the vehicle mainboard 101 and the expansion computing power card 102 via the memory bus 105; the number of external memories 104 is positively correlated with the memory requirement of the vehicle-mounted application.

[0068] Optionally, the external memory 104 is a pluggable expansion memory having a memory interface for providing memory expansion capability, such as an LPDDR4 interface (full name: Low-Power Double Data Rate 4, a low-power memory technology for mobile devices).

[0069] Optionally, the memory bus 105 is used to provide a data transmission channel for the vehicle mainboard 101 and the expansion computing power card 102 to share data in the external memory 104 .

[0070] When the car computer is running multiple in-vehicle applications at the same time or processing a large amount of data, the memory resources of the car computer mainboard and the expansion computing power card may not be able to meet the memory resources required for multiple in-vehicle applications or processing a large amount of data, resulting in a decline in the performance of the car computer, severe and frequent delays or application crashes, thereby reducing the user experience.

[0071] In order to solve the above problems, the present application can connect the external memory 104 with the vehicle mainboard 101 and the extended computing power card 102 through the memory bus 105, so that when the memory resources of the vehicle mainboard and the extended computing power card cannot meet the memory resources required by the vehicle-mounted application, the required memory resources can be provided to the vehicle-mounted application through the external memory 104.

[0072] Optionally, in this embodiment, the amount of external memory 104 is positively correlated with the memory requirement of the vehicle-mounted application, that is, the computing power expansion system of the present application can increase the amount of external memory according to the memory requirement of the vehicle-mounted application. Among them, the amount of external memory 104 is only limited by the expansion capability of the memory bus 105.

[0073] It should be noted that the memory bus provides a data transmission channel for the vehicle mainboard and the extended computing power card to share data in the external memory. The vehicle mainboard and the extended computing power card can obtain the required data from the external memory without copying the data, thereby improving resource utilization efficiency.

[0074] Based on the above scheme, it can be known that in this application, the extended computing power card is connected to the vehicle mainboard through the PCIE port of the PCIE switch, so that when the computing power resources of the vehicle mainboard are difficult to meet the computing power resources required by the vehicle application, and the memory resources of the vehicle mainboard are difficult to meet the memory resources required by the vehicle application, it is possible to provide the required computing power resources and memory resources for the vehicle application through the extended computing power card; the vehicle mainboard and the extended computing power card are connected to the external memory through the memory bus, so that when the memory resources of the vehicle mainboard and the extended computing power card are difficult to meet the memory resources required by the vehicle application, it is possible to use the external memory Provide the required memory resources for the in-vehicle applications; and in the technical solution of the present application, the number of extended computing power cards is positively correlated with the computing power demand of the in-vehicle applications, and the number of external memories is positively correlated with the memory demand of the in-vehicle applications. It is possible to increase the number of extended computing power cards and external memories according to the computing power demand and memory demand required by the in-vehicle applications, thereby solving the technical problem in the prior art that the computing power resources and memory resources of the vehicle mainboard are difficult to meet the computing power resources and memory resources required by the upgraded in-vehicle applications, resulting in the user being unable to experience the functions of the latest version of the in-vehicle applications, thereby improving the user experience.

[0075] Furthermore, in order to reduce the software development cost and make the developed vehicle-mounted applications compatible, the vehicle-mounted motherboard in this application includes Figure 3 The resource manager front end 1011 and the resource manager back end 1012 shown in .

[0076] Among them, the resource manager front end 1011 can be used to receive a resource acquisition request initiated by the target vehicle-mounted application 1013, and send the resource requirement information in the resource acquisition request to the resource manager back end 1012; the resource requirement information includes the target computing power requirement and target memory requirement of the target vehicle-mounted application 1013.

[0077] In this application, the software structure of the vehicle computer motherboard is divided into two operating systems: Guest OS (i.e., guest operating system) and Host OS (i.e., main operating system in the vehicle computer). Host OS is the main operating system running on the physical machine, which can be used to deploy computing power and schedule core components such as the resource manager backend. Guest OS is the guest operating system running on the virtual machine. Figure 4 The resource manager front end and the vehicle-mounted applications in the vehicle mainboard shown in the figure, including the target vehicle-mounted applications, are all in the Guest OS environment, that is, the resource manager front end and the vehicle-mounted applications are all running in the virtualized environment of the vehicle mainboard.

[0078] It should be noted that by running both the resource manager front-end and the in-vehicle application in the virtualized environment of the vehicle motherboard, the development of in-vehicle applications does not need to consider matching components related to computing power sharing (such as extended computing power cards), thereby reducing software development costs and making the developed in-vehicle applications compatible.

[0079] Optionally, in order to enable both the resource manager front end and the vehicle application to run in the virtualized environment of the vehicle mainboard, such as Figure 4 As shown, the vehicle mainboard in the present application includes a core module Hypervisor (ie, virtual machine monitor) for implementing virtualization, and virtual machines can be created and run through the Hypervisor.

[0080] The resource manager backend 1012 is used to receive the resource requirement information sent by the resource manager frontend 1011, and allocate the required computing resources and memory resources to the target in-vehicle application 1013 based on the resource requirement information.

[0081] In this embodiment, if Figure 4As shown, the resource manager backend is in the environment of Host OS (i.e., the main operating system in the vehicle computer), that is, the resource manager backend runs in the non-virtualized environment of the vehicle computer motherboard. After the resource manager backend 1012 receives the resource demand information sent by the resource manager front end 1011, the resource manager backend can provide the target vehicle application with the required computing power resources and memory resources through the vehicle computer motherboard, the extended computing power card and the external memory according to the target computing power demand and the target memory demand corresponding to the target vehicle application. For example, the resource manager backend determines that the remaining memory resources and computing power resources of the vehicle computer motherboard meet the computing power resources and memory resources required by the target vehicle application, and the resource manager backend can provide the target vehicle application with the required computing power resources and memory resources through the vehicle computer motherboard.

[0082] It should be noted that the extended computing power card in this application only provides computing power resources and memory resources for vehicle-mounted applications. There is no need to develop vehicle-mounted applications on the extended computing power card. In order to improve the computing power supply efficiency of the extended computing power card, the extended computing power card in this application runs directly in the operating system on the physical machine.

[0083] In order to improve the resource mobilization efficiency of the vehicle computer and ensure the maximum utilization efficiency of the expanded computing resources and memory resources, the resource manager backend in this application includes a neural network engine 10121, wherein the neural network engine 10121 includes a resource usage prediction model. The resource usage prediction model in the neural network engine 10121 predicts the running time period of the target vehicle application, and predicts the target resource usage information corresponding to other vehicle applications running in the vehicle computer mainboard during the running time period, so that the resource manager backend can allocate resources to the vehicle application more reasonably.

[0084] Among them, the neural network engine 10121 is used to predict the operating time period of the target vehicle-mounted application based on the unique identifier and target timestamp of the target vehicle-mounted application through a resource usage prediction model, and the target resource usage information corresponding to other vehicle-mounted applications running in the vehicle mainboard during the predicted operating time period; other vehicle-mounted applications are vehicle-mounted applications other than the target vehicle-mounted application among multiple vehicle-mounted applications running during the operating time period; the target resource usage information is used to determine whether it is necessary to reserve sufficient computing power resources and memory resources for other vehicle-mounted applications whose operating time is greater than the operating time of the target vehicle-mounted application; the target timestamp is used to represent the moment when the target vehicle-mounted application initiates a resource acquisition request.

[0085] In this embodiment, the target resource usage information includes the start running time, end running time and resource consumption of other vehicle-mounted applications, or the start running time, running time and resource consumption of other vehicle-mounted applications. For example, the neural network engine inputs the name of the vehicle-mounted application and the target timestamp representing the time when the target vehicle-mounted application initiates a resource acquisition request (for example, 13:10 on July 8, 2024) into the resource usage prediction model, and the resource usage prediction model predicts that the running time period of the target vehicle-mounted application is 13:10-14:10, and the resource usage prediction model predicts the target resource usage information corresponding to the vehicle-mounted application A running between 13:10 and 14:10, wherein the target resource usage information includes the start running time of the vehicle-mounted application A as 13:15, the end running time as 17:15, the computing power resource consumption as 60, and the memory resource consumption as 100. If the target computing power requirement of the target vehicle application is 70 and the target memory requirement is 80, and the remaining computing power resources of the vehicle mainboard are 100 and the remaining memory resources are 150 at 13:10, then the computing power resource manager can determine, based on the above target resource usage information, target computing power requirement and the remaining computing power resources of the vehicle mainboard, that the remaining computing power resources and remaining memory resources of the vehicle mainboard are insufficient to support the joint operation of vehicle application A and the target vehicle application, and that sufficient computing power resources and memory resources need to be reserved for vehicle application A, which has a longer running time.

[0086] Optionally, when reserving sufficient computing power resources and memory resources for other in-vehicle applications, the sources of the reserved computing power resources and memory resources may be determined according to the allocation priority of the computing power resources and memory resources. The allocation priority of the computing power resources and memory resources may be as shown in Table 1.

[0087] Table 1

[0088] Assign priority Sources of computing power and memory resources Level 1 Car motherboard Level 2 An expansion card Level 3 Car mainboard, one or more expansion computing cards and external memory

[0089] Optionally, the allocation priority of level one in the above allocation priority levels is higher than the allocation priority of level two, and the allocation priority of level two is higher than the allocation priority of level three. For example, taking the above application A as an example, when it is determined that the remaining computing power resources of the vehicle mainboard are insufficient to support the co-operation of the vehicle application A and the target vehicle application, and sufficient computing power resources and memory resources need to be reserved for the vehicle application A with a longer running time, sufficient computing power resources and memory resources can be reserved for the vehicle application A through the vehicle mainboard with a higher priority.

[0090] It should be noted that since the operating efficiency of the vehicle-mounted application when the computing power resources and memory resources required by the vehicle-mounted application are only derived from the vehicle mainboard, is greater than the operating efficiency of the vehicle-mounted application when the computing power resources and memory resources required by the vehicle-mounted application are only derived from one extended computing power card; the operating efficiency of the vehicle-mounted application when the computing power resources and memory resources required when the vehicle-mounted application is running are only derived from one extended computing power card, is greater than the operating efficiency of the vehicle-mounted application when the computing power resources and memory resources required when the vehicle-mounted application is running are derived from the vehicle mainboard, one or more extended computing power cards and external memory, determining the source of the reserved computing power resources and memory resources based on the allocation priority of the computing power resources and memory resources can improve the operating efficiency of the vehicle-mounted application.

[0091] In an optional embodiment, the target resource usage information may also include target identifiers corresponding to other in-vehicle applications, where the target identifiers are used to indicate that sufficient computing resources and memory resources need to be reserved for other in-vehicle applications.

[0092] Optionally, the resource usage prediction model in the present application is a neural network model, and the type of neural network in the neural network model can be any one of the neural networks used to process prediction tasks, such as convolutional neural network, recurrent neural network, long short-term memory network, self-attention network, etc.

[0093] In order to improve the accuracy of resource usage prediction models, such as Figure 4 As shown, the resource manager backend 1012 in the present application includes a resource monitor 10122, wherein the resource monitor is used to monitor the historical resource usage information corresponding to the vehicle-mounted application running within a preset time period, and send the historical resource usage information to the neural network engine;

[0094] The neural network engine 10121 is also used to receive historical resource usage information sent by the resource monitor, and to train the initial prediction model based on the historical resource usage information to obtain a resource usage prediction model.

[0095] In this embodiment, the historical resource usage information includes but is not limited to the unique identifier of the vehicle-mounted application, the resource consumption of the vehicle-mounted application within a preset time period, the start running time and end running time of the vehicle-mounted application, or the start running time and running duration of the vehicle-mounted application. The neural network engine can use the above historical resource usage information to train the initial prediction model with the resource allocation rule as the training output target to obtain a resource usage prediction model.

[0096] Optionally, the resource monitor in the present application can periodically monitor the historical resource usage information corresponding to the in-vehicle application, and send the historical resource usage information to the neural network engine, so that the neural network engine trains and adjusts the parameters of the resource usage prediction model so that the prediction results of the resource usage prediction model can adapt to the new resource usage rules.

[0097] Optionally, the above resource allocation rules are pre-set rules to be followed in allocating memory resources and computing power resources of the vehicle computer, wherein the resource allocation rules include a first allocation rule, a second allocation rule and a third allocation rule.

[0098] Among them, the first allocation rule is a rule that when the remaining computing power resources of the vehicle mainboard are greater than or equal to the target computing power requirement of the target vehicle application, and the remaining memory resources of the vehicle mainboard are greater than or equal to the target memory requirement of the target vehicle application, the required computing power resources and memory resources are provided to the target vehicle application through the vehicle mainboard;

[0099] The second allocation rule is that when the remaining computing power resources of the vehicle mainboard are less than the target computing power requirement, the remaining memory resources of the vehicle mainboard are less than the target memory requirement, and the remaining computing power resources of any one of the M extended computing power cards are greater than or equal to the target computing power requirement, and the remaining memory resources of any one of the extended computing power cards are greater than or equal to the target memory requirement, any one of the extended computing power cards is used to provide the required computing power resources and memory resources for the target vehicle application;

[0100] The third allocation rule is that when the remaining computing power resources of the vehicle mainboard are less than the target computing power requirement, the remaining memory resources of the vehicle mainboard are less than the target memory requirement, and the remaining computing power resources of each extended computing power card are less than the target computing power requirement, and the remaining memory resources of each extended computing power card are less than the target memory requirement, the vehicle mainboard, M extended computing power cards and N external memories jointly provide the required computing power resources and memory resources for the target vehicle-mounted application.

[0101] Optionally, in addition to the first allocation rule, the second allocation rule and the third allocation rule, the resource allocation rule may also include a fourth allocation rule and a fifth allocation rule, wherein the fourth allocation rule is a rule that when the remaining computing power resources of the vehicle mainboard are greater than or equal to the target computing power requirement, the remaining memory resources of the vehicle mainboard are less than the target memory requirement, and the remaining memory resources of the external memory are greater than or equal to the target memory requirement, the required computing power resources are provided to the target vehicle application through the vehicle mainboard, and the required memory resources are provided to the target vehicle application through the external memory. The fifth allocation rule is a rule that when the remaining computing power resources of the vehicle mainboard are less than the target computing power requirement, the remaining memory resources of the vehicle mainboard are less than the target memory requirement, and the remaining computing power resources of the extended computing power card are greater than or equal to the target computing power requirement, and the remaining memory resources of the extended computing power card are less than the target memory requirement, the required computing power resources are provided to the target vehicle application through the extended computing power card, and the required computing power resources and memory resources are provided to the target vehicle application through the external memory.

[0102] It should be noted that when the initial prediction model is trained for the first time, the neural network engine can pre-train a basic model through the vehicle computer usage habit data, where the vehicle computer usage habit data includes but is not limited to data obtained through questionnaire surveys, collection of user habits of previous vehicle computer products, etc.

[0103] In order to further improve the resource mobilization efficiency of the vehicle computer, the resource manager backend in this application also includes Figure 5 The resource monitor 10122, memory manager 10123 and computing power resource manager 10124 shown in the figure are used to allocate the required memory resources and computing power resources to the target in-vehicle application.

[0104] Resource monitor 10122, used to monitor the moment when the target vehicle-mounted application initiates a resource acquisition request, the memory resource usage information and computing resource usage information of all vehicle-mounted applications running in the vehicle-mounted mainboard;

[0105] The resource monitor 10122 is also used to send memory resource usage information to the memory manager 10123 and send computing power resource usage information to the computing power resource manager 10124.

[0106] In this embodiment, the resource monitor 10122 can monitor the memory resource usage information and computing power resource usage information of all vehicle-mounted applications running on the vehicle mainboard in real time, and send the memory resource usage information and computing power resource usage information to the memory manager and computing power resource manager respectively, so as to allocate memory resources and computing power resources to the vehicle-mounted applications.

[0107] The memory manager 10123 is used to receive the memory resource usage information sent by the resource monitor 10122, and allocate required memory resources to the target vehicle application based on the memory resource usage information and the target resource usage information.

[0108] Optionally, the memory manager 10123 is also used to determine the memory allocation strategy of the target vehicle application based on the memory resource usage information, the target resource usage information, the resource allocation rules and the target memory requirement, and allocate the required memory resources to the target vehicle application based on the memory allocation strategy.

[0109] Optionally, the external memory in the present application can map the address of the external memory and the address of the onboard memory of the vehicle mainboard or the onboard memory of the extended computing power card to the same address space for unified management through the driver of the above-mentioned memory bus, and distinguish the onboard memory and the external memory through the address end.

[0110] The computing power resource manager 10124 is used to receive the computing power resource usage information sent by the resource monitor, and allocate the required computing power resources to the target vehicle application based on the computing power resource usage information and the target resource usage information.

[0111] Optionally, the computing power resource manager is also used to determine the computing power allocation strategy of the target vehicle-mounted application based on the computing power resource usage information, target resource usage information, target computing power demand and resource allocation rules, and allocate the required computing power resources to the target vehicle-mounted application based on the computing power allocation strategy.

[0112] For example, the computing power resource manager can determine the first information based on the target resource usage information, wherein the first information is information that sufficient computing power resources are reserved for the above-mentioned vehicle-mounted application A through the vehicle mainboard during the running time period of the target vehicle-mounted application; the computing power resource manager can determine the second information based on the computing power resource usage information and the target computing power demand, wherein the second information is that the remaining computing power resources of the vehicle mainboard are greater than the target computing power demand; the computing power resource manager can determine the memory allocation strategy as a strategy for providing the required computing power resources for the target vehicle-mounted application through the vehicle mainboard based on the above-mentioned first information and second information and the above-mentioned fourth allocation rule. Then the computing power resource manager can provide the required computing power resources for the target vehicle-mounted application through the vehicle mainboard based on the memory allocation strategy.

[0113] Furthermore, the memory manager determines third information based on the target resource usage information, wherein the third information is information about reserving sufficient memory resources for the above-mentioned in-vehicle application A through the vehicle mainboard during the operating time period of the target in-vehicle application; the memory manager determines fourth information based on the target memory demand and the memory resource usage information, wherein the fourth information is information about the remaining computing power resources of the vehicle mainboard being greater than or equal to the target computing power demand, the remaining memory resources of the vehicle mainboard being less than the target memory demand, and the remaining memory resources of the external memory being greater than or equal to the target memory demand; the memory manager determines the memory allocation strategy based on the above-mentioned third information, fourth information and the above-mentioned fourth allocation rule as providing the required memory resources for the target in-vehicle application through the external memory. Then the memory manager can allocate memory resources to the target in-vehicle application according to the memory allocation strategy. Figure 4 The memory bus driver shown in FIG. 1 drives the external memory to provide the required memory resources for the target in-vehicle application.

[0114] For another example, the computing power resource manager can determine the fifth information based on the target resource usage information, wherein the fifth information is information about reserving sufficient computing power resources for the above-mentioned vehicle-mounted application A through the vehicle mainboard during the running time period of the target vehicle-mounted application; the computing power resource manager can determine the sixth information based on the computing power resource usage information and the target computing power demand, wherein the sixth information is information that the remaining computing power resources of the vehicle mainboard are less than the target computing power demand, and the remaining computing power resources of the target extended computing power card are greater than or equal to the target computing power demand; the computing power resource manager can determine the memory allocation strategy based on the above-mentioned fifth information and sixth information and the above-mentioned fifth allocation rule to allocate the required computing power resources to the target vehicle-mounted application through the target extended computing power card. Specifically, the computing power resource manager can obtain the remaining computing power resources of all extended computing power cards through the PCIE switch, and determine that the remaining computing power resources of the target extended computing power card are greater than or equal to the target computing power demand based on the remaining computing power resources of all extended computing power cards; the computing power resource manager can send a resource acquisition request to the target extended computing power card, and the target extended computing power card can obtain the resource acquisition request through the target extended computing power card. Figure 4 The workload manager (i.e., Workload Manager) shown in the figure receives the resource acquisition request sent by the computing resource manager and allocates resources to the target vehicle application. Figure 4 The program running queue (Workloads) shown provides the required computing resources for the target in-vehicle application.

[0115] Furthermore, the memory manager determines the seventh information based on the target resource usage information, wherein the seventh information is information about reserving sufficient memory resources for the above-mentioned vehicle-mounted application A through the extended computing power card during the running time period of the target vehicle-mounted application; the memory manager determines the eighth information based on the target memory demand and the memory resource usage information, wherein the eighth information is information about the remaining computing power resources of the extended computing power card being greater than the target computing power demand, the remaining memory resources of the extended computing power card being less than the target memory demand, and the remaining memory resources of the external memory being greater than or equal to the target memory demand; the memory manager determines the memory allocation strategy based on the above-mentioned seventh information, eighth information and the above-mentioned fifth allocation rule as providing the required memory resources for the target vehicle-mounted application through the external memory. The memory manager can then send a resource acquisition request to the target extended computing power card, and the target extended computing power card receives the resource acquisition request through the workload manager (i.e., Workload Manager), and can allocate resources to the target vehicle-mounted application according to the memory allocation strategy. Figure 4 The memory manager of the extended computing power card shown in FIG. 1 applies to the external memory for the memory resources required by the target vehicle application.

[0116] Optionally, the software components of the SoC of the vehicle mainboard in the present application also include Figure 4 The PCIE RCDriver shown, i.e., the RC driver of the PCIE bus, is used to manage the operation of the PCI Express (PCIe) root complex. The software components of the SoC of the extended computing power card in this application also include Figure 4 The PCIE EP Driver shown is the PCIE EP (Endpoint, device or component) driver of the extended computing power card, which is used to connect the extended computing power card to the PCIE switch and respond to the resource acquisition request sent by the vehicle mainboard.

[0117] Through the computing power expansion system provided in the embodiment of the present application, the computing power resources and memory resources of the vehicle computer are expanded, and the number of expansion computing power cards and external memories is increased according to the computing power requirements and memory requirements of the vehicle application. The technical problem of the prior art that the computing power resources and memory resources of the vehicle computer motherboard are difficult to meet the computing power resources and memory resources required by the upgraded vehicle application, resulting in the user's inability to experience the functions of the latest version of the vehicle application, improves the user experience. Through the computing power expansion system provided in the embodiment of the present application, the resource mobilization efficiency of the vehicle computer is improved, and the utilization efficiency of the expanded computing power resources and memory resources is maximized. Through the computing power expansion system provided in the embodiment of the present application, it is achieved that both the resource manager front end and the vehicle application are run in the virtualized environment of the vehicle computer motherboard, which enables the development of vehicle applications without considering matching with computing power sharing related components, while reducing software development costs and enabling the developed vehicle applications to be compatible.

[0118] Method Embodiment

[0119] The present application provides an embodiment of a resource allocation method. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions. In addition, although the logical order is shown in the flowchart, it is only an example order provided. In some cases, the steps shown or described can be executed in a different order than here.

[0120] Figure 6 A flowchart of a resource allocation method provided in an embodiment of the present application is shown in FIG. Figure 6 As shown, the method comprises the following steps:

[0121] Step S601: receiving a resource acquisition request initiated by a target vehicle-mounted application, wherein the resource acquisition request includes resource demand information, a unique identifier, and a target timestamp of the target vehicle-mounted application.

[0122] In step S601, the resource requirement information includes the target computing power requirement and the target memory requirement of the target in-vehicle application, and the target timestamp is used to represent the moment when the target in-vehicle application initiates a resource acquisition request.

[0123] Step S602, predicting the running time period of the target vehicle-mounted application based on the unique identifier and the target timestamp through the resource usage prediction model, and predicting the target resource usage information corresponding to other vehicle-mounted applications running in the vehicle mainboard during the running time period.

[0124] In step S602, other in-vehicle applications are in-vehicle applications other than the target in-vehicle application among multiple in-vehicle applications running during the running time period; the target resource usage information is used to determine whether it is necessary to reserve sufficient computing power resources and memory resources for other in-vehicle applications with a running time greater than the target in-vehicle application.

[0125] In order to improve the resource mobilization efficiency of the vehicle computer, the present application can input the unique identifier and target timestamp of the target vehicle application into a pre-trained resource usage prediction model through the neural network engine in the above-mentioned system embodiment, and predict the operating time period of the target vehicle application through the resource usage prediction model, as well as the target resource usage information corresponding to other vehicle applications running in the vehicle computer mainboard during the predicted operating time period, to provide accurate data for the subsequent determination of computing power allocation strategy and memory allocation strategy based on the target resource usage information.

[0126] In this embodiment, in this embodiment, the target resource usage information includes the start running time, end running time and resource consumption of other vehicle-mounted applications, or the start running time, running time and resource consumption of other vehicle-mounted applications. For example, the neural network engine inputs the name of the vehicle-mounted application and the target timestamp representing the time when the target vehicle-mounted application initiates a resource acquisition request (for example, 13:10 on July 8, 2024) into the resource usage prediction model, and the resource usage prediction model predicts that the running time period of the target vehicle-mounted application is 13:10-14:10, and the resource usage prediction model predicts the target resource usage information corresponding to the vehicle-mounted application A running between 13:10 and 14:10, wherein the target resource usage information includes the start running time of the vehicle-mounted application A as 13:15, the end running time as 17:15, the computing power resource consumption as 60, and the memory resource consumption as 100. If the target computing power requirement of the target vehicle-mounted application is 70, the target memory requirement is 80, and at 13:10 the remaining computing power resources of the vehicle mainboard are 100, and the remaining memory resources are 150, then the computing power resource manager in the above system embodiment can determine, based on the above target resource usage information, the target computing power requirement and the remaining computing power resources of the vehicle mainboard, that the remaining computing power resources and remaining memory resources of the vehicle mainboard are insufficient to support the joint operation of the vehicle-mounted application A and the target vehicle-mounted application, and that sufficient computing power resources and memory resources need to be reserved for the vehicle-mounted application A with a longer running time.

[0127] Optionally, when reserving sufficient computing power resources and memory resources for other in-vehicle applications, the sources of the reserved computing power resources and memory resources may be determined according to the allocation priority of the computing power resources and memory resources. The allocation priority of the computing power resources and memory resources may be as shown in Table 1.

[0128] Table 1

[0129] Assign priority Sources of computing power and memory resources Level 1 Car motherboard Level 2 An expansion card Level 3 The vehicle mainboard and one or more expansion computing cards

[0130] Optionally, the allocation priority of level one in the above allocation priority levels is higher than the allocation priority of level two, and the allocation priority of level two is higher than the allocation priority of level three. For example, taking the above application A as an example, when it is determined that the remaining computing power resources of the vehicle mainboard are insufficient to support the co-operation of the vehicle application A and the target vehicle application, and sufficient computing power resources and memory resources need to be reserved for the vehicle application A with a longer running time, sufficient computing power resources and memory resources can be reserved for the vehicle application A through the vehicle mainboard with a higher priority.

[0131] It should be noted that since the operating efficiency of the vehicle-mounted application when the computing power resources and memory resources required by the vehicle-mounted application are only derived from the vehicle mainboard, is greater than the operating efficiency of the vehicle-mounted application when the computing power resources and memory resources required by the vehicle-mounted application are only derived from one extended computing power card; the operating efficiency of the vehicle-mounted application when the computing power resources and memory resources required when the vehicle-mounted application is running are only derived from one extended computing power card, is greater than the operating efficiency of the vehicle-mounted application when the computing power resources and memory resources required when the vehicle-mounted application is running are derived from the vehicle mainboard, one or more extended computing power cards and external memory, determining the source of the reserved computing power resources and memory resources based on the allocation priority of the computing power resources and memory resources can improve the operating efficiency of the vehicle-mounted application.

[0132] In an optional embodiment, the target resource usage information may also include target identifiers corresponding to other in-vehicle applications, where the target identifiers are used to indicate that sufficient computing resources and memory resources need to be reserved for other in-vehicle applications.

[0133] Optionally, the resource usage prediction model in the present application is a neural network model, and the type of neural network in the neural network model can be any one of the neural networks used to process prediction tasks, such as convolutional neural network, recurrent neural network, long short-term memory network, self-attention network, etc.

[0134] Optionally, in order to improve the accuracy of the prediction of the resource usage prediction model, the present application may obtain historical resource usage information corresponding to the vehicle-mounted applications running within a preset time period, and perform model training on the initial prediction model based on the historical resource usage information to obtain a resource usage prediction model. The historical resource usage information includes, but is not limited to, the unique identifier of the vehicle-mounted application, the resource consumption of the vehicle-mounted application within a preset time period, the start running time and end running time of the vehicle-mounted application, or the start running time and running duration of the vehicle-mounted application. The neural network engine can use the above-mentioned historical resource usage information and the resource allocation rules in the above-mentioned system embodiment as the training output target to perform model training on the initial prediction model to obtain a resource usage prediction model.

[0135] Optionally, the above resource allocation rules are pre-set rules to be followed in allocating memory resources and computing power resources of the vehicle computer, wherein the resource allocation rules include a first allocation rule, a second allocation rule and a third allocation rule.

[0136] Among them, the first allocation rule is a rule that when the remaining computing power resources of the vehicle mainboard are greater than or equal to the target computing power requirement of the target vehicle application, and the remaining memory resources of the vehicle mainboard are greater than or equal to the target memory requirement of the target vehicle application, the required computing power resources and memory resources are provided to the target vehicle application through the vehicle mainboard;

[0137] The second allocation rule is that when the remaining computing power resources of the vehicle mainboard are less than the target computing power requirement, the remaining memory resources of the vehicle mainboard are less than the target memory requirement, and the remaining computing power resources of any one of the M extended computing power cards are greater than or equal to the target computing power requirement, and the remaining memory resources of any one of the extended computing power cards are greater than or equal to the target memory requirement, any one of the extended computing power cards is used to provide the required computing power resources and memory resources for the target vehicle application;

[0138] The third allocation rule is that when the remaining computing power resources of the vehicle mainboard are less than the target computing power requirement, the remaining memory resources of the vehicle mainboard are less than the target memory requirement, and the remaining computing power resources of each extended computing power card are less than the target computing power requirement, and the remaining memory resources of each extended computing power card are less than the target memory requirement, the vehicle mainboard, M extended computing power cards and N external memories jointly provide the required computing power resources and memory resources for the target vehicle-mounted application.

[0139] Optionally, in addition to the first allocation rule, the second allocation rule and the third allocation rule, the resource allocation rule may also include a fourth allocation rule and a fifth allocation rule, wherein the fourth allocation rule is a rule that when the remaining computing power resources of the vehicle mainboard are greater than or equal to the target computing power requirement, the remaining memory resources of the vehicle mainboard are less than the target memory requirement, and the remaining memory resources of the external memory are greater than or equal to the target memory requirement, the required computing power resources are provided to the target vehicle application through the vehicle mainboard, and the required memory resources are provided to the target vehicle application through the external memory. The fifth allocation rule is a rule that when the remaining computing power resources of the vehicle mainboard are less than the target computing power requirement, the remaining memory resources of the vehicle mainboard are less than the target memory requirement, and the remaining computing power resources of the extended computing power card are greater than or equal to the target computing power requirement, and the remaining memory resources of the extended computing power card are less than the target memory requirement, the required computing power resources are provided to the target vehicle application through the extended computing power card, and the required computing power resources and memory resources are provided to the target vehicle application through the external memory.

[0140] It should be noted that when the initial prediction model is trained for the first time, the neural network engine can pre-train a basic model through the vehicle computer usage habit data, where the vehicle computer usage habit data includes but is not limited to data obtained through questionnaire surveys, collection of user habits of previous vehicle computer products, etc.

[0141] Step S603, determining the computing power allocation strategy and memory allocation strategy of the target vehicle-mounted application based on the target resource usage information, the target computing power requirement, and the target memory requirement.

[0142] Optionally, in order to further improve the resource mobilization efficiency of the vehicle computer, this application can be Figure 7 The process shown in , determines the computing power allocation strategy and memory allocation strategy of the target vehicle application, such as Figure 7 As shown, the process includes the following steps:

[0143] Step S701, obtaining the moment when the target vehicle-mounted application initiates a resource acquisition request, and the memory resource usage information and computing power resource usage information of all vehicle-mounted applications running on the vehicle computer mainboard.

[0144] Optionally, the present application may monitor the moment when the target vehicle-mounted application initiates a resource acquisition request, and the memory resource usage information and computing power resource usage information of all vehicle-mounted applications running on the vehicle mainboard through the resource monitor in the above system embodiment.

[0145] Step S702, determining a computing power allocation strategy based on computing power resource usage information, target resource usage information, resource allocation rules, and target computing power demand;

[0146] Step S703, determining a memory allocation strategy based on the memory resource usage information, the target resource usage information, the resource allocation rule and the target memory requirement.

[0147] For example, the computing power resource manager in the above system embodiment can determine the first information according to the target resource usage information, wherein the first information is information that sufficient computing power resources are reserved for the above-mentioned vehicle-mounted application A through the vehicle mainboard during the running time period of the target vehicle-mounted application; the computing power resource manager can determine the second information according to the computing power resource usage information and the target computing power demand, wherein the second information is that the remaining computing power resources of the vehicle mainboard are greater than the target computing power demand; the computing power resource manager can determine the memory allocation strategy as a strategy for providing the required computing power resources for the target vehicle-mounted application through the vehicle mainboard according to the above-mentioned first information and second information and the above-mentioned fourth allocation rule. Then the computing power resource manager can provide the required computing power resources for the target vehicle-mounted application through the vehicle mainboard based on the memory allocation strategy.

[0148] Furthermore, the memory manager in the above-mentioned system embodiment determines third information based on the target resource usage information, wherein the third information is information for reserving sufficient memory resources for the above-mentioned vehicle-mounted application A through the vehicle mainboard during the running time period of the target vehicle-mounted application; the memory manager determines fourth information based on the target memory demand and the memory resource usage information, wherein the fourth information is information that the remaining computing power resources of the vehicle mainboard are greater than or equal to the target computing power demand, the remaining memory resources of the vehicle mainboard are less than the target memory demand, and the remaining memory resources of the external memory are greater than or equal to the target memory demand; the memory manager determines the memory allocation strategy based on the above-mentioned third information, fourth information and the above-mentioned fourth allocation rule to provide the required memory resources for the target vehicle-mounted application through the external memory.

[0149] For another example, the computing power resource manager in the above system embodiment can determine the fifth information based on the target resource usage information, wherein the fifth information is information that sufficient computing power resources are reserved for the above-mentioned vehicle-mounted application A through the vehicle mainboard during the running time period of the target vehicle-mounted application; the computing power resource manager can determine the sixth information based on the computing power resource usage information and the target computing power requirement, wherein the sixth information is information that the remaining computing power resources of the vehicle mainboard are less than the target computing power requirement, and the remaining computing power resources of the target extended computing power card are greater than or equal to the target computing power requirement; the computing power resource manager can determine the memory allocation strategy based on the above-mentioned fifth and sixth information and the above-mentioned fifth allocation rule to allocate the required computing power resources to the target vehicle-mounted application through the target extended computing power card.

[0150] Furthermore, the memory manager in the above system embodiment determines the seventh information according to the target resource usage information, wherein the seventh information is information for reserving sufficient memory resources for the above-mentioned vehicle-mounted application A through the extended computing power card during the running time period of the target vehicle-mounted application; the memory manager determines the eighth information according to the target memory demand and the memory resource usage information, wherein the eighth information is information that the remaining computing power resources of the extended computing power card are greater than the target computing power demand, the remaining memory resources of the extended computing power card are less than the target memory demand, and the remaining memory resources of the external memory are greater than or equal to the target memory demand; the memory manager determines the memory allocation strategy according to the above-mentioned seventh information, the eighth information and the above-mentioned fifth allocation rule to provide the required memory resources for the target vehicle-mounted application through the external memory.

[0151] Step S604: allocate required computing resources to the target vehicle-mounted application based on the computing power allocation strategy, and allocate required memory resources to the target vehicle-mounted application based on the memory allocation strategy.

[0152] For example, when the memory allocation strategy is to provide the target vehicle-mounted application with the required computing resources through the vehicle-mounted motherboard, the computing resource manager can provide the target vehicle-mounted application with the required computing resources through the vehicle-mounted motherboard based on the memory allocation strategy. For another example, when the memory allocation strategy is to provide the target vehicle-mounted application with the required memory resources through the external memory, the memory manager can provide the target vehicle-mounted application with the required computing resources through the vehicle-mounted motherboard based on the memory allocation strategy. Figure 4 The memory bus driver shown in FIG. 1 drives the external memory to provide the required memory resources for the target in-vehicle application.

[0153] For another example, when the memory allocation strategy is to allocate the required computing power resources for the target vehicle-mounted application through the target extended computing power card, the computing power resource manager can obtain the remaining computing power resources of all extended computing power cards through the PCIE switch, and determine that the remaining computing power resources of the target extended computing power card are greater than or equal to the target computing power demand based on the remaining computing power resources of all extended computing power cards; then the computing power resource manager can send a resource acquisition request to the target extended computing power card, and the target extended computing power card can obtain the required computing power through Figure 4 The workload manager (i.e., Workload Manager) shown in the figure receives the resource acquisition request sent by the computing resource manager and allocates resources to the target vehicle application. Figure 4 The program running queue (Workloads) shown in the figure provides the required computing resources for the target vehicle application; when the memory allocation strategy is to provide the required memory resources for the target vehicle application through the external memory, the above-mentioned memory manager can send the resource acquisition request to the target extended computing power card, and the target extended computing power card receives the resource acquisition request through the workload manager (i.e., Workload Manager), and can Figure 4 The memory manager of the extended computing power card shown in FIG. 1 applies to the external memory for the memory resources required by the target vehicle application.

[0154] Based on the scheme introduced in the above steps S601 to S604, it can be known that in the present application, by receiving a resource acquisition request initiated by a target vehicle-mounted application, and using a resource usage prediction model based on the unique identifier and target timestamp of the target vehicle-mounted application in the resource acquisition request, the target vehicle-mounted application's operating time period is predicted, as well as target resource usage information corresponding to other vehicle-mounted applications running in the vehicle mainboard during the predicted operating time period, wherein the resource acquisition request includes the target vehicle-mounted application's resource requirement information, including the target computing power requirement and target memory requirement of the target vehicle-mounted application, and the target timestamp is used to characterize the moment when the target vehicle-mounted application initiates the resource acquisition request, and other vehicle-mounted applications For the in-vehicle applications other than the target in-vehicle application among the multiple in-vehicle applications running during the running time period; the target resource usage information is used to determine whether it is necessary to reserve sufficient computing power resources and memory resources for other in-vehicle applications whose running time is longer than the running time of the target in-vehicle application; then the computing power allocation strategy and memory allocation strategy of the target in-vehicle application are determined based on the target resource usage information, the target computing power requirement and the target memory requirement; finally, the required computing power resources are allocated to the target in-vehicle application based on the computing power allocation strategy, and the required memory resources are allocated to the target in-vehicle application based on the memory allocation strategy, thereby improving the resource mobilization efficiency of the vehicle computer and ensuring the maximization of the utilization efficiency of the expanded computing power resources and memory resources.

[0155] Device Embodiment

[0156] The embodiment of the present application provides a resource allocation device, wherein: Figure 8 A schematic diagram of a resource allocation device provided in an embodiment of the present application is shown in FIG. Figure 8 As shown, the device includes: a receiving module 11, a prediction module 12, a determination module 13 and a resource allocation module 14. Figure 8 You can see the connection relationship between several modules.

[0157] The receiving module 11 is used to receive a resource acquisition request initiated by a target vehicle-mounted application, wherein the resource acquisition request includes resource demand information, a unique identifier, and a target timestamp of the target vehicle-mounted application, the resource demand information includes a target computing power demand and a target memory demand of the target vehicle-mounted application, and the target timestamp is used to represent the time when the target vehicle-mounted application initiates the resource acquisition request;

[0158] The prediction module 12 is used to predict the running time period of the target vehicle application based on the unique identifier and the target timestamp through the resource usage prediction model, and predict the target resource usage information corresponding to other vehicle applications running in the vehicle mainboard during the running time period; the other vehicle applications are vehicle applications other than the target vehicle application among the multiple vehicle applications running during the running time period; the target resource usage information is used to determine whether it is necessary to reserve sufficient computing resources and memory resources for other vehicle applications whose running time is longer than the running time of the target vehicle application;

[0159] A determination module 13, configured to determine a computing power allocation strategy and a memory allocation strategy of a target vehicle-mounted application based on target resource usage information, a target computing power requirement, and a target memory requirement;

[0160] The resource allocation module 14 is used to allocate the required computing power resources to the target vehicle-mounted application based on the computing power allocation strategy, and to allocate the required memory resources to the target vehicle-mounted application based on the memory allocation strategy.

[0161] Optionally, the determination module includes: an acquisition unit, a first determination unit and a second determination unit.

[0162] The acquisition unit is used to acquire the memory resource usage information and computing resource usage information of all vehicle-mounted applications running on the vehicle mainboard at the moment when the target vehicle-mounted application initiates the resource acquisition request;

[0163] A first determining unit, configured to determine a computing power allocation strategy based on computing power resource usage information, target resource usage information, resource allocation rules, and target computing power demand;

[0164] The second determining unit is used to determine the memory allocation strategy based on the memory resource usage information, the target resource usage information, the resource allocation rule and the target memory requirement.

[0165] Storage Medium Embodiments

[0166] The embodiment of the present application provides a computer-readable storage medium, on which a program is stored, wherein the program, when executed by a processor, implements some or all of the steps in the resource allocation method described in the aforementioned method embodiment of the present application. The storage medium can be UFS (Universal Flash Storage), eMMC (embedded MultiMediaCard), U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc., various media that can store program codes.

[0167] Processor Embodiments

[0168] An embodiment of the present application provides a processor, which is used to run a program, wherein part or all of the steps in the resource allocation method introduced in the aforementioned method embodiment are executed when the program is running.

[0169] It should be noted that the various embodiments in this specification are described in a progressive manner, and the same and similar parts between the various embodiments can refer to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device and method embodiments, since they are basically similar to the system embodiments, the description is relatively simple, and the relevant parts can refer to the partial description of the system embodiment. The device and method embodiments described above are merely schematic, in which the units described as separate components may or may not be physically separated, and the components indicated as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative labor.

[0170] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions that can be easily thought of by a person skilled in the art within the technical scope disclosed in the present application should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A computing power expansion system, characterized in that: The system includes: a vehicle mainboard, M expansion computing power cards, a PCIE switch, N external memories and a memory bus; M and N are integers greater than or equal to 1; the PCIE switch is provided with a plurality of PCIE ports; The vehicle mainboard is used to provide an operating environment for vehicle-mounted applications; Each of the expansion computing power cards is connected to the vehicle mainboard through the PCIE port of the PCIE switch; the number of the expansion computing power cards is positively correlated with the computing power demand of the vehicle-mounted application; Each of the external memories is connected to the vehicle mainboard and the extended computing power card through the memory bus; the number of the external memories is positively correlated with the memory requirement of the on-board application; the memory bus is used to provide a data transmission channel for the vehicle mainboard and the extended computing power card to share the data in the external memory.

2. The system according to claim 1, characterized in that The vehicle mainboard includes a resource manager front end and a resource manager back end; The resource manager front end is used to receive a resource acquisition request initiated by a target vehicle-mounted application, and send resource demand information in the resource acquisition request to the resource manager back end; the resource demand information includes a target computing power demand and a target memory demand of the target vehicle-mounted application; The resource manager backend is used to receive the resource requirement information sent by the resource manager frontend, and allocate the required computing resources and memory resources to the target vehicle-mounted application based on the resource requirement information.

3. The system according to claim 2, characterized in that The resource manager backend includes a neural network engine, wherein the neural network engine includes a resource usage prediction model; The neural network engine is used to predict the operating time period of the target vehicle-mounted application based on the unique identifier and target timestamp of the target vehicle-mounted application through the resource usage prediction model, and predict the target resource usage information corresponding to other vehicle-mounted applications running in the vehicle mainboard during the operating time period; the other vehicle-mounted applications are vehicle-mounted applications other than the target vehicle-mounted application among the multiple vehicle-mounted applications running during the operating time period; the target resource usage information is used to determine whether it is necessary to reserve sufficient computing power resources and memory resources for other vehicle-mounted applications whose operating time is greater than that of the target vehicle-mounted application; the target timestamp is used to characterize the moment when the target vehicle-mounted application initiates the resource acquisition request.

4. The system according to claim 3, characterized in that The resource manager backend also includes a resource monitor, a memory manager and a computing power resource manager; The resource monitor is used to monitor the moment when the target vehicle-mounted application initiates the resource acquisition request, and the memory resource usage information and computing resource usage information of all the vehicle-mounted applications running in the vehicle-mounted mainboard; The resource monitor is further used to send the memory resource usage information to the memory manager, and send the computing power resource usage information to the computing power resource manager; The memory manager is used to receive the memory resource usage information sent by the resource monitor, and allocate required memory resources to the target vehicle-mounted application based on the memory resource usage information and the target resource usage information; The computing power resource manager is used to receive the computing power resource usage information sent by the resource monitor, and allocate required computing power resources to the target in-vehicle application based on the computing power resource usage information and the target resource usage information.

5. The system according to claim 4, characterized in that The memory manager is further used to determine a memory allocation strategy for the target vehicle-mounted application based on the memory resource usage information, the target resource usage information, a resource allocation rule and the target memory requirement, and allocate required memory resources to the target vehicle-mounted application based on the memory allocation strategy; The computing power resource manager is also used to determine the computing power allocation strategy of the target in-vehicle application based on the computing power resource usage information, the target resource usage information, the target computing power demand and the resource allocation rules, and allocate the required computing power resources to the target in-vehicle application based on the computing power allocation strategy.

6. The system according to claim 5, characterized in that The resource allocation rules include a first allocation rule, a second allocation rule and a third allocation rule; The first allocation rule is a rule that, when the remaining computing power resources of the vehicle mainboard are greater than or equal to the target computing power requirement of the target vehicle application, and the remaining memory resources of the vehicle mainboard are greater than or equal to the target memory requirement of the target vehicle application, the required computing power resources and memory resources are provided to the target vehicle application through the vehicle mainboard; The second allocation rule is a rule that when the remaining computing power resources of the vehicle mainboard are less than the target computing power requirement, the remaining memory resources of the vehicle mainboard are less than the target memory requirement, and the remaining computing power resources of any one of the M extended computing power cards are greater than or equal to the target computing power requirement, and the remaining memory resources of any one of the M extended computing power cards are greater than or equal to the target memory requirement, the required computing power resources and memory resources are provided to the target vehicle application through any one of the extended computing power cards; The third allocation rule is that when the remaining computing power resources of the vehicle mainboard are less than the target computing power requirement, the remaining memory resources of the vehicle mainboard are less than the target memory requirement, and the remaining computing power resources of each of the extended computing power cards are less than the target computing power requirement, and the remaining memory resources of each of the extended computing power cards are less than the target memory requirement, the vehicle mainboard, M of the extended computing power cards and N of the external memories jointly provide the required computing power resources and memory resources for the target vehicle-mounted application.

7. The system according to claim 4, characterized in that The resource monitor is also used to monitor the historical resource usage information corresponding to the vehicle-mounted application running within a preset time period, and send the historical resource usage information to the neural network engine; the vehicle-mounted application and the resource manager front end are both running in the virtualized environment of the vehicle mainboard; The neural network engine is also used to receive historical resource usage information sent by the resource monitor, and to perform model training on the initial prediction model based on the historical resource usage information to obtain the resource usage prediction model.

8. A resource allocation method, characterized in that: The computing power expansion system applied to any one of claims 1 to 7, the method comprising: Receive a resource acquisition request initiated by a target vehicle-mounted application, wherein the resource acquisition request includes resource requirement information, a unique identifier, and a target timestamp of the target vehicle-mounted application, the resource requirement information includes a target computing power requirement and a target memory requirement of the target vehicle-mounted application, and the target timestamp is used to represent the time when the target vehicle-mounted application initiates the resource acquisition request; The resource usage prediction model is used to predict the running time period of the target vehicle application based on the unique identifier and the target timestamp, and to predict the target resource usage information corresponding to other vehicle applications running on the vehicle mainboard during the running time period; the other vehicle applications are vehicle applications other than the target vehicle application among the multiple vehicle applications running during the running time period; the target resource usage information is used to determine whether sufficient computing resources and memory resources need to be reserved for other vehicle applications whose running time is longer than that of the target vehicle application; Determine a computing power allocation strategy and a memory allocation strategy of the target in-vehicle application based on the target resource usage information, the target computing power requirement, and the target memory requirement; The required computing power resources are allocated to the target in-vehicle application based on the computing power allocation strategy, and the required memory resources are allocated to the target in-vehicle application based on the memory allocation strategy.

9. A resource allocation device, characterized in that: include: A receiving module, configured to receive a resource acquisition request initiated by a target vehicle-mounted application, wherein the resource acquisition request includes resource requirement information, a unique identifier, and a target timestamp of the target vehicle-mounted application, the resource requirement information includes a target computing power requirement and a target memory requirement of the target vehicle-mounted application, and the target timestamp is used to represent the time when the target vehicle-mounted application initiates the resource acquisition request; A prediction module, configured to predict the running time period of the target vehicle-mounted application program based on the unique identifier and the target timestamp through a resource usage prediction model, and predict target resource usage information corresponding to other vehicle-mounted applications program running on the vehicle-mounted mainboard during the running time period; the other vehicle-mounted applications program are vehicle-mounted applications program other than the target vehicle-mounted application program among the multiple vehicle-mounted applications program running during the running time period; the target resource usage information is used to determine whether sufficient computing power resources and memory resources need to be reserved for other vehicle-mounted applications program whose running time period is longer than that of the target vehicle-mounted application program; A determination module, configured to determine a computing power allocation strategy and a memory allocation strategy of the target vehicle-mounted application based on the target resource usage information, the target computing power requirement, and the target memory requirement; A resource allocation module is used to allocate the required computing power resources to the target vehicle-mounted application based on the computing power allocation strategy, and to allocate the required memory resources to the target vehicle-mounted application based on the memory allocation strategy.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the resource allocation method as claimed in claim 8 is implemented.