WO2024098333A1 - 调整计算资源的方法、装置及智能驾驶设备 - Google Patents

调整计算资源的方法、装置及智能驾驶设备 Download PDF

Info

Publication number
WO2024098333A1
WO2024098333A1 PCT/CN2022/131164 CN2022131164W WO2024098333A1 WO 2024098333 A1 WO2024098333 A1 WO 2024098333A1 CN 2022131164 W CN2022131164 W CN 2022131164W WO 2024098333 A1 WO2024098333 A1 WO 2024098333A1
Authority
WO
WIPO (PCT)
Prior art keywords
computing units
domain
business
computing
target
Prior art date
Application number
PCT/CN2022/131164
Other languages
English (en)
French (fr)
Inventor
丁涛
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2022/131164 priority Critical patent/WO2024098333A1/zh
Publication of WO2024098333A1 publication Critical patent/WO2024098333A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

Definitions

  • the present application relates to the field of intelligent driving technology, and more specifically, to a method and apparatus for adjusting computing resources and an intelligent driving device.
  • the central computing platform can integrate the computing resources of different business domains, greatly saving resources and costs.
  • the computing resources of business domains such as intelligent driving domain, vehicle control domain, and cockpit domain are deployed on the central computing platform, and the central computing platform divides the computing resources according to the business domain and performs central computing.
  • the current mainstream computing resource allocation solution is to virtualize the computing resources of the central computing platform before leaving the factory, and then divide different computing resources for different business domains.
  • some business domains may have insufficient computing resources when users use the vehicle, resulting in reduced business processing capabilities.
  • the present application provides a method, device and intelligent driving equipment for adjusting computing resources, which can ensure the business processing capabilities of the central computing platform.
  • a method for adjusting computing resources wherein the computing resources include a dedicated computing units and b shared computing units running in parallel, the a dedicated computing units are allocated to m business domains, wherein a, b and m are all positive integers greater than or equal to 2, the method comprising: obtaining first usage data of each of the k business domains, wherein the first usage data is data of users using the business domain in a first historical time period, and the k business domains are one or more of the m business domains; determining a first number of computing units required for a target business domain in the k business domains according to the first usage data of each business domain; determining a third number of shared computing units that need to be allocated to the target business domain among the b shared computing units according to the first number and a second number of dedicated computing units that have been allocated to the target business domain among the a dedicated computing units; and allocating the third number of shared computing units to the target business domain.
  • the dedicated computing unit refers to a computing unit dedicated to a certain business domain. After a dedicated computing units are allocated to m business domains, each of the a dedicated computing units is dedicated to the business domain to which it is allocated and is no longer used in other business domains.
  • a shared computing unit is a computing unit that can be shared by multiple business domains, but is not dedicated to a certain business domain. Take shared computing unit A among b shared computing units as an example. At the first moment, shared computing unit A can be assigned to the first business domain; at the second moment, shared computing unit A can be assigned to the second business domain.
  • the a dedicated computing units mentioned above can be allocated to m business domains according to a preset ratio, and the preset ratio can be determined by professional technicians based on experience.
  • the present application can flexibly adjust the computing resources of the target business domain by using shared computing units in combination with the user's usage habits during the process of the user using computing resources. For example, when the dedicated computing units in the target business domain cannot meet the user's needs, one or more shared computing units can be allocated to the target business domain according to the user's needs. Thus, on the one hand, the business processing capacity of the target business domain can be guaranteed; on the other hand, it can avoid seizing the dedicated computing units of other business domains when the computing demand of the target business domain is large, thereby ensuring the stability of the business operation of each business domain.
  • the method after allocating the third number of shared computing units to the target business domain, the method also includes: grouping the computing units in the target business domain according to prior information of the target business domain, the prior information including information of the services already deployed in the target business domain; and redeploying the services in the grouped target business domain.
  • the information of deployed services refers to the operators involved in each deployed service and the number of computing units required by each operator.
  • the computing units in the target business domain can be grouped according to information about the services already deployed in the target business domain, and the services can be redeployed in the grouped target business domain to ensure the continuity and stability of the operation of each service involved in the target business domain.
  • grouping the computing units in the target business domain according to the prior information of the target business domain includes: determining a set of grouping strategies for the computing units in the target business domain according to preset conditions; determining a target grouping strategy according to the prior information of the target business domain, the target grouping strategy being one of the grouping strategy set; and grouping the computing units in the target business domain according to the target grouping strategy.
  • the present application can first determine a set of grouping strategies for computing units in a target business domain according to preset conditions, then filter out a target grouping strategy from the grouping strategy set according to prior information of the target business domain, and group the computing units in the target business domain according to the target grouping strategy, thereby being able to determine the target grouping strategy more quickly and efficiently and reduce ineffective running time.
  • the preset condition includes at least one of the following: the number of computing units included in each group is 2n , where n is a positive integer greater than or equal to 1; the number of groups is less than or equal to the number of services that need to be deployed; the number of computing units in the first group is less than or equal to the number of computing units required by the first operator, wherein the first group is the group with the most computing units included in a service domain, and the first operator is the operator with the most computing units required in the service that needs to be deployed; or, the number of computing units in the second group is greater than or equal to the number of computing units required by the second operator, wherein the second group is the group with the least computing units included in a service domain, and the second operator is the operator with the least computing units required in the service that needs to be deployed.
  • determining the first number of computing units required for the target business domain among the k business domains based on the first usage data of each business domain includes: determining user experience evaluation results of the k business domains based on the first usage data of each business domain; determining a corresponding computing unit requirement plan based on the user experience evaluation results; and determining the first number of computing units required for the target business domain based on the computing unit requirement plan.
  • the correspondence between different evaluation results and different demand solutions can be pre-set by means of a mapping table.
  • the present application can first determine the user experience evaluation results of k business domains according to the first usage data of each business domain, then search the mapping table to obtain the demand solution corresponding to the evaluation result, and then determine the number of computing units required for the target business domain according to the demand solution.
  • the method also includes: obtaining second usage data for each of the k business domains, wherein the second usage data is data of the user using the business domain within a second historical time period; and updating the number of computing units in the target business domain based on the second usage data.
  • the present application can flexibly update the number of computing units in the target business domain according to the user's usage habits in different time periods, so that the business processing capacity of the target business domain can be guaranteed even if the user's usage habits change in different time periods.
  • the first usage data and/or the second usage data include: one or more of: the user's operation data, the response time of the service operated by the user, the usage rate of the computing unit in each service domain, and the service usage score.
  • the service usage score can be a score generated by a computing system based on the service operation status, or a score given by a user based on his or her own experience.
  • the m service domains are located in a vehicle.
  • a device for adjusting computing resources comprising a dedicated computing units and b shared computing units running in parallel, the a dedicated computing units being allocated to m business domains, wherein a, b and m are all positive integers greater than or equal to 2, the device comprising an acquisition module and a processing module, wherein the acquisition module is used to acquire first usage data of each business domain in k business domains, wherein the first usage data is data of user use of the business domain in a first historical time period, and the k business domains are one or more of the m business domains.
  • the processing module is used to: determine a first number of computing units required for a target business domain in the k business domains according to the first usage data of each business domain; determine a third number of shared computing units that need to be allocated to the target business domain in the b shared computing units according to the first number and the second number of dedicated computing units that have been allocated to the target business domain in the a dedicated computing units; and allocate the third number of shared computing units to the target business domain.
  • the processing module is also used to: group the computing units in the target business domain according to prior information of the target business domain, the prior information including information about the services already deployed in the target business domain; and redeploy the services in the grouped target business domain.
  • the processing module is also used to: determine a set of grouping strategies for computing units in the target business domain based on preset conditions; determine a target grouping strategy based on prior information of the target business domain, the target grouping strategy being one of the grouping strategy set; and group the computing units in the target business domain according to the target grouping strategy.
  • the preset condition includes at least one of the following: the number of computing units included in each group is 2n , where n is a positive integer greater than or equal to 1; the number of groups is less than or equal to the number of services that need to be deployed; the number of computing units in the first group is less than or equal to the number of computing units required by the first operator, wherein the first group is the group with the most computing units included in a service domain, and the first operator is the operator with the most computing units required in the service that needs to be deployed; or, the number of computing units in the second group is greater than or equal to the number of computing units required by the second operator, wherein the second group is the group with the least computing units included in a service domain, and the second operator is the operator with the least computing units required in the service that needs to be deployed.
  • the processing module is used to: determine the user experience evaluation results of the k business domains based on the first usage data of each business domain; determine the corresponding computing unit demand plan based on the user experience evaluation results; determine the first number of computing units required for the target business domain based on the computing unit demand plan.
  • the processing module is also used to: obtain second usage data for each of the k business domains, wherein the second usage data is data of the user using the business domain within a second historical time period; and update the number of computing units in the target business domain based on the second usage data.
  • the first usage data and/or the second usage data include: one or more of: the user's operation data, the response time of the service operated by the user, the usage rate of the computing unit in each service domain, and the service usage score.
  • the m service domains are located in a vehicle.
  • the device further includes the a dedicated computing units and b shared computing units mentioned above.
  • a device for adjusting computing resources comprising an input/output interface, a processor and a memory, the processor being used to control the input/output interface to send and receive signals or information, the memory being used to store a computer program, and the processor being used to call and run the computer program from the memory, so that the device for adjusting computing resources executes a method for adjusting computing resources as in the first aspect or any possible implementation of the first aspect.
  • a computer-readable medium which stores a program code.
  • the program code runs on a computer, the computer executes a method for adjusting computing resources as in the first aspect or any possible implementation of the first aspect.
  • a computer program product comprising instructions, which, when executed on a computer, a method for adjusting computing resources as in the first aspect or any possible implementation of the first aspect is executed.
  • a computing device comprising: at least one processor and a memory, wherein the at least one processor is coupled to the memory and is used to read and execute instructions in the memory to perform a method for adjusting computing resources as in the first aspect or any possible implementation of the first aspect.
  • a chip comprising a circuit for executing a method for adjusting computing resources as in the first aspect or any possible implementation of the first aspect.
  • an intelligent driving device comprising a device for adjusting computing resources as in the second aspect or any possible implementation of the second aspect, or comprising a device for adjusting computing resources as in the third aspect.
  • FIG1 is a functional schematic diagram of a vehicle 100 provided in an embodiment of the present application.
  • FIG. 2 is a schematic diagram of the division of vehicle computing resources.
  • FIG. 3 is a schematic diagram of a method for adjusting computing resources provided in an embodiment of the present application.
  • FIG. 4 is a schematic diagram of the division of computing resources provided in an embodiment of the present application.
  • FIG5 is a schematic diagram of a method for adjusting computing resources of a vehicle provided in an embodiment of the present application.
  • FIG. 6 is a schematic diagram of initializing vehicle computing resources provided in an embodiment of the present application.
  • FIG. 7 is a schematic diagram of the adjusted computing resources provided in an embodiment of the present application.
  • FIG8 is a schematic diagram of the structure of an apparatus for adjusting computing resources provided in an embodiment of the present application.
  • FIG9 is a schematic block diagram of the hardware structure of the apparatus for adjusting computing resources provided in an embodiment of the present application.
  • intelligent driving equipment can include road vehicles, water vehicles, air vehicles, industrial equipment, agricultural equipment, or entertainment equipment, etc.
  • the intelligent driving equipment can be a vehicle, which is a vehicle in a broad sense, and can be a vehicle (such as a commercial vehicle, a passenger car, a motorcycle, a flying car, a train, etc.), an industrial vehicle (such as a forklift, a trailer, a tractor, etc.), an engineering vehicle (such as an excavator, a bulldozer, a crane, etc.), agricultural equipment (such as a lawn mower, a harvester, etc.), amusement equipment, a toy vehicle, etc.
  • the intelligent driving equipment can be a vehicle such as an airplane or a ship.
  • the present application scheme can also be applied to servers, smart terminals, smart homes, vehicle-mounted embedded devices and other devices.
  • it can be applied to smart phones, desktop computers, laptops, tablet computers, wearable devices, robots, microcontroller units (MCU), electronic control units (ECU), etc.
  • MCU microcontroller units
  • ECU electronic control units
  • the application scenario of the present application is exemplarily introduced below by taking a vehicle as an example.
  • FIG1 is a functional schematic diagram of a vehicle 100 provided in an embodiment of the present application. It should be understood that FIG1 and the related description are only examples, and the actual vehicle may not be limited thereto. As shown in FIG1 , the vehicle 100 may include a perception system 120 and a central computing platform 150.
  • the perception system 120 may include one or more sensors for sensing information about the environment around the vehicle 100.
  • the perception system 120 may include a positioning system, which may be a global positioning system (GPS), a Beidou system or other positioning systems, or an inertial measurement unit (IMU).
  • the perception system 120 may also include one or more of a laser radar, a millimeter wave radar, an ultrasonic radar, and a camera device.
  • the central computing platform 150 is used to analyze and process the data sensed by the perception system 120, and to control some or all functions of the vehicle 100.
  • the central computing platform 150 includes computing resources, which may include multiple computing units running in parallel.
  • the current mainstream technical solution is mainly based on resource virtualization, and the computing resources of the central computing platform 150 are divided for use by different business domains through virtualization. Taking the business domains of the vehicle 100 including the intelligent driving domain, the vehicle control domain, and the cockpit domain as an example, the computing resources of the central computing platform 150 can be divided for use by these business domains after virtualization, as shown in Figure 2.
  • This application does not limit the division of business domains, and the vehicle 100 can also divide business domains according to the power domain, the body domain, the chassis domain, and the entertainment information domain.
  • this application mainly introduces the intelligent driving domain, the vehicle control domain, and the cockpit domain as examples.
  • the computing resources divided for each business domain based on the above method are dedicated to each business domain during the operation of the vehicle 100.
  • different users or the same user have different needs and usage methods for the computing resources of each business domain at different times.
  • some business domains may have insufficient computing resources when the user uses the vehicle, resulting in reduced business processing capabilities.
  • some business domains may seize the computing resources of other business domains when computing resources are insufficient, resulting in computing resources being seized back and forth between multiple business domains.
  • the cockpit domain when the cockpit domain is running a large computing task, it may seize the computing resources of the intelligent driving domain, which will cause the computing power of the intelligent driving domain to be tight, directly affecting the enabled autonomous driving function, resulting in the need for the driver to take over.
  • the intelligent driving domain and cockpit domain of autonomous driving must ensure stable operation. If the computing resources of multiple business domains are dynamically adjusted as a whole during operation of vehicle 100 (that is, all computing units are directly reallocated according to the needs of each business domain during operation of vehicle 100), this will lead to uncertainty in the overall system and affect the stability and safety of the entire vehicle.
  • the present application introduces a shared computing unit, and uses the shared computing unit to flexibly adjust computing resources in combination with user usage habits, which can ensure the business processing capabilities of the business domain and the stability of business operations.
  • FIG3 is a schematic diagram of a method for adjusting computing resources provided in an embodiment of the present application.
  • the computing resources may be artificial intelligence (AI) computing resources, central processing unit (CPU) computing resources, graphics processing unit (GPU) computing resources, and the like.
  • the computing resources include a dedicated computing units and b shared computing units running in parallel, as shown in FIG4 .
  • the computing resources are divided into a dedicated computing units and b shared computing units running in parallel.
  • a dedicated computing units are allocated to m business domains to provide computing power for m business domains, and a, b, and m are all positive integers greater than or equal to 2.
  • a dedicated computing unit refers to a computing unit dedicated to a certain business domain. After a dedicated computing units are allocated to m business domains, each of the a dedicated computing units is dedicated to the business domain to which it is allocated and is no longer used in other business domains.
  • a shared computing unit refers to a computing unit that can be shared among multiple business domains, but is not dedicated to a certain business domain. Taking shared computing unit A among b shared computing units as an example, at the first moment, shared computing unit A can be allocated to the first business domain; at the second moment, shared computing unit A can be allocated to the second business domain.
  • the a dedicated computing units can be allocated to m business domains according to a preset ratio, and the preset ratio can be determined by professional technicians based on experience.
  • the m business domains can be located in the vehicle, such as the intelligent driving domain, the vehicle control domain, and the cockpit domain.
  • the method 300 includes steps S310 to S340 , which are described in detail below.
  • first usage data of each of the m business domains may be obtained and used in the solution of the present application to implement elastic adjustment of computing resources of each of the m business domains.
  • only the first usage data of each business domain in some business domains may be obtained and used in the solution of the present application to implement elastic adjustment of computing resources of each business domain in some business domains.
  • this part of the business domain can be determined by the system.
  • the system can determine one or more business domains whose computing resources are greatly affected by user usage habits among the m business domains.
  • the computing resources corresponding to the intelligent driving domain and the cockpit domain are greatly affected by user usage habits, and the computing resources of the vehicle control domain are less affected by user usage habits. Therefore, in actual operation, the vehicle system can only obtain user usage data of the intelligent driving domain and the cockpit domain, and adjust the resources of these two business domains according to the obtained user usage data, without adjusting the computing resources of the vehicle control domain.
  • this part of the business domain can also be selected and determined by the user.
  • the user can select some business domains from the m business domains as the object of elastic adjustment based on his own use of the business domain.
  • the cockpit domain can be determined as the object of elastic adjustment.
  • this part of the business domain can be determined in advance by relevant professional and technical personnel based on experience.
  • the first usage data may include one or more of: user operation data, response time of the service operated by the user, usage rate of computing units in each service domain, and service usage score, etc.
  • the user operation data may be, for example, the number of times a service is started based on user operation; the response time of the service operated by the user may be understood as the response time of the service started based on the user operation; the usage rate of computing units in each service domain refers to the proportion of computing units used by each service domain to the computing units included therein; and the service usage score may be, for example, a score generated by a computing system based on the service operation status, or a score given by a user based on his or her own experience.
  • the number of computing units required for each of the k business domains (or the proportion, which refers to the ratio of the number of computing units required for each business domain to the total number of computing units, the total number of computing units being the sum of a dedicated computing units and b shared computing units) can be determined based on the first usage data of each of the k business domains, and then the number of computing units (or the proportion) of each business domain can be adjusted using b shared computing units based on the number of computing units (or the proportion) required for each business domain and the number of dedicated computing units already allocated to each business domain.
  • the above-mentioned number (or proportion) of computing units required can be understood as the number (or proportion) of computing units that can meet the actual business scenario.
  • the following only takes the target business domain among the k business domains as an example to exemplarily introduce the adjustment of the number of computing units in the target business domain (see steps S320 to S340).
  • the introduction of the target business domain please refer to the introduction of the target business domain.
  • S320 Determine a first number of computing units required by a target business domain among the k business domains according to first usage data of each business domain.
  • the user experience evaluation results of k business domains can be first determined based on the first usage data of each business domain; then the corresponding computing unit demand plan can be determined based on the user experience evaluation results; and then the first number of computing units required for the target business domain can be determined based on the computing unit demand plan.
  • the above user experience evaluation result is an evaluation result obtained by integrating the first usage data of each business domain in the k business domains, and the evaluation result may be, for example, an evaluation score.
  • the above demand solution determined according to the user experience evaluation result may include the number of computing units required for each business domain in the k business domains, and the number of computing units required for the target business domain in the k business domains (i.e., the first number) may be determined based on the demand solution.
  • the correspondence between different evaluation results and different demand solutions can be pre-set by means of a mapping table.
  • the present application can first determine the user experience evaluation results of k business domains according to the first usage data of each business domain, then search the mapping table to obtain the demand solution corresponding to the evaluation result, and then determine the number of computing units required for the target business domain according to the demand solution.
  • the first number of computing units required for the target business domain may also be determined according to the business state of the target business domain.
  • the business state may be, for example, a video playback state, a multi-application deployment state, an intelligent driving switch state, etc.
  • the following mainly uses user usage data as an example for introduction.
  • S340 Allocate a third number of shared computing units to the target service domain.
  • the number of shared computing units that need to be allocated to the target business domain is determined, and then the shared computing units are allocated to the target business domain based on the determined number.
  • the present application can flexibly adjust the computing resources of the target business domain by using shared computing units in combination with the user's usage habits during the process of the user using computing resources. For example, when the dedicated computing units in the target business domain cannot meet the user's needs, the shared computing units can be allocated to the target business domain according to the user's needs. Thus, on the one hand, the business processing capacity of the target business domain can be guaranteed; on the other hand, it can avoid seizing the dedicated computing units of other business domains when the computing demand of the target business domain is large, thereby ensuring the stability of the business operation of each business domain.
  • the services of the target business domain need to be redeployed to ensure the stability of the business operation and the business processing capability of the target business domain.
  • a business can also be understood as a computing task.
  • a computing task includes one or more operators (OPs).
  • An operator needs to use one or more computing units to complete the related computing task.
  • an operator can be understood as a computing function.
  • An operator can implement a step of computing in a computing task.
  • the basic unit of computing resource usage is a group. Each group can include one or more computing units, and each group is used to execute the computing task of an operator.
  • the present application first needs to group the computing units in the target business domain, and then redeploy the services in the target business domain after grouping to ensure the continuity and stability of the operation of each service involved in the target business domain.
  • the computing units in the target business domain may be grouped according to the prior information of the target business domain, wherein the prior information includes information of the services that have been deployed in the target business domain, and the information of the deployed services refers to the operators included in each service in the previously deployed services, and the number of computing units required by each operator.
  • the present application can first determine a set of grouping strategies for computing units in the target business domain based on preset conditions, then filter out a target grouping strategy from the grouping strategy set based on prior information of the target business domain, and group the computing units in the target business domain according to the target grouping strategy.
  • the target grouping strategy can be determined more quickly and effectively, thereby reducing ineffective running time.
  • the present application may first determine the grouping strategy set of computing units in the target business domain according to preset conditions, then search in the grouping strategy set to determine the target grouping strategy, and group the computing units in the target business domain according to the target grouping strategy.
  • the search may be performed in the following manner: first simulate grouping according to each grouping strategy in the grouping strategy set, then simulate the deployment and operation of the business for each simulated grouping, and then determine the target grouping strategy based on the processing capacity and business stability of the business during the simulated operation.
  • the above-mentioned preset conditions may include at least one of the following: the number of computing units included in each group is 2 n , where n is a positive integer greater than or equal to 1; the number of groups is less than or equal to the number of services to be deployed; the number of computing units in the first group is less than or equal to the number of computing units required by the first operator, where the first group is the group with the most computing units included in a service domain, and the first operator is the operator with the most computing units required in the service to be deployed; or the number of computing units in the second group is greater than or equal to the number of computing units required by the second operator, where the second group is the group with the least computing units included in a service domain, and the second operator is the operator with the least computing units required in the service to be deployed; etc. It should be understood that the preset conditions may also be determined in combination with actual conditions, and are not limited to the preset conditions listed above.
  • method 300 may further include: obtaining second usage data of each of the k business domains, wherein the second usage data is data of the user using the business domain in the second historical time period; and updating the number of computing units in the target business domain according to the second usage data.
  • the number of computing units in the target business domain can be flexibly updated according to the user's usage habits in different time periods, so that even if the user's usage habits change in different time periods, the business processing capacity of the target business domain can be guaranteed.
  • the second usage data may also include: one or more of: user operation data, response time of the service operated by the user, utilization rate of computing units in each service domain, service usage score, etc.
  • user operation data response time of the service operated by the user
  • utilization rate of computing units in each service domain service usage score, etc.
  • the number of computing units in the target business domain can be continuously updated according to the above method according to a preset frequency, and the preset frequency can be, for example, 1 hour, 12 hours, 1 day, 1 week or 1 month, etc.; it can also be updated when the system detects that the user's usage habits have changed or changed significantly; it can also be actively triggered by the user according to his own needs, and this application does not limit this.
  • the update can be stopped when the number of computing units in the target business domain tends to be stable.
  • the above historical time period may refer to a period of time before the current time, for example, within a few hours or a few days before the current time.
  • the present application scheme is exemplarily introduced by taking the method of adjusting computing resources of a vehicle as an example.
  • Fig. 5 is a schematic diagram of a method for adjusting computing resources of a vehicle provided in an embodiment of the present application. As shown in Fig. 5, the method 500 includes steps S510 to S550, which are described below.
  • the vehicle computing resources may be configured to include multiple dedicated computing units and multiple shared computing units running in parallel, and the multiple dedicated computing units may be allocated to multiple actual business domains, and the business domains shared by the shared computing units may be determined.
  • the computing resources on the vehicle are configured to include 11 dedicated computing units ⁇ 0, 1, 2, 3, 4, 5, 6, 7, 11, 12, 13 ⁇ and 3 shared computing units ⁇ 8, 9, 10 ⁇ .
  • the 11 dedicated computing units ⁇ 0, 1, 2, 3, 4, 5, 6, 7, 11, 12, 13 ⁇ are allocated to the vehicle control domain to provide computing power for the vehicle control domain; six ⁇ 2, 3, 4, 5, 6, 7 ⁇ are allocated to the intelligent driving domain to provide computing power for the intelligent driving domain; and three ⁇ 11, 12, 13 ⁇ are allocated to the cockpit domain to provide computing power for the cockpit domain.
  • the three shared computing units ⁇ 8, 9, 10 ⁇ are configured to be shared in the intelligent driving domain and the cockpit domain, that is, the shared computing units are mainly used to flexibly adjust the computing resources of the cockpit domain and the intelligent driving domain. It should be understood that the number of computing units and service domains above are only examples and do not constitute a limitation on the solution of the present application. For ease of description, steps S520 to S560 will be introduced based on this example.
  • the above initialization computing resources can be completed when the vehicle leaves the factory, or can be initialized by professionals according to user needs after the user purchases the vehicle, without limitation.
  • the user's usage data in the cockpit domain and the intelligent driving domain over a period of history can be obtained.
  • the number of times the user clicks on the cockpit application within a period of history, the response time of the application clicked by the user within a period of history, and the usage rate of the cockpit domain computing unit within a period of history can be obtained.
  • the number of times the user enabled the intelligent driving function within a period of history the number of times the user took over within a period of history, the score of the intelligent driving function during operation, and the usage rate of the intelligent driving domain computing unit within a period of history can be obtained.
  • S530 Adjust the number of computing units in the cockpit domain and the intelligent driving domain according to the user usage data.
  • the user experience evaluation score can be first determined based on the user usage data in the cockpit domain and the intelligent driving domain; then, based on a pre-set mapping table, the computing unit demand plan corresponding to the evaluation score is determined, and the demand plan includes the number of computing units required for the cockpit domain and the intelligent driving domain respectively; and then, based on the number of dedicated computing units and the number of computing units required for the cockpit domain and the intelligent driving domain respectively, the number of computing units in the cockpit domain and the intelligent driving domain is adjusted by using shared computing units.
  • the user experience evaluation score can be determined in the following manner: first, the number of times the user clicks the in-cockpit application in a unit time is obtained according to the number of times the user clicks the in-cockpit application in a historical period of time, the response time of the application clicked by the user in a historical period of time is obtained according to the response time of the application clicked by the user in a historical period of time, the average usage rate of the cockpit domain computing unit is obtained according to the usage rate of the cockpit domain computing unit in a historical period of time, the number of times the user enables the intelligent driving function in a unit time is obtained according to the number of times the user enables the intelligent driving function in a historical period of time, the number of times the user takes over in a unit time is obtained according to the number of times the user takes over in a historical period of time, the average score (or effective score) of the intelligent driving function during operation is obtained according to the score of the intelligent driving function during operation, and the average usage rate of the intelligent
  • the preset mapping table may include a correspondence between different score ranges and different demand solutions. For example, when the evaluation score is a first value, it is determined that the first value is within a first score range, and the first score range corresponds to a first demand solution; when the evaluation score is a second value, it is determined that the second value is within a second score range, and the second score range corresponds to a second demand solution.
  • S540 Regroup the computing units of the cockpit domain and the intelligent driving domain.
  • the grouping strategy sets of the computing units in the cockpit domain and the intelligent driving domain can be determined respectively according to the preset conditions; then the target grouping strategy is determined in the grouping strategy set, and the computing units in the cockpit domain and the intelligent driving domain are grouped respectively according to the target grouping strategy.
  • the preset conditions and the method of determining the target grouping strategy in the grouping strategy set can be referred to the above introduction.
  • the number of computing units in the adjusted intelligent driving domain is 6, such as computing units ⁇ 2, 3, 4, 5, 6, 7 ⁇ ; the number of computing units in the cockpit domain is also 6, such as computing units ⁇ 8, 9, 10, 11, 12, 13 ⁇ .
  • the grouping strategy set of the intelligent driving domain may include two grouping strategies: in the first grouping strategy, the 6 computing units are divided into 3 groups, each group includes 2 computing units, such as group 1 includes computing units ⁇ 2, 3 ⁇ , group 2 includes computing units ⁇ 4, 5 ⁇ , and group 3 includes computing units ⁇ 6, 7 ⁇ ; in the second grouping strategy, the 6 computing units are divided into two groups, where group 1 includes 2 computing units, such as computing units ⁇ 2, 3 ⁇ , and group 2 includes 4 computing units, such as computing units ⁇ 4, 5, 6, 7 ⁇ .
  • the grouping strategy set of the cockpit domain may also include two grouping strategies: in the first grouping strategy, the six computing units are divided into three groups, each group includes two computing units, for example, group 1 includes computing units ⁇ 8,9 ⁇ , group 2 includes computing units ⁇ 10,11 ⁇ , and group 3 includes computing units ⁇ 12,13 ⁇ ; in the second grouping strategy, the six computing units are divided into two groups, where group 1 includes two computing units, for example, computing units ⁇ 8,9 ⁇ , and group 2 includes four computing units, for example, computing units ⁇ 10,11,12,13 ⁇ .
  • the number of computing units in the adjusted intelligent driving domain is 8, such as computing units ⁇ 2, 3, 4, 5, 6, 7, 8, 9 ⁇ ;
  • the number of computing units in the cockpit domain is 4, such as computing units ⁇ 10, 11, 12, 13 ⁇ .
  • the grouping strategy set of the intelligent driving domain may include four grouping strategies: in the first grouping strategy, the 8 computing units are divided into 4 groups, each group includes 2 computing units, such as group 1 includes computing units ⁇ 2, 3 ⁇ , group 2 includes computing units ⁇ 4, 5 ⁇ , group 3 includes computing units ⁇ 6, 7 ⁇ , and group 4 includes computing units ⁇ 8, 9 ⁇ ; in the second grouping strategy, the 8 computing units are divided into two groups, where group 1 includes 4 computing units, such as computing units ⁇ 2, 3, 4, 5 ⁇ , and group 2 includes 4 computing units.
  • computing units such as computing units ⁇ 6,7,8,9 ⁇
  • 8 computing units are divided into three groups, where group 1 includes 2 computing units, such as computing units ⁇ 2,3 ⁇ , group 2 includes 4 computing units, such as computing units ⁇ 4,5,6,7 ⁇ ; group 3 includes 2 computing units, such as computing units ⁇ 8,9 ⁇ ; in the fourth grouping strategy, 8 computing units are divided into 1 group, which includes 8 computing units, such as computing units ⁇ 2,3,4,5,6,7,8,9 ⁇ .
  • the cockpit domain grouping strategy set may include two grouping strategies: in the first grouping strategy, 4 computing units are divided into two groups, each group includes 2 computing units, such as group 1 includes computing units ⁇ 10,11 ⁇ , and group 2 includes computing units ⁇ 12,13 ⁇ ; in the second grouping strategy, 4 computing units are divided into 1 group, which includes 4 computing units, such as computing units ⁇ 10,11,12,13 ⁇ .
  • S550 service deployment. That is, after grouping, the services are redeployed in the cockpit domain and the intelligent driving domain to ensure the stability of the service operation and the service processing capability in the cockpit domain and the intelligent driving domain.
  • S560 Update the number of computing units in the cockpit domain and the intelligent driving domain.
  • the user's usage data in the cockpit domain and the intelligent driving domain can be continuously collected; and based on the collected usage data, the number of computing units in the cockpit domain and the intelligent driving domain can be updated respectively; after the update, the computing units in the cockpit domain and the intelligent driving domain can be grouped and service deployed respectively.
  • FIG8 is a schematic diagram of the structure of a device for adjusting computing resources provided in an embodiment of the present application.
  • the computing resources include a dedicated computing units and b shared computing units running in parallel, and the a dedicated computing units are allocated to m business domains.
  • the device 800 includes an acquisition module 810 and a processing module 820.
  • the device also includes the a dedicated computing units and b shared computing units mentioned above.
  • the acquisition module 810 is used to acquire first usage data of each of the k business domains, wherein the first usage data is data of user usage of the business domain in a first historical time period, and the k business domains are one or more of the m business domains.
  • the processing module 820 is used to determine a first number of computing units required for a target business domain among k business domains based on first usage data of each business domain; determine a third number of shared computing units that need to be allocated to the target business domain among b shared computing units based on the first number and a second number of dedicated computing units that have been allocated to the target business domain among a dedicated computing units; and allocate the third number of shared computing units to the target business domain.
  • the processing module 820 may also be used to group computing units in the target business domain according to prior information of the target business domain, the prior information including information of services already deployed in the target business domain; and redeploy the services in the grouped target business domain.
  • the processing module 820 can also be used to determine a set of grouping strategies for computing units in the target business domain based on preset conditions; determine a target grouping strategy based on prior information of the target business domain, the target grouping strategy being one of the grouping strategy set; and group the computing units in the target business domain according to the target grouping strategy.
  • the preset conditions may include at least one of the following: the number of computing units included in each group is 2n ; the number of groups is less than or equal to the number of services that need to be deployed; the number of computing units in the first group is less than or equal to the number of computing units required by the first operator, wherein the first group is the group with the most computing units included in a service domain, and the first operator is the operator with the most computing units required in the service that needs to be deployed; or, the number of computing units in the second group is greater than or equal to the number of computing units required by the second operator, wherein the second group is the group with the least computing units included in a service domain, and the second operator is the operator with the least computing units required in the service that needs to be deployed.
  • the processing module 820 can be used to determine the user experience evaluation results of k business domains based on the first usage data of each business domain; determine the corresponding computing unit requirement plan based on the user experience evaluation results; and determine the first number of computing units required for the target business domain based on the computing unit requirement plan.
  • the processing module 820 may also be configured to obtain second usage data of each of the k business domains, wherein the second usage data is data of user usage of the business domain in a second historical time period; and update the number of computing units in the target business domain according to the second usage data.
  • the first usage data and/or the second usage data may include: one or more of: user operation data, response time of a service operated by the user, usage rate of a computing unit in each service domain, and a service usage score.
  • the m service domains may be located in a vehicle.
  • the device is a vehicle-mounted computing platform.
  • the device 900 may be a computer device.
  • the device 900 includes a memory 910, a processor 920, and a communication interface 930.
  • the memory 910, the processor 920, and the communication interface 930 may be connected to each other through a bus.
  • the memory 910 may be a read-only memory (ROM), a static storage device, a dynamic storage device or a random access memory (RAM).
  • the memory 910 may store a program. When the program stored in the memory 910 is executed by the processor 920, the processor 920 is used to execute the various steps of the method 300 or 500 for adjusting computing resources in the embodiment of the present application.
  • Processor 920 can be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), a graphics processing unit (GPU) or one or more integrated circuits to execute relevant programs to implement method 300 or 500 for adjusting computing resources in the method embodiment of the present application.
  • CPU central processing unit
  • ASIC application-specific integrated circuit
  • GPU graphics processing unit
  • the processor 920 may also be an integrated circuit chip with signal processing capability.
  • the method 300 or 500 of adjusting computing resources of the present application may be implemented by hardware integrated logic circuits in the processor 920 or software instructions.
  • the communication interface 930 uses a transceiver device such as, but not limited to, a transceiver to implement communication between the apparatus 900 and other devices or a communication network.
  • a transceiver device such as, but not limited to, a transceiver to implement communication between the apparatus 900 and other devices or a communication network.
  • the embodiment of the present application further provides a computer-readable storage medium, comprising instructions, which, when executed on a computer, enable the computer to execute the method 300 or 500 for adjusting computing resources.
  • the embodiment of the present application further provides a computer program product, comprising instructions.
  • the instructions When the instructions are executed on a computer, the above method 300 or 500 for adjusting computing resources is executed.
  • An embodiment of the present application also provides a computing device, including: at least one processor and a memory, wherein the at least one processor is coupled to the memory and is used to read and execute instructions in the memory to perform the above-mentioned method 300 or 500 for adjusting computing resources.
  • An embodiment of the present application also provides a chip, which includes a processor and a data interface.
  • the processor reads instructions stored in a memory through the data interface to execute the above-mentioned method 300 or 500 for adjusting computing resources, or the chip executes the above-mentioned method 300 or 500 for adjusting computing resources through a hardware circuit.
  • An embodiment of the present application also provides an intelligent driving device, including the above-mentioned device 800 and/or device 900 for adjusting computing resources.
  • the disclosed systems, devices and methods can be implemented in other ways.
  • the device embodiments described above are only schematic.
  • the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed.
  • Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种调整计算资源的方法、装置及智能驾驶设备。其中,该计算资源包括并行运行的a个专用计算单元和b个共享计算单元,a个专用计算单元被分配至m个业务域,该方法包括:获取K个业务域中每个业务域的第一使用数据(S310);根据k个业务域中每个业务域的第一使用数据确定k个业务域中的目标业务域所需计算单元的第一数目(S320),k个业务域为m个业务域中的一个或多个;根据第一数目以及a个专用计算单元中已经被分配至目标业务域的专用计算单元的第二数目,在b个共享计算单元中确定需要分配至目标业务域的共享计算单元的第三数目(S330);将第三数目的共享计算单元分配给目标业务域(S340)。该方法可以结合用户使用习惯对目标业务域的计算资源进行调整,从而能够保证目标业务域的业务处理能力。

Description

调整计算资源的方法、装置及智能驾驶设备 技术领域
本申请涉及智能驾驶技术领域,并且更具体地,涉及一种调整计算资源的方法、装置及智能驾驶设备。
背景技术
相较于传统的多业务域独立运作模式,中央计算平台可以集不同业务域的计算资源为一体,大大节约资源和成本。例如,在车辆领域,智能驾驶域、车控域、座舱域等业务域的计算资源都部署在中央计算平台上,并由中央计算平台按业务域划分计算资源,集中进行中央计算。
目前主流的计算资源分配方案是在出厂前,对中央计算平台的计算资源进行虚拟化,然后针对不同的业务域,划分不同的计算资源。然而,基于预先划分的计算资源,用户在使用车辆的过程中某些业务域可能会出现计算资源不足的情况,造成业务处理能力降低。
因此,如何保证中央计算平台的业务处理能力是亟需解决的问题。
发明内容
本申请提供一种调整计算资源的方法、装置及智能驾驶设备,能够保证中央计算平台的业务处理能力。
第一方面,提供了一种调整计算资源的方法,该计算资源包括并行运行的a个专用计算单元和b个共享计算单元,该a个专用计算单元被分配至m个业务域,其中,a、b和m均为大于或等于2的正整数,该方法包括:获取k个业务域中每个业务域的第一使用数据,其中,该第一使用数据为第一历史时间段内用户使用该业务域的数据,该k个业务域为该m个业务域中的一个或多个;根据该每个业务域的第一使用数据确定该k个业务域中的目标业务域所需计算单元的第一数目;根据该第一数目以及该a个专用计算单元中已经被分配至该目标业务域的专用计算单元的第二数目,在该b个共享计算单元中确定需要分配至该目标业务域的共享计算单元的第三数目;将该第三数目的共享计算单元分配给该目标业务域。
其中,专用计算单元是指专用于某个业务域的计算单元。在a个专用计算单元被分配至m个业务域后,a个专用计算单元中的每个专用计算单元专用于其所分配至的业务域,不再用于其他业务域。
共享计算单元是指可以共享于多个业务域的计算单元,而不专用于某个业务域。以b个共享计算单元中的共享计算单元A为例,在第一时刻,共享计算A可以被分配给第一业务域;在第二时刻,共享计算单元A可以被分配给第二业务域。
上述a个专用计算单元可以根据预设比例被分配至m个业务域,该预设比例可以由专业技术人员根据经验确定。
本申请通过引入共享计算单元,可以在用户使用计算资源的过程中,结合用户使用习惯利用共享计算单元对目标业务域的计算资源进行弹性调整,例如,可以在目标业务域中的专用计算单元不能满足用户的需求时,根据用户的需求将一个或多个共享计算单元分配给目标业务域。从而在一方面,能够保证目标业务域的业务处理能力;在另一方面,能够避免在目标业务域计算需求较大时,抢占其他业务域的专用计算单元,从而能够保证各个业务域业务运行的稳定性。
结合第一方面,在第一方面的某些实现方式中,在该将该第三数目的共享计算单元分配给该目标业务域之后,该方法还包括:根据该目标业务域的先验信息对该目标业务域中的计算单元进行分组,该先验信息包括该目标业务域已经部署的业务的信息;将该业务重新部署在分组后的该目标业务域。
已经部署的业务的信息是指已经部署的业务中每个业务所涉及到的算子,以及每个算子需求的计算单元数目。
在本申请中,在将第三数目的共享计算单元分配给目标业务域之后,可以根据目标业务域已经部署的业务的信息对目标业务域中的计算单元进行分组,并将业务重新部署在分组后的目标业务域,以保证目标业务域所涉及各个业务运行的连续性与稳定性。
结合第一方面,在第一方面的某些实现方式中,该根据该目标业务域的先验信息对该目标业务域中的计算单元进行分组包括:根据预设条件确定该目标业务域中计算单元的分组策略集合;根据该目标业务域的先验信息确定目标分组策略,该目标分组策略为该分组策略集合中的一种;根据该目标分组策略对该目标业务域中的计算单元进行分组。
本申请可以先根据预设条件确定目标业务域中计算单元的分组策略集合,再根据目标业务域的先验信息在分组策略集合中筛选出目标分组策略,并根据目标分组策略对目标业务域中的计算单元进行分组,从而能够更快速更有效地确定出目标分组策略,降低无效的运行时间。
结合第一方面,在第一方面的某些实现方式中,该预设条件包括如下至少一项:每组所包括计算单元的数目为2 n,其中,n为大于或等于1的正整数;分组数小于或等于需要部署的业务数;第一分组的计算单元数目小于或等于第一算子需求的计算单元数目,其中,该第一分组为一个业务域内包括的计算单元最多的组,该第一算子为需要部署的业务中需求计算单元最多的算子;或,第二分组的计算单元数目大于或等于第二算子需求的计算单元数目,其中,该第二分组为一个业务域内包括的计算单元最少的组,该第二算子为需要部署的业务中需求计算单元最少的算子。
结合第一方面,在第一方面的某些实现方式中,该根据该每个业务域的第一使用数据确定该k个业务域中的目标业务域所需计算单元的第一数目包括:根据该每个业务域的第一使用数据确定该k个业务域的用户体验评估结果;根据该用户体验评估结果确定对应的计算单元需求方案;根据该计算单元需求方案确定该目标业务域所需计算单元的第一数目。
实际操作中,可以通过映射表的方式,预先设置不同的评估结果与不同的需求方案的对应关系。基于此,本申请可以先根据每个业务域的第一使用数据确定k个业务域的用户体验评估结果,然后在映射表中搜索得到该评估结果对应的需求方案,再根据该需求方案确定目标业务域所需计算单元的数目。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:获取该k个业务域中每个业务域的第二使用数据,其中,该第二使用数据为第二历史时间段内该用户使用该业务域的数据;根据该第二使用数据,更新该目标业务域中计算单元的数目。
本申请可以根据用户在不同时间段内的使用习惯灵活地对目标业务域中计算单元的数目进行更新,以使得在不同时间段内,即使用户使用习惯发生变化,也能够保证目标业务域的业务处理能力。
结合第一方面,在第一方面的某些实现方式中,该第一使用数据和/或该第二使用数据包括:该用户的操作数据、该用户操作的业务的响应时长、每个业务域中计算单元的使用率、业务的使用评分中的一项或多项。
业务的使用评分可以是计算系统根据业务运行情况生成的评分,也可以是用户根据自身的体验感给出的评分。
结合第一方面,在第一方面的某些实现方式中,该m个业务域位于车辆内。
第二方面,提供了一种调整计算资源的装置,该计算资源包括并行运行的a个专用计算单元和b个共享计算单元,该a个专用计算单元被分配至m个业务域,其中,a、b和m均为大于或等于2的正整数,该装置包括获取模块和处理模块,其中,该获取模块用于获取k个业务域中每个业务域的第一使用数据,其中,该第一使用数据为第一历史时间段内用户使用该业务域的数据,该k个业务域为该m个业务域中的一个或多个。该处理模块用于:根据该每个业务域的第一使用数据确定该k个业务域中的目标业务域所需计算单元的第一数目;根据该第一数目以及该a个专用计算单元中已经被分配至该目标业务域的专用计算单元的第二数目,在该b个共享计算单元中确定需要分配至该目标业务域的共享计算单元的第三数目;以及,将该第三数目的共享计算单元分配给该目标业务域。
结合第二方面,在第二方面的某些实现方式中,该处理模块还用于:根据该目标业务域的先验信息对该目标业务域中的计算单元进行分组,该先验信息包括该目标业务域已经部署的业务的信息;将该业务重新部署在分组后的该目标业务域。
结合第二方面,在第二方面的某些实现方式中,该处理模块还用于:根据预设条件确定该目标业务域中计算单元的分组策略集合;根据该目标业务域的先验信息确定目标分组策略,该目标分组策略为该分组策略集合中的一种;根据该目标分组策略对该目标业务域中的计算单元进行分组。
结合第二方面,在第二方面的某些实现方式中,该预设条件包括如下至少一项:每组所包括计算单元的数目为2 n,其中,n为大于或等于1的正整数;分组数小于或等于需要部署的业务数;第一分组的计算单元数目小于或等于第一算子需求的计算单元数目,其中,该第一分组为一个业务域内包括的计算单元最多的组,该第一算子为需要部署的业务中需求计算单元最多的算子;或,第二分组的计算单元数目大于或等于第二算子需求的计算单元数目,其中,该第二分组为一个业务域内包括的计算单元最少的组,该第二算子为需要部署的业务中需求计算单元最少的算子。
结合第二方面,在第二方面的某些实现方式中,该处理模块用于:根据该每个业务域的第一使用数据确定该k个业务域的用户体验评估结果;根据该用户体验评估结果确定对应的计算单元需求方案;根据该计算单元需求方案确定该目标业务域所需计算单元的第一数目。
结合第二方面,在第二方面的某些实现方式中,该处理模块还用于:获取该k个业务域中每个业务域的第二使用数据,其中,该第二使用数据为第二历史时间段内该用户使用该业务域的数据;根据该第二使用数据,更新该目标业务域中计算单元的数目。
结合第二方面,在第二方面的某些实现方式中,该第一使用数据和/或该第二使用数据包括:该用户的操作数据、该用户操作的业务的响应时长、每个业务域中计算单元的使用率、业务的使用评分中的一项或多项。
结合第二方面,在第二方面的某些实现方式中,该m个业务域位于车辆内。
结合第二方面,在第二方面的某些实现方式中,该装置还包括上述a个专用计算单元和b个共享计算单元。
第三方面,提供了一种调整计算资源的装置,包括输入输出接口、处理器和存储器,该处理器用于控制输入输出接口收发信号或信息,该存储器用于存储计算机程序,该处理器用于从该存储器中调用并运行该计算机程序,使得该调整计算资源的装置执行如第一方面或第一方面中任一可能实现方式中的调整计算资源的方法。
第四方面,提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当该程序代码在计算机上运行时,使得计算机执行如第一方面或第一方面中任一可能实现方式中的调整计算资源的方法。
第五方面,提供一种计算机程序产品,包含指令,当该指令在计算机上运行时,如第一方面或第一方面中任一可能实现方式中调整计算资源的方法被执行。
第六方面,提供了一种计算设备,包括:至少一个处理器和存储器,该至少一个处理器与该存储器耦合,用于读取并执行该存储器中的指令,以执行如第一方面或者第一方面的任一可能的实现方式中的调整计算资源的方法。
第七方面,提供一种芯片,该芯片包括用于执行如第一方面或者第一方面的任一可能的实现方式中的调整计算资源的方法的电路。
第八方面,提供了一种智能驾驶设备,包括如第二方面或第二方面中任一可能实现方式中的调整计算资源的装置,或包括如第三方面中的调整计算资源的装置。
附图说明
图1是本申请实施例提供的车辆100的一个功能性示意图。
图2是一种车辆计算资源的划分示意图。
图3是本申请实施例提供的调整计算资源的方法的示意图。
图4是本申请实施例提供的计算资源的划分示意图。
图5是本申请实施例提供的车辆调整计算资源的方法的示意图。
图6是本申请实施例提供的初始化车辆计算资源的示意图。
图7是本申请实施例提供的调整后的计算资源的示意图。
图8是本申请实施例提供的调整计算资源的装置的结构示意图。
图9是本申请实施例提供的调整计算资源的装置的硬件结构示意性框图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
本申请方案可以应用于智能驾驶设备中。其中,智能驾驶设备可以包括路上交通工具、水上交通工具、空中交通工具、工业设备、农业设备、或娱乐设备等。例如智能驾驶设备可以为车辆,该车辆为广义概念上的车辆,可以是交通工具(如商用车、乘用车、摩托车、飞行车、火车等),工业车辆(如:叉车、挂车、牵引车等),工程车辆(如挖掘机、推土车、吊车等),农用设备(如割草机、收割机等),游乐设备,玩具车辆等,本申请对车辆的类型不作具体限定。再如,智能驾驶设备可以为飞机、或轮船等交通工具。
本申请方案还可以应用于服务器、智能终端、智能家居、车载嵌入式设备等设备中。例如,可以应用于智能手机、台式电脑、笔记本电脑、平板电脑、可穿戴设备、机器人、微控制单元(microcontroller unit,MCU)、电子控制单元(electronic control unit,ECU)等中。
下面结合图1,以车辆为例,对本申请的应用场景进行示例性介绍。
图1是本申请实施例提供的车辆100的一个功能性示意图。应理解,图1及相关描述仅为一种示例,实际车辆可以不限于此。如图1所示,车辆100可以包括感知系统120和中央计算平台150。
其中,感知系统120可以包括感测关于车辆100周边的环境的信息的一种或多种传感器。例如,感知系统120可以包括定位系统,定位系统可以是全球定位系统(global positioning system,GPS),也可以是北斗系统或者其他定位系统、惯性测量单元(inertial measurement unit,IMU)。又例如,感知系统120还可以包括激光雷达、毫米波雷达、超声雷达以及摄像装置中的一种或者多种。
中央计算平台150用于对感知系统120感测的数据进行分析及处理,并实现对车辆100的部分或所有功能的控制。中央计算平台150包括计算资源,该计算资源可以包括多个并行运行的计算单元。为了更好的应对车辆100中多个业务域之间的资源协同,当前主流技术方案以资源虚拟化为主,通过虚拟化的方式将中央计算平台150的计算资源划分给不同的业务域使用。以车辆100的业务域包括智能驾驶域、车控域、座舱域为例,中央计算平台150的计算资源在虚拟化后可以被划分给这些业务域使用,如图2所示。本申请对业务域的划分不做限定,车辆100也可以按照动力域、车身域、底盘域及娱乐信息域等进行业务域的划分。为便于描述,本申请中主要以智能驾驶域、车控域、座舱域为例进行介绍。
在传统方案中,基于上述方法为各个业务域划分好的计算资源在车辆100运行中专用于各个业务域。然而,不同用户或相同用户在不同时段对各个业务域的计算资源的需求和使用方式不同,若基于预先划分的计算资源,用户在使用车辆的过程中某些业务域可能会出现计算资源不足的情况,造成业务处理能力降低。而且,由于自动驾驶方案对于确定性的追求,导致某些业务域在计算资源不足时,可能会抢占其他业务域的计算资源,从而导致多个业务域之间的计算资源来回抢占。例如,座舱域在运行大算力任务时,可能会抢占智能驾驶域的计算资源,这会使得智能驾驶域算力紧张,直接影响已开启的自动驾驶功能,导致需要驾驶员接管的情况出现。
另外对于车辆100而言,自动驾驶的智能驾驶域和座舱域要保证能够稳定运行,若车辆100运行时直接在整体上动态调整多个业务域的计算资源(即,车辆100运行时直接将所有的计算单元按照各个业务域的需求重新分配),这会导致整体系统的不确定性,影响 整车的稳定性和安全性。
基于此,本申请引入共享计算单元,结合用户使用习惯利用共享计算单元对计算资源进行弹性调整,能够保证业务域的业务处理能力以及业务运行的稳定性。
图3是本申请实施例提供的调整计算资源的方法的示意图。该计算资源可以是人工智能(artificial intelligence,AI)计算资源、中央处理器(central processing unit,CPU)计算资源、图形处理器(graphics processing unit,GPU)计算资源等等。该计算资源包括并行运行的a个专用计算单元和b个共享计算单元,如图4所示。或者说,该计算资源被划分为并行运行的a个专用计算单元和b个共享计算单元。其中,a个专用计算单元被分配至m个业务域,为m个业务域提供计算能力,a、b和m均为大于或等于2的正整数。
其中,专用计算单元是指专用于某个业务域的计算单元。在a个专用计算单元被分配至m个业务域后,a个专用计算单元中的每个专用计算单元专用于其所分配至的业务域,不再用于其他业务域。共享计算单元是指可以共享于多个业务域的计算单元,而不专用于某个业务域。以b个共享计算单元中的共享计算单元A为例,在第一时刻,共享计算单元A可以被分配给第一业务域;在第二时刻,共享计算单元A可以被分配给第二业务域。
上述a个专用计算单元可以根据预设比例被分配至m个业务域,该预设比例可以由专业技术人员根据经验确定。以应用于车辆领域为例,上述m个业务域可以位于车辆内,例如可以是智能驾驶域、车控域以及座舱域等。
如图3所示,方法300包括步骤S310至S340,下面对这些步骤进行详细介绍。
S310,获取k个业务域中每个业务域的第一使用数据。其中,k个业务域为m个业务域中的一个或多个,第一使用数据为第一历史时间段内用户使用业务域的数据。
在一种实现方式中,可以获取m个业务域中每个业务域的第一使用数据,并用于本申请方案实现m个业务域中每个业务域的计算资源的弹性调整。
在另一种实现方式中,可以仅获取部分业务域中每个业务域的第一使用数据,并用于本申请方案实现部分业务域中每个业务域的计算资源的弹性调整。
其中,该部分业务域可以由系统确定,具体地,系统可以在m个业务域中确定出计算资源受用户使用习惯影响较大的一个或多个业务域。以车辆为例,智能驾驶域和座舱域所对应的计算资源受用户使用习惯的影响较大,车控域的计算资源受用户使用习惯的影响较小,因此在实际操作中,车辆系统可以仅获取智能驾驶域和座舱域的用户使用数据,并根据所获取的用户使用数据对这两个业务域的资源进行调整,而无需对车控域的计算资源进行调整。或者,该部分业务域也可以由用户选择确定。具体地,用户可以结合自身对业务域的使用情况在m个业务域中选择出部分业务域作为弹性调整的对象。以车辆为例,用户在自身对座舱域的使用较为频繁或对座舱域的业务处理要求较高时,可以将座舱域确定为弹性调整的对象。又或者,该部分业务域可以预先由相关专业技术人员根据经验确定。
第一使用数据可以包括:用户的操作数据、用户操作的业务的响应时长、每个业务域中计算单元的使用率、业务的使用评分等中的一项或多项。其中,用户的操作数据例如可以是基于用户操作,业务的启动次数;用户操作的业务的响应时长可以理解为基于用户操作所启动的业务的响应时长;每个业务域中计算单元的使用率是指每个业务域所使用的计算单元占其所包括计算单元的比例;业务的使用评分例如可以是计算系统根据业务运行情况生成的评分,也可以是用户根据自身的体验感给出的评分。
基于步骤S310,可以根据k个业务域中每个业务域的第一使用数据确定出k个业务域中每个业务域所需计算单元的数目(或占比,该占比指的是每个业务域所需计算单元的数目占总计算单元的数目的比例,该总计算单元的数目为a个专用计算单元和b个共享计算单元之和),再根据每个业务域所需计算单元的数目(或占比)以及已经给每个业务域分配的专用计算单元的数目,利用b个共享计算单元对每个业务域的计算单元的数目(或占比)进行调整。上述所需计算单元的数目(或占比)可以理解为能够满足实际业务场景的计算单元的数目(或占比)。
为便于描述,下文仅以k个业务域中的目标业务域为例对目标业务域中计算单元数目的调整进行示例性介绍(参见步骤S320至S340),其他业务域可参见对目标业务域的介绍。
S320,根据每个业务域的第一使用数据确定k个业务域中的目标业务域所需计算单元的第一数目。
具体地,可以先根据每个业务域的第一使用数据确定k个业务域的用户体验评估结果;然后根据用户体验评估结果确定对应的计算单元需求方案;再根据计算单元需求方案确定目标业务域所需计算单元的第一数目。
应理解,上述用户体验评估结果为综合k个业务域中每个业务域的第一使用数据所得到的评估结果,该评估结果例如可以是评估分数。上述根据用户体验评估结果所确定的需求方案可以包括k个业务域中每个业务域所需计算单元的数目,基于该需求方案可以确定k个业务域中的目标业务域所需计算单元的数目(即第一数目)。
实际操作中,可以通过映射表的方式,预先设置不同的评估结果与不同的需求方案的对应关系。基于此,本申请可以先根据每个业务域的第一使用数据确定k个业务域的用户体验评估结果,然后在映射表中搜索得到该评估结果对应的需求方案,再根据该需求方案确定目标业务域所需计算单元的数目。
可选地,除了根据用户的使用数据确定目标业务域所需计算单元的第一数目外,也可以根据目标业务域的业务状态来确定目标业务域所需计算单元的第一数目。该业务状态例如可以是视频播放状态、多应用展开状态、智能驾驶开关状态等等。为便于描述,下文主要以用户使用数据为例进行介绍。
S330,根据第一数目以及a个专用计算单元中已经被分配至目标业务域的专用计算单元的第二数目,在b个共享计算单元中确定需要分配至目标业务域的共享计算单元的第三数目。
S340,将第三数目的共享计算单元分配给目标业务域。
即就是说,根据目标业务域所需计算单元的数目与已经分配给目标业务域的专用计算单元的数目之差,确定需要分配至目标业务域的共享计算单元的数目,再基于所确定的数目将共享计算单元分配给目标业务域。
本申请通过引入共享计算单元,可以在用户使用计算资源的过程中,结合用户使用习惯利用共享计算单元对目标业务域的计算资源进行弹性调整,例如,可以在目标业务域中的专用计算单元不能满足用户的需求时,根据用户的需求将共享计算单元分配给目标业务域。从而在一方面,能够保证目标业务域的业务处理能力;在另一方面,能够避免在目标业务域计算需求较大时,抢占其他业务域的专用计算单元,从而能够保证各个业务域业务 运行的稳定性。
在调整目标业务域中计算单元的数目之后,还需要重新对目标业务域的业务进行部署,才能够保证目标业务域业务运行的稳定性以及业务处理能力。
需要说明的是,业务也可以理解为计算任务,一个计算任务包括一个或多个算子(operator,OP),一个算子需要利用一个或多个计算单元才能完成相关的计算任务。其中,算子可以理解为一个计算函数,一个算子可以实现计算任务的一步计算。对应地,计算资源使用的基本单位为组,每组可以包括一个或多个计算单元,每组用来执行一个算子的计算任务。
基于此,本申请在调整目标业务域中计算单元的数目之后首先需要对目标业务域的计算单元进行分组,在分组后再将业务重新部署在目标业务域,以保证目标业务域所涉及的各个业务运行的连续性与稳定性。
在一种实现方式中,可以根据目标业务域的先验信息对目标业务域中的计算单元进行分组。其中,先验信息包括目标业务域已经部署的业务的信息,已经部署的业务的信息是指之前已经部署的业务中每个业务所包括的算子,以及每个算子需求计算单元的数目。
可选地,本申请可以先根据预设条件确定目标业务域中计算单元的分组策略集合,再根据目标业务域的先验信息在分组策略集合中筛选出目标分组策略,并根据目标分组策略对目标业务域中的计算单元进行分组,相较于直接根据先验信息进行分组而言,能够更快速更有效地确定出目标分组策略,降低无效的运行时间。
可选地,本申请也可以先根据预设条件确定目标业务域中计算单元的分组策略集合,然后在分组策略集合中进行搜索确定出目标分组策略,并根据目标分组策略对目标业务域中的计算单元进行分组。可选地,可以按照如下方式进行搜索:先按照分组策略集合中的每一种分组策略进行模拟分组,然后针对每一种模拟的分组进行业务的模拟部署以及模拟运行,再基于模拟运行中业务的处理能力以及业务稳定性确定出目标分组策略。
上述预设条件可以包括如下至少一项:每组所包括计算单元的数目为2 n,其中,n为大于或等于1的正整数;分组数小于或等于需要部署的业务数;第一分组的计算单元数目小于或等于第一算子需求的计算单元数目,其中,该第一分组为一个业务域内包括的计算单元最多的组,该第一算子为需要部署的业务中需求计算单元最多的算子;或,第二分组的计算单元数目大于或等于第二算子需求的计算单元数目,其中,该第二分组为一个业务域内包括的计算单元最少的组,该第二算子为需要部署的业务中需求计算单元最少的算子;等等。应理解,预设条件也可以结合实际情况确定,不限于上述所列举的预设条件。
由于相同用户在不同时间段内的使用习惯可能不同,因此,方法300还可以包括:获取k个业务域中每个业务域的第二使用数据,其中,第二使用数据为第二历史时间段内用户使用该业务域的数据;根据第二使用数据,更新目标业务域中计算单元的数目。以根据用户在不同时间段内的使用习惯灵活地对目标业务域中计算单元的数目进行更新,以使得在不同时间段内,即使用户使用习惯发生变化,也能够保证目标业务域的业务处理能力。
其中,第二使用数据同样可以包括:用户的操作数据、用户操作的业务的响应时长、每个业务域中计算单元的使用率、业务的使用评分等中的一项或多项,具体可参见上文对第一使用数据的介绍。
实际中可以根据预设频率按照上述方法持续更新目标业务域中计算单元的数目,预设 频率例如可以是1小时、12小时、1天、1周或1月等等;也可以在系统监测到用户使用习惯发生变化或明显变化时进行更新;还可以由用户结合自身需求主动触发更新,本申请对此不做限定。实际中在根据预设频率持续更新目标业务域中计算单元的数目时,可以在目标业务域中计算单元的数目趋于稳定时停止更新。
上述历史时间段可以是指当前时刻之前的某一段时间,例如,当前时刻前几个小时之内或前几天之内等等。
下面结合图5至7,以车辆调整计算资源的方法为例对本申请方案进行示例性介绍。
图5是本申请实施例提供的车辆调整计算资源的方法的示意图。如图5所示,该方法500包括步骤S510至S550,下面对这些步骤进行介绍。
S510,初始化车辆计算资源。
在初始状态下,可以将车辆计算资源配置为包括并行运行的多个专用计算单元和多个共享计算单元,并将多个专用计算单元分配至实际的多个业务域中,以及确定共享计算单元所共享的业务域。
示例性地,如图6所示,在初始状态下,车辆上的计算资源被配置为包括11个专用计算单元{0,1,2,3,4,5,6,7,11,12,13}和3个共享计算单元{8,9,10}。其中,11个专用的计算单元{0,1,2,3,4,5,6,7,11,12,13}中的两个{0,1}被分配至车控域,为车控域提供计算能力;6个{2,3,4,5,6,7}被分配至智能驾驶域,为智能驾驶域提供计算能力;3个{11,12,13}被分配至座舱域,为座舱域提供计算能力。以及,3个共享计算单元{8,9,10}被配置为共享于智能驾驶域和座舱域,即共享计算单元主要用来弹性调整座舱域和智能驾驶域的计算资源。应理解,以上计算单元的数目以及业务域仅作为示例,不构成对本申请方案的限定。为便于描述,步骤S520至S560将基于该示例进行介绍。
可选地,以上初始化计算资源可以在车辆出厂时完成,也可以在用户购买车辆后由专业人员根据用户需求进行初始化操作,不做限定。
S520,获取用户在座舱域和智能驾驶域的使用数据。
可以在车辆运行过程中,获取历史一段时间内用户在座舱域和智能驾驶域的使用数据。
示例性地,对于座舱域而言,可以获取用户在历史一段时间内点击座舱内应用的次数、用户在历史一段时间内所点击应用的响应时长、以及在历史一段时间内座舱域计算单元的使用率。
示例性地,对于智能驾驶域而言,可以获取用户在历史一段时间内启用智能驾驶功能的次数、用户在历史一段时间内的接管次数、智能驾驶功能在运行期间的评分以及在历史一段时间内智能驾驶域计算单元的使用率。
S530,根据用户使用数据,对座舱域和智能驾驶域中计算单元的数目进行调整。
可以先根据用户在座舱域和智能驾驶域的使用数据确定用户体验评估分数;然后基于预先设置的映射表,确定该评估分数对应的计算单元需求方案,该需求方案包括座舱域和智能驾驶域各自所需计算单元的数目;再基于座舱域和智能驾驶域各自已有专用计算单元的数目和所需计算单元的数目,利用共享计算单元对座舱域和智能驾驶域中计算单元的数目进行调整。
以步骤S520中所列举的使用数据为例,可以通过如下方式确定用户体验评估分数: 先根据用户在历史一段时间内点击座舱内应用的次数得到用户在单位时间内点击座舱内应用的次数、根据用户在历史一段时间内所点击应用的响应时长得到单位时间内应用的响应时长、根据历史一段时间内座舱域计算单元的使用率得到座舱域计算单元的平均使用率、根据用户在历史一段时间内启用智能驾驶功能的次数得到用户在单位时间内启用智能驾驶功能的次数、根据用户在历史一段时间内的接管次数得到用户在单位时间内的接管次数、根据智能驾驶功能在运行期间的评分得到智能驾驶功能在运行期间的平均评分(或有效评分)、以及根据在历史一段时间内智能驾驶域计算单元的使用率得到智能驾驶域计算单元的平均使用率;然后对上述得到的数据分别进行标准化或归一化处理;再对标准化或归一化处理后的各个数据进行加权求和得到评估分数。上述单位时间可以为1小时、1天、1周或1月等。
在一种实现方式中,预先设置的映射表可以包括不同分数范围与不同需求方案的对应关系。例如,在评估分数为第一数值时,确定该第一数值处于第一分数范围,该第一分数范围对应第一需求方案;在评估分数为第二数值时,确定该第二数值处于第二分数范围,该第二分数范围对应第二需求方案。
S540,重新对座舱域和智能驾驶域的计算单元进行分组。
具体地,在对座舱域和智能驾驶域中计算单元的数目进行调整之后,可以先根据预设条件分别确定座舱域和智能驾驶域中计算单元的分组策略集合;然后在分组策略集合中确定出目标分组策略,并根据目标分组策略分别对座舱域和智能驾驶域中的计算单元进行分组。其中,预设条件,以及在分组策略集合中确定出目标分组策略的方式可参见上文介绍。
作为一个示例,如图7中的(a)所示,假设调整后的智能驾驶域中计算单元的数目为6个,例如计算单元{2,3,4,5,6,7};座舱域中计算单元的数目也为6个,例如计算单元{8,9,10,11,12,13}。在要求每组计算单元的数目为2 n时,智能驾驶域的分组策略集合中可以包括两种分组策略:在第一种分组策略中,将6个计算单元分为3组,每组包括2个计算单元,例如组1包括计算单元{2,3},组2包括计算单元{4,5},组3包括计算单元{6,7};在第二种分组策略中,将6个计算单元分为两组,其中组1包括2个计算单元,例如计算单元{2,3},组2包括4个计算单元,例如计算单元{4,5,6,7}。座舱域的分组策略集合中也可以包括两种分组策略:在第一种分组策略中,将6个计算单元分为3组,每组包括2个计算单元,例如组1包括计算单元{8,9},组2包括计算单元{10,11},组3包括计算单元{12,13};在第二种分组策略中,将6个计算单元分为两组,其中组1包括2个计算单元,例如计算单元{8,9},组2包括4个计算单元,例如计算单元{10,11,12,13}。
作为另一个示例,如图7中的(b)所示,假设调整后的智能驾驶域中计算单元的数目为8个,例如计算单元{2,3,4,5,6,7,8,9};座舱域中计算单元的数目为4个,例如计算单元{10,11,12,13}。在要求每组计算单元的数目为2 n时,智能驾驶域的分组策略集合中可以包括四种分组策略:在第一种分组策略中,将8个计算单元分为4组,每组包括2个计算单元,例如组1包括计算单元{2,3},组2包括计算单元{4,5},组3包括计算单元{6,7},组4包括计算单元{8,9};在第二种分组策略中,将8个计算单元分为两组,其中组1包括4个计算单元,例如计算单元{2,3,4,5},组2包括4个计算单元,例如计算单元{6,7,8,9};在第三种分组策略中,将8个计算单元分为三组,其中组1包括2个计算单元,例如计算单元{2,3},组2包括4个计算单元,例如计算单元{4,5,6,7};组3包括2个计算单元,例 如计算单元{8,9};在第四种分组策略中,将8个计算单元分为1组,该组包括8个计算单元,例如计算单元{2,3,4,5,6,7,8,9}。座舱域的分组策略集合中可以包括两种分组策略:在第一种分组策略中,将4个计算单元分为两组,每组包括2个计算单元,例如组1包括计算单元{10,11},组2包括计算单元{12,13};在第二种分组策略中,将4个计算单元分为1组,其该组包括4个计算单元,例如计算单元{10,11,12,13}。
S550,业务部署。即在分组后将业务重新部署在座舱域和智能驾驶域,以保证座舱域和智能驾驶域中业务运行的稳定性以及业务处理能力。
S560,更新座舱域和智能驾驶域中计算单元的数目。
具体地,在车辆运行中,可以持续收集用户在座舱域和智能驾驶域的使用数据;并根据所收集的使用数据,分别对座舱域和智能驾驶域中计算单元的数目进行更新;在更新后再分别对座舱域和智能驾驶域中的计算单元进行分组和业务部署。
图8是本申请实施例提供的调整计算资源的装置的结构示意图。其中,该计算资源包括并行运行的a个专用计算单元和b个共享计算单元,该a个专用计算单元被分配至m个业务域。该装置800包括获取模块810和处理模块820。可选地,该装置还包括上述a个专用计算单元和b个共享计算单元。
其中,获取模块810用于,获取k个业务域中每个业务域的第一使用数据,其中,该第一使用数据为第一历史时间段内用户使用该业务域的数据,k个业务域为m个业务域中的一个或多个。
处理模块820用于,根据每个业务域的第一使用数据确定k个业务域中的目标业务域所需计算单元的第一数目;根据第一数目以及a个专用计算单元中已经被分配至目标业务域的专用计算单元的第二数目,在b个共享计算单元中确定需要分配至目标业务域的共享计算单元的第三数目;以及,将第三数目的共享计算单元分配给目标业务域。
可选地,处理模块820还可以用于,根据目标业务域的先验信息对目标业务域中的计算单元进行分组,该先验信息包括目标业务域已经部署的业务的信息;将业务重新部署在分组后的目标业务域。
可选地,处理模块820还可以用于,根据预设条件确定目标业务域中计算单元的分组策略集合;根据目标业务域的先验信息确定目标分组策略,目标分组策略为分组策略集合中的一种;根据目标分组策略对目标业务域中的计算单元进行分组。
可选地,预设条件可以包括如下至少一项:每组所包括计算单元的数目为2 n;分组数小于或等于需要部署的业务数;第一分组的计算单元数目小于或等于第一算子需求的计算单元数目,其中,第一分组为一个业务域内包括的计算单元最多的组,第一算子为需要部署的业务中需求计算单元最多的算子;或,第二分组的计算单元数目大于或等于第二算子需求的计算单元数目,其中,第二分组为一个业务域内包括的计算单元最少的组,第二算子为需要部署的业务中需求计算单元最少的算子。
可选地,处理模块820可以用于,根据每个业务域的第一使用数据确定k个业务域的用户体验评估结果;根据用户体验评估结果确定对应的计算单元需求方案;根据计算单元需求方案确定目标业务域所需计算单元的第一数目。
可选地,处理模块820还可以用于,获取k个业务域中每个业务域的第二使用数据,其中,第二使用数据为第二历史时间段内用户使用该业务域的数据;根据第二使用数据, 更新目标业务域中计算单元的数目。
可选地,第一使用数据和/或第二使用数据可以包括:用户的操作数据、用户操作的业务的响应时长、每个业务域中计算单元的使用率、业务的使用评分中的一项或多项。
可选地,m个业务域可以位于车辆内。该装置为车载计算平台。
图9是本申请实施例提供的调整计算资源的装置的硬件结构示意性框图。可选地,该装置900具体可以是一种计算机设备。该装置900包括存储器910、处理器920以及通信接口930。其中,存储器910、处理器920、通信接口930可以通过总线实现彼此之间的通信连接。
存储器910可以是只读存储器(read-only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器910可以存储程序,当存储器910中存储的程序被处理器920执行时,处理器920用于执行本申请实施例的调整计算资源的方法300或500的各个步骤。
处理器920可以采用通用中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application-specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请方法实施例的调整计算资源的方法300或500。
处理器920还可以是一种集成电路芯片,具有信号处理能力。在实现过程中,本申请的调整计算资源的方法300或500可以通过处理器920中的硬件的集成逻辑电路或者软件形式的指令完成。
通信接口930使用例如但不限于收发器一类的收发装置,来实现装置900与其他设备或通信网络之间的通信。
本申请实施例还提供了一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得所述计算机执行用于执行上述调整计算资源的方法300或500。
本申请实施例还提供了一种计算机程序产品,包含指令,当所述指令在计算机上运行时,上述调整计算资源的方法300或500被执行。
本申请实施例还提供了一种计算设备,包括:至少一个处理器和存储器,所述至少一个处理器与所述存储器耦合,用于读取并执行所述存储器中的指令,以执行上述调整计算资源的方法300或500。
本申请实施例还提供了一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述调整计算资源的方法300或500,或所述芯片通过硬件电路执行上述调整计算资源的方法300或500。
本申请实施例还提供了一种智能驾驶设备,包括上述调整计算资源的装置800和/或装置900。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装 置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (19)

  1. 一种调整计算资源的方法,其特征在于,所述计算资源包括并行运行的a个专用计算单元和b个共享计算单元,所述a个专用计算单元被分配至m个业务域,其中,a、b和m均为大于或等于2的正整数,所述方法包括:
    获取k个业务域中每个业务域的第一使用数据,其中,所述第一使用数据为第一历史时间段内用户使用所述业务域的数据,所述k个业务域为所述m个业务域中的一个或多个;
    根据所述每个业务域的第一使用数据确定所述k个业务域中的目标业务域所需计算单元的第一数目;
    根据所述第一数目以及所述a个专用计算单元中已经被分配至所述目标业务域的专用计算单元的第二数目,在所述b个共享计算单元中确定需要分配至所述目标业务域的共享计算单元的第三数目;
    将所述第三数目的共享计算单元分配给所述目标业务域。
  2. 根据权利要求1所述的方法,其特征在于,在所述将所述第三数目的共享计算单元分配给所述目标业务域之后,所述方法还包括:
    根据所述目标业务域的先验信息对所述目标业务域中的计算单元进行分组,所述先验信息包括所述目标业务域已经部署的业务的信息;
    将所述业务重新部署在分组后的所述目标业务域。
  3. 根据权利要求2所述的方法,其特征在于,所述根据所述目标业务域的先验信息对所述目标业务域中的计算单元进行分组包括:
    根据预设条件确定所述目标业务域中计算单元的分组策略集合;
    根据所述目标业务域的先验信息确定目标分组策略,所述目标分组策略为所述分组策略集合中的一种;
    根据所述目标分组策略对所述目标业务域中的计算单元进行分组。
  4. 根据权利要求3所述的方法,其特征在于,所述预设条件包括如下至少一项:
    每组所包括计算单元的数目为2 n,其中,n为大于或等于1的正整数;
    分组数小于或等于需要部署的业务数;
    第一分组的计算单元数目小于或等于第一算子需求的计算单元数目,其中,所述第一分组为一个业务域内包括的计算单元最多的组,所述第一算子为需要部署的业务中需求计算单元最多的算子;或,
    第二分组的计算单元数目大于或等于第二算子需求的计算单元数目,其中,所述第二分组为一个业务域内包括的计算单元最少的组,所述第二算子为需要部署的业务中需求计算单元最少的算子。
  5. 根据权利要求1至4中任一项所述的方法,其特征在于,所述根据所述每个业务域的第一使用数据确定所述k个业务域中的目标业务域所需计算单元的第一数目包括:
    根据所述每个业务域的第一使用数据确定所述k个业务域的用户体验评估结果;
    根据所述用户体验评估结果确定对应的计算单元需求方案;
    根据所述计算单元需求方案确定所述目标业务域所需计算单元的第一数目。
  6. 根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
    获取所述k个业务域中每个业务域的第二使用数据,其中,所述第二使用数据为第二历史时间段内所述用户使用所述业务域的数据;
    根据所述第二使用数据,更新所述目标业务域中计算单元的数目。
  7. 根据权利要求6所述的方法,其特征在于,所述第一使用数据和/或所述第二使用数据包括:
    所述用户的操作数据、所述用户操作的业务的响应时长、每个业务域中计算单元的使用率、业务的使用评分中的一项或多项。
  8. 根据权利要求1至7中任一项所述的方法,其特征在于,所述m个业务域位于车辆内。
  9. 一种调整计算资源的装置,其特征在于,所述计算资源包括并行运行的a个专用计算单元和b个共享计算单元,所述a个专用计算单元被分配至m个业务域,其中,a、b和m均为大于或等于2的正整数,所述装置包括获取模块和处理模块,其中,
    所述获取模块用于获取k个业务域中每个业务域的第一使用数据,其中,所述第一使用数据为第一历史时间段内用户使用所述业务域的数据,所述k个业务域为所述m个业务域中的一个或多个;
    所述处理模块用于:根据所述每个业务域的第一使用数据确定所述k个业务域中的目标业务域所需计算单元的第一数目;根据所述第一数目以及所述a个专用计算单元中已经被分配至所述目标业务域的专用计算单元的第二数目,在所述b个共享计算单元中确定需要分配至所述目标业务域的共享计算单元的第三数目;以及,将所述第三数目的共享计算单元分配给所述目标业务域。
  10. 根据权利要求9所述的装置,其特征在于,所述处理模块还用于:
    根据所述目标业务域的先验信息对所述目标业务域中的计算单元进行分组,所述先验信息包括所述目标业务域已经部署的业务的信息;
    将所述业务重新部署在分组后的所述目标业务域。
  11. 根据权利要求10所述的装置,其特征在于,所述处理模块还用于:
    根据预设条件确定所述目标业务域中计算单元的分组策略集合;
    根据所述目标业务域的先验信息确定目标分组策略,所述目标分组策略为所述分组策略集合中的一种;
    根据所述目标分组策略对所述目标业务域中的计算单元进行分组。
  12. 根据权利要求11所述的装置,其特征在于,所述预设条件包括如下至少一项:
    每组所包括计算单元的数目为2n,其中,n为大于或等于1的正整数;
    分组数小于或等于需要部署的业务数;
    第一分组的计算单元数目小于或等于第一算子需求的计算单元数目,其中,所述第一分组为一个业务域内包括的计算单元最多的组,所述第一算子为需要部署的业务中需求计算单元最多的算子;或,
    第二分组的计算单元数目大于或等于第二算子需求的计算单元数目,其中,所述第二分组为一个业务域内包括的计算单元最少的组,所述第二算子为需要部署的业务中需求计 算单元最少的算子。
  13. 根据权利要求9至12中任一项所述的装置,其特征在于,所述处理模块用于:
    根据所述每个业务域的第一使用数据确定所述k个业务域的用户体验评估结果;
    根据所述用户体验评估结果确定对应的计算单元需求方案;
    根据所述计算单元需求方案确定所述目标业务域所需计算单元的第一数目。
  14. 根据权利要求9至13中任一项所述的装置,其特征在于,所述处理模块还用于:
    获取所述k个业务域中每个业务域的第二使用数据,其中,所述第二使用数据为第二历史时间段内所述用户使用所述业务域的数据;根据所述第二使用数据,更新所述目标业务域中计算单元的数目。
  15. 根据权利要求14所述的装置,其特征在于,所述第一使用数据和/或所述第二使用数据包括:
    所述用户的操作数据、所述用户操作的业务的响应时长、每个业务域中计算单元的使用率、业务的使用评分中的一项或多项。
  16. 根据权利要求9至15中任一项所述的装置,其特征在于,所述m个业务域位于车辆内。
  17. 根据权利要求9至15中任一项所述的装置,其特征在于,所述装置还包括所述a个专用计算单元和所述b个共享计算单元。
  18. 一种调整计算资源的装置,其特征在于,包括输入输出接口、处理器和存储器,所述处理器用于控制输入输出接口收发信号或信息,所述存储器用于存储计算机程序,所述处理器用于从所述存储器中调用并运行所述计算机程序,使得所述调整计算资源的装置执行如权利要求1至8中任一项所述的调整计算资源的方法。
  19. 一种智能驾驶设备,其特征在于,包括如权利要求9至18中任意一项所述的调整计算资源的装置。
PCT/CN2022/131164 2022-11-10 2022-11-10 调整计算资源的方法、装置及智能驾驶设备 WO2024098333A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/131164 WO2024098333A1 (zh) 2022-11-10 2022-11-10 调整计算资源的方法、装置及智能驾驶设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/131164 WO2024098333A1 (zh) 2022-11-10 2022-11-10 调整计算资源的方法、装置及智能驾驶设备

Publications (1)

Publication Number Publication Date
WO2024098333A1 true WO2024098333A1 (zh) 2024-05-16

Family

ID=91031645

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/131164 WO2024098333A1 (zh) 2022-11-10 2022-11-10 调整计算资源的方法、装置及智能驾驶设备

Country Status (1)

Country Link
WO (1) WO2024098333A1 (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102388381A (zh) * 2009-01-23 2012-03-21 惠普开发有限公司 用于分配共享存储资源的系统和方法
CN103098027A (zh) * 2010-09-21 2013-05-08 亚马逊技术有限公司 用于动态管理计算容量请求的方法和系统
CN108594819A (zh) * 2018-05-03 2018-09-28 济南浪潮高新科技投资发展有限公司 自动驾驶车载计算资源管理系统和方法
CN110851271A (zh) * 2019-10-28 2020-02-28 北京梧桐车联科技有限责任公司 资源共享方法及装置、存储介质
CN111433745A (zh) * 2017-12-14 2020-07-17 谷歌有限责任公司 共享计算资源的动态容量优化
CN112817753A (zh) * 2021-01-21 2021-05-18 浙江大华技术股份有限公司 任务的处理方法及装置、存储介质、电子装置
US20210218690A1 (en) * 2020-07-20 2021-07-15 Beijing Baidu Netcom Science And Technology Co., Ltd. Method and apparatus for allocating server resource, electronic device and storage medium
US20210247762A1 (en) * 2020-02-12 2021-08-12 Qualcomm Incorporated. Allocating Vehicle Computing Resources to One or More Applications
CN113377524A (zh) * 2020-03-09 2021-09-10 辉达公司 协作并行存储器分配

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102388381A (zh) * 2009-01-23 2012-03-21 惠普开发有限公司 用于分配共享存储资源的系统和方法
CN103098027A (zh) * 2010-09-21 2013-05-08 亚马逊技术有限公司 用于动态管理计算容量请求的方法和系统
CN111433745A (zh) * 2017-12-14 2020-07-17 谷歌有限责任公司 共享计算资源的动态容量优化
CN108594819A (zh) * 2018-05-03 2018-09-28 济南浪潮高新科技投资发展有限公司 自动驾驶车载计算资源管理系统和方法
CN110851271A (zh) * 2019-10-28 2020-02-28 北京梧桐车联科技有限责任公司 资源共享方法及装置、存储介质
US20210247762A1 (en) * 2020-02-12 2021-08-12 Qualcomm Incorporated. Allocating Vehicle Computing Resources to One or More Applications
CN113377524A (zh) * 2020-03-09 2021-09-10 辉达公司 协作并行存储器分配
US20210218690A1 (en) * 2020-07-20 2021-07-15 Beijing Baidu Netcom Science And Technology Co., Ltd. Method and apparatus for allocating server resource, electronic device and storage medium
CN112817753A (zh) * 2021-01-21 2021-05-18 浙江大华技术股份有限公司 任务的处理方法及装置、存储介质、电子装置

Similar Documents

Publication Publication Date Title
CN110851529B (zh) 算力调度方法及相关设备
CN108983633B (zh) 一种虚拟环境中多物体的模拟系统、方法和装置
EP3402163B1 (en) Method and device for managing resources in cloud platform
CN110764901A (zh) 基于gpu资源的数据处理方法、电子设备及系统
CN102523103B (zh) 一种工业监控网络数据采集结点
CN110750351B (zh) 多核任务调度器、多核任务调度方法、装置及相关产品
CN112035238A (zh) 任务调度处理方法、装置、集群系统及可读存储介质
WO2023165105A1 (zh) 负载均衡控制方法、装置电子设备、存储介质和计算机程序
CN111338745B (zh) 一种虚拟机的部署方法、装置及智能设备
CN107341020A (zh) 显卡虚拟化的实现方法及装置、桌面云系统及终端设备
CN115033352A (zh) 多核处理器任务调度方法、装置及设备、存储介质
DE102019135572A1 (de) Leistungszustandsmanagement für leitungen eines kommunikationsanschlusses
CN113085842A (zh) 车辆控制方法、装置及车辆
US20190156245A1 (en) Platform as a service cloud server and machine learning data processing method thereof
WO2024098333A1 (zh) 调整计算资源的方法、装置及智能驾驶设备
CN109062246B (zh) 具有多任务自调度的模块化飞控系统及其设计方法
CN117032812B (zh) 服务器的管理方法、设备、装置、存储介质和电子设备
CN109683470A (zh) 一种软硬件自适应匹配方法、装置及驱动装置
WO2021217436A1 (zh) 红外数据处理方法、芯片、终端和系统
CN112578774A (zh) 作业模式切换方法、装置、电子设备、系统及存储介质
US20240054002A1 (en) Vehicle-mounted computer, computer execution method, and computer program
CN108289086A (zh) 请求处理方法及装置、服务器
CN115562878A (zh) Gpu计算资源的管理方法、装置、电子设备及可读存储介质
CN104657087A (zh) 一种虚拟磁盘映射的方法、装置及系统
CN115080242A (zh) 一种pci设备资源统一调度的方法、装置及介质