Method and apparatus for determining the optimal load balancing within a vehicle

Optimal load balancing in autonomous vehicles is achieved by determining clock frequencies based on time-independent and time-dependent elements, minimizing energy consumption and latency through efficient offloading to edge and cloud computing.

JP7862039B2Active Publication Date: 2026-05-19DAEGU GYEONGBUK INSTITUTE OF SCIENCE AND TECHNOLOGY
View PDF 6 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
DAEGU GYEONGBUK INSTITUTE OF SCIENCE AND TECHNOLOGY
Filing Date
2023-12-21
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

The challenge in autonomous vehicles is to distribute computational loads efficiently to minimize energy consumption and latency while ensuring real-time processing, as high-performance computing devices increase energy consumption and installation costs, and network latency affects edge and cloud processing.

Method used

A method and apparatus for determining optimal load balancing by acquiring time-independent and time-dependent elements to set a clock frequency that minimizes energy consumption, offloading computations to edge and cloud, and performing calculations based on these elements.

Benefits of technology

This approach reduces energy consumption and ensures stable computational execution by optimizing load distribution to edge and cloud, improving service compatibility and reducing the risk of accidents.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007862039000006
    Figure 0007862039000006
  • Figure 0007862039000007
    Figure 0007862039000007
  • Figure 0007862039000008
    Figure 0007862039000008
Patent Text Reader

Abstract

The present disclosure relates to a method and apparatus for determining optimal load balancing within a vehicle. According to one embodiment of the present disclosure, there can be provided a method for determining optimal load balancing of computational load within a vehicle, the method including: acquiring at least one first element that is independent of time; acquiring at least one second element that is time-dependent with a predetermined time interval as a period; determining a clock frequency of the computational device within the vehicle that minimizes energy consumption of the vehicle, a first computation amount to be transmitted from the computational device to an edge, and a second computation amount to be transmitted from the computational device to a cloud based on the at least one first element and the at least one second element; transmitting the first computation amount to the edge and the second computation amount to the cloud; and performing computation based on the clock frequency.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This disclosure relates to a method and apparatus for determining the optimal load balancing within a vehicle. [Background technology]

[0002] In recent years, the development of autonomous vehicles has led to a diversification of the types of services required during driving, such as lane keeping and emergency braking. Furthermore, the amount of computation required for each service has also increased. The computing devices within autonomous vehicles, such as the Electronic Control Unit (ECU), must process the computational load of services requiring real-time processing within a specified timeframe. Delays in these computing devices can increase the risk of accidents, such as the autonomous vehicle having to shut down.

[0003] Installing high-performance computing devices inside vehicles to solve these problems presents a challenge: it increases the vehicle's energy consumption and leads to higher installation costs. As a result, research on edge computing has been actively conducted recently. Edge computing is a technology that helps reduce the computational load on a vehicle by distributing the amount of computation required by the vehicle's computing device to computing nodes such as edge or cloud located near repeaters via vehicle communication.

[0004] However, there are problems such as network latency when distributing computational loads from the in-vehicle computing unit to the edge and the cloud, as well as the potential for latency when the edge and the cloud process the computational load.

[0005] As mentioned above, there is a need for research on methods for distributing computational loads in vehicles that can minimize energy consumption, taking into account the delay time required to transmit computational loads and the delay time required to process them. [Overview of the project] [Problems that the invention aims to solve]

[0006] This disclosure aims to provide a method and apparatus for determining the optimal load balancing within a vehicle. The problems that the present invention seeks to solve are not limited to those described above, and other problems and advantages of the present invention not mentioned can be understood from the following description and will be understood more clearly from embodiments of the present invention. Furthermore, it will be understood that the problems and advantages that the present invention seeks to solve can be achieved by the means and combinations thereof shown in the claims. [Means for solving the problem]

[0007] As a technical means for achieving the technical challenges described above, a first aspect of this disclosure can provide an apparatus for determining the optimal load balancing within a vehicle, comprising the steps of: acquiring at least one time-independent first element; acquiring at least one time-dependent second element with a predetermined time interval as its period; determining, based on the at least one first element and the at least one second element, a clock frequency of the in-vehicle computing device that minimizes the vehicle's energy consumption, a first computation amount transmitted from the computing device to an edge, and a second computation amount transmitted from the computing device to a cloud; transmitting the first computation amount to the edge and the second computation amount to the cloud; and performing calculations based on the clock frequency.

[0008] A second aspect of the present disclosure provides a vehicle-based optimal load balancing determination device comprising at least one memory and at least one processor, wherein the at least one processor acquires at least one time-independent first element, acquires at least one time-dependent second element with a predetermined time interval as its period, and determines, based on the at least one first element and the at least one second element, a clock frequency of the vehicle-based computing device that minimizes the vehicle's energy consumption, a first computation amount transmitted from the computing device to the edge, and a second computation amount transmitted from the computing device to the cloud, transmits the first computation amount to the edge, transmits the second computation amount to the cloud, and performs calculations based on the clock frequency.

[0009] A third aspect of this disclosure can provide a computer-readable recording medium that stores a program for performing the method according to the first aspect on a computer.

[0010] In addition, other methods, other systems for implementing the present invention, and computer-readable recording media storing computer programs for performing the aforementioned methods can be further provided. Other aspects, features, and advantages not described above will become apparent from the following drawings, claims, and detailed description of the invention. [Effects of the Invention]

[0011] According to the solutions described in this disclosure, the amount of computation required to be processed by the in-vehicle computing unit can be offloaded to the edge and the cloud, so as to minimize the energy consumption of the vehicle.

[0012] Furthermore, this disclosure sets constraints on the time required to offload computational load from the in-vehicle computing unit to the edge and the cloud, and the time required for the in-vehicle computing unit, edge, and cloud to process the computational load, thereby ensuring the stability of the vehicle.

[0013] In addition, in the present disclosure, by determining the amount of computation to be offloaded from the in-vehicle computing device to the edge and the cloud in consideration of the characteristics of services for which processing is required by the in-vehicle computing device, the service compatibility of the in-vehicle computing device can be improved.

Brief Description of Drawings

[0014] [Figure 1] It is a conceptual diagram for explaining a method of distributing the amount of computation of an in-vehicle computing device according to an embodiment. [Figure 2] It is a block diagram of a device for distributing the in-vehicle computation amount according to an embodiment. [Figure 3] It is an exemplary configuration diagram of a system including an in-vehicle computing device and an external device according to an embodiment. [Figure 4] It is a flowchart for explaining a method of distributing the in-vehicle computation amount according to an embodiment. [Figure 5] It is a flowchart for explaining a method of distributing the in-vehicle computation amount using constraint conditions according to an embodiment. [Figure 6] It is an exemplary diagram for explaining a first element independent of time, a second element dependent on time, and constraint conditions according to an embodiment. [Figure 7] It is an exemplary diagram for explaining a method of determining a time period during which a second element is acquired according to an embodiment. [Figure 8] It is a flowchart for explaining a method of distributing the in-vehicle computation amount by comparing the energy consumption of a vehicle depending on whether offloading is possible according to an embodiment.

Modes for Carrying Out the Invention

[0015] A method according to an embodiment of the present disclosure can obtain at least one first element that is independent of time, can obtain at least one second element that is time-dependent with a predetermined time interval as a period, and based on the at least one first element and the at least one second element, the clock frequency of the in-vehicle computing device that minimizes the energy consumption of the vehicle, the first amount of computation transmitted from the computing device to the edge, and the second amount of computation transmitted from the computing device to the cloud can be determined, the first amount of computation can be transmitted to the edge, the second amount of computation can be transmitted to the cloud, and computation can be performed based on the clock frequency.

[0016] The advantages and features of the present invention, and the method for achieving them, will become apparent by referring to the embodiments described in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments presented below, and can be implemented in various different forms, and it should be understood that it includes all conversions, equivalents, and alternatives included in the spirit and technical scope of the present invention. The embodiments presented below are provided to complete the disclosure of the present invention and to fully inform those with ordinary knowledge in the technical field to which the present invention belongs of the scope of the invention. In the description of the present invention, if the specific description of related known technologies is determined to obscure the gist of the present invention, the detailed description thereof will be omitted.

[0017] The terms used in this application are merely used to describe specific embodiments and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, terms such as "including" or "having" are intended to specify the existence of the features, numbers, steps, operations, components, parts, or combinations thereof described in this specification, and it should be understood that they do not preclude the possibility of the existence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof in advance.

[0018] Some embodiments of this disclosure can be represented by functional block configurations and various processing steps. Some or all of such functional blocks can be implemented by various numbers of hardware and / or software configurations that perform a particular function. For example, a functional block of this disclosure may be implemented by one or more microprocessors, or by a circuit configuration for a given function. Furthermore, for example, a functional block of this disclosure can be implemented in various programming or scripting languages. A functional block can be implemented by an algorithm that runs on one or more processors. Furthermore, this disclosure may employ prior art for electronic environment setup, signal processing, and / or data processing, etc. Terms such as “mechanism,” “element,” “means,” and “configuration” can be used broadly and are not limited to mechanical and physical configurations.

[0019] Furthermore, the connecting lines or members between components shown in the diagram are merely illustrative examples of functional and / or physical or circuit connections. In actual devices, connections between components may be indicated by a variety of interchangeable or added functional, physical, or circuit connections.

[0020] In the following, “vehicle” may mean any means of transport that has a motor (e.g., an engine) and is used to move people or things, such as automobiles, buses, motorcycles, scooters, or trucks.

[0021] The present disclosure will be described in detail below with reference to the attached diagrams. Figure 1 is a conceptual diagram illustrating a method for distributing the computational load of an in-vehicle computing device according to one embodiment. Referring to Figure 1, a computing device 20 can be installed in the vehicle 10. For example, the computing unit 20 may correspond to a device that controls functions necessary for the operation of the vehicle 10, such as an electronic control unit (ECU).

[0022] The arithmetic unit 20 can obtain the processing request amount 50. Here, the processing request amount 50 means the amount of computation requested for the arithmetic unit 20 to process. For example, the arithmetic unit 20 can obtain the processing request amount 50 from other arithmetic units in the vehicle 10.

[0023] Recently, with the development of autonomous vehicles 10, the amount of computation that the computing device 20 within the vehicle 10 must process has increased. For example, services such as emergency braking systems and automatic lane keeping systems that can be included in and provided by autonomous vehicles 10 may increase the burden on the computing device 20 when performing calculations compared to conventional vehicles.

[0024] There is a possibility of delays in the processing time required when the computing unit 20 processes a large amount of computation. However, if delays occur in processing services directly related to the safety of the vehicle 10, such as the emergency braking system, there is a potential problem that the risk of accidents involving the autonomous vehicle 10 could increase sharply.

[0025] This allows the vehicle's internal computing unit 20 to offload the processing request computation amount 50 to an external device. Offloading here means distributing the rapidly increasing computation amount to another network. For example, the external device may include, but is not limited to, an edge 40 and a cloud 30. Here, the edge 40 may correspond to a roadside unit (RSU).

[0026] The computing unit 20 can reduce the risk of accidents involving the vehicle 10, as well as minimize the energy consumption of the vehicle 10, by offloading the processing request amount 50 to external devices such as the edge 40 or the cloud 30.

[0027] However, for the computing unit 20 to offload the requested computation amount 50, various factors must be considered, such as the current state of the network connecting the computing unit 20, the edge 40, and the cloud 30, the computing processing capacity of the edge 40 and the cloud 30, and the energy consumption of the vehicle 10. As a result, there is a lot of research being done on load balancing, which determines whether or not offloading is possible and the amount of computation to be offloaded.

[0028] Traditionally, offloading was performed assuming an ideal network environment without considering quality of service (QoS), including network latency and communication stability. However, in actual network environments, simultaneous offloading by multiple vehicles can lead to signal interference between vehicles and a decrease in communication performance. For example, if latency in the network used during the offloading process is not adequately considered, offloading may actually increase the energy consumption of vehicle 10 and reduce the stability of the vehicle's computational execution.

[0029] As a result, the computing device 20 of this disclosure can decide whether or not to offload to the edge 40 and the cloud 30 by taking into account factors that change over time. For example, factors such as the amount of computation required by the computing device 20, the rate at which computation is transmitted from the computing device 20 to the edge 40, and the rate at which computation is transmitted from the computing device 20 to the cloud 30 can change over time. By deciding whether or not to offload by taking into account such time-dependent factors, the computing device 20 can minimize the energy consumption of the vehicle 10.

[0030] Furthermore, the computing unit 20 can process the requested computation amount 50 via a clock frequency that minimizes the energy consumption of the vehicle 10. Here, the clock frequency refers to the period of clock pulses used to synchronize the operation of the components included in the computing unit 20. For example, the computing unit 20 can determine a clock frequency that minimizes the energy consumption of the vehicle 10 while offloading the requested computation amount 50 to the edge 40 and cloud 30 and processing the remaining computation amount within a preset average delay time.

[0031] Furthermore, the computing unit 20 can use time-based dynamic optimization techniques when determining whether to offload computing load to the edge 40 and the cloud 30, and when determining the clock frequency of the computing unit 20. Here, time-based dynamic optimization techniques refer to techniques for optimally controlling systems that change dynamically over time. For example, time-based dynamic optimization techniques can include Lyapunov optimization techniques.

[0032] Lyapunov optimization is a technique that uses the Lyapunov function to optimally control a system that changes over time. The Lyapunov function is a widely used function to ensure system stability, and its value increases as system stability decreases. Therefore, the computing unit 20 can determine whether to offload computation to the edges 40 and cloud 30 and the clock frequency in a direction that decreases the value of the Lyapunov function toward zero.

[0033] Figure 2 is a block diagram of a device for distributing the amount of computation performed within a vehicle according to one embodiment. Referring to Figure 2, the device 100 for distributing the computational load within the vehicle 10 includes a processor 110, memory 120, and a communication module 130. For convenience of explanation, only the components relevant to the present invention are shown in Figure 2. Therefore, in addition to the components shown in Figure 2, other general-purpose components may be further included in the device 100. Furthermore, it will be apparent to those with ordinary skill in the art related to the present invention that the processor 110, memory 120, and communication module 130 shown in Figure 2 can be implemented in separate devices. Also, the device 100 in Figure 2 may be the same device as the computing device 20 in Figure 1.

[0034] The processor 110 can process computer program instructions by performing basic arithmetic, logic, and input / output operations. Instructions may be provided from memory 120 or an external device. Furthermore, the processor 110 can control the overall operation of other components included in the device 100.

[0035] For example, the processor 110 can determine the clock frequency of the computing unit 20, the first amount of computation transmitted from the computing unit 20 to the edge 40, and the second amount of computation transmitted from the computing unit 20 to the cloud 30, based on a first element that is independent of time and a second element that is dependent on time, in order to minimize the energy consumption of the vehicle 10. Furthermore, the processor 110 can use time-based dynamic optimization techniques in the process of determining the clock frequency of the computing unit 20, the first amount of computation transmitted from the computing unit 20 to the edge 40, and the second amount of computation transmitted from the computing unit 20 to the cloud 30 as described above.

[0036] Furthermore, when the processor 110 determines the clock frequency, the first amount of computation, and the second amount of computation, it can set constraints such that the average delay time, which is the time it takes to perform the computation, is less than or equal to a predetermined time. For example, the processor 110 can determine the average delay time based on the queue lengths of the computing unit 20, the edge 40, and the cloud 30.

[0037] Furthermore, the processor 110 can determine a predetermined time interval based on the amount of change of a second element that depends on time. For example, if the second element that depends on time changes beyond a preset range, the processor 110 can change the predetermined time interval.

[0038] Furthermore, the processor 110 can determine the clock frequency of the computing unit 20, the first amount of computation to be transmitted from the computing unit 20 to the edge 40, and the second amount of computation to be transmitted from the computing unit 20 to the cloud 30, using a neural network model that uses a first element that is independent of time and a second element that is dependent on time as input values.

[0039] The processor 110 may be implemented as an array of multiple logic gates, or as a combination of a general-purpose microprocessor and memory for storing programs executable by this microprocessor. For example, the processor 110 may include a general-purpose processor, a central processing unit (CPU), a microprocessor, a digital signal processor (DSP), a controller, a microcontroller, a state machine, etc. In some environments, the processor 110 may include an on-demand semiconductor (ASIC), a programmable logic device (PLD), a field-programmable gate array (FPGA), etc. For example, the processor 110 may also refer to a combination of processing devices such as a combination of a digital signal processor (DSP) and a microprocessor, a combination of multiple microprocessors, a combination of one or more microprocessors coupled with a digital signal processor (DSP) core, or any other combination of such configurations.

[0040] Memory 120 may include a non-temporary, computer-readable recording medium. For example, memory 120 may include a permanent mass storage device such as RAM (random access memory), ROM (read-only memory), a disk drive, an SSD (solid-state drive), or flash memory. Alternatively, a permanent mass storage device such as ROM, an SSD, flash memory, or a disk drive may be a separate persistent storage device distinct from memory. Memory 120 may also store an operating system (OS) and at least one program code (for example, code for the processor 110 to perform operations described later with reference to Figures 3-8). For example, memory 120 may store at least one time-independent first element used to determine the amount of computation to be offloaded from the arithmetic unit 20 to the edge 40 and the cloud 30.

[0041] Such software components can be loaded from a computer-readable recording medium other than memory 120. Such a computer-readable recording medium may be a recording medium that can be directly connected to device 100 and may include, for example, input / output computer-readable recording media such as floppy drives, disks, tapes, DVD / CD-ROM drives, and memory cards. Alternatively, the software components may be loaded into memory 120 via the communication module 130 rather than from a computer-readable recording medium. For example, at least one program can be loaded into memory 120 based on a computer program (for example, a computer program for the processor 110 to perform the operations described later with reference to Figures 3 to 8) that is installed by a file provided via the communication module 130 by a developer or a file distribution system that distributes application installation files.

[0042] The communication module 130 can provide a configuration or function for the device 100 to communicate with external devices (not shown) via a network. Furthermore, the communication module 130 can provide a configuration or function for the device 100 to communicate with other external devices. For example, control signals, instructions, data, etc., provided in accordance with the control of the processor 110 can be transmitted to external devices via the network through the communication module 130.

[0043] Figure 3 is an illustrative diagram of a system including an in-vehicle computing device and external devices according to one embodiment. Referring to Figure 3, the computing device 310 may include any kind of server that manages a web and / or application that can provide artificial intelligence services. Also, the computing device 310 in Figure 3 may be the same device as the computing device 20 in Figure 1.

[0044] In one embodiment, the arithmetic unit 310 may be an electronic device embedded within the vehicle 10. For example, the arithmetic unit 310 may be a device that is inserted into the vehicle 10 after the manufacturing process through tuning.

[0045] In another embodiment, the processes performed by the computing unit 310 can be carried out by at least some of the following: mobile electronic devices, electronic devices embedded in the vehicle 10, and servers located outside the vehicle 10.

[0046] External device 320 may mean an entity that provides information necessary for the arithmetic unit 310 to determine the clock frequency, a first amount of computation transmitted from the arithmetic unit 310 to the edge 40, and a second amount of computation transmitted from the arithmetic unit 310 to the cloud 30. External device 320 may include any kind of server that manages various information. External device 320 may include, but is not limited to, a database and a server that manages a web service API that can provide information. For example, external device 320 may correspond to other arithmetic units included within the vehicle 10.

[0047] Furthermore, the external device 320 may represent an entity to which computational data is transmitted from the computing unit 310. For example, the external device 320 may correspond to the edge 40 and cloud 30 to which the offloaded computational data from the computing unit 310 is transmitted.

[0048] The computing unit 310 and the external device 320 can communicate with each other and / or with other devices via a network. The network is a comprehensive data communication network that enables different entities to communicate smoothly with each other, and can include wired internet, wireless internet, and mobile wireless communication networks. For example, the network can include local area networks (LANs), wide area networks (WANs), value-added networks (VANs), mobile radio communication networks, satellite communication networks, and combinations thereof. Wireless communication can include, but is not limited to, wireless LAN (Wi-Fi), Bluetooth®, Bluetooth Low Energy, ZigBee®, WFD (Wi-Fi Direct), UWB (Ultrawideband), infrared communication (IrDA: Infrared Data Association), and NFC (Near Field Communication).

[0049] The computing unit 310 can communicate with the external device 320 via a network. By communicating via the network, the computing unit 310 can receive data from the external device 320 and decide whether to offload the computation based on the received data.

[0050] Figure 4 is a flowchart illustrating a method for distributing the amount of computation within a vehicle according to one embodiment. Referring to Figure 4, the method for distributing the computation load within the vehicle 10 consists of steps processed chronologically by the device 100 and / or processor 110 shown in Figure 2. Therefore, even if the details are omitted below, the above-mentioned details regarding the device 100 or processor 110 shown in Figure 2 can also be applied to the method for distributing the computation load within the vehicle 10 in Figure 4.

[0051] In step 410, the processor 110 can obtain at least one first element that is independent of time. Here, the first element is an element that does not change over time and may include, but is not limited to, the GPU usage by services that require processing on processor 110, the computing power of edge 40, and the computing power of cloud 30.

[0052] For example, the processor 110 can obtain the first element from other computing devices within the vehicle 10. Furthermore, the processor 110 can obtain the first element from an external database, but is not limited to this.

[0053] In step 420, the processor 110 can obtain at least one time-dependent second element with a predetermined time interval as its period. Here, the second element is an element that changes over time and may include, but is not limited to, the amount of computation required by the computing unit 20, the computation transmission rate from the computing unit 20 to the edge 40, the computation transmission rate from the computing unit 20 to the cloud 30, the queue length of the computing unit 20, the queue length of the edge 40, and the queue length of the cloud 30.

[0054] The first and second elements will be explained in detail below in Figure 6. In step 430, the processor 110 can determine, based on at least one first element and at least one second element, the clock frequency of the computing unit 20 that minimizes the energy consumption of the vehicle 10, a first amount of computation transmitted from the computing unit 20 to the edge 40, and a second amount of computation transmitted from the computing unit 20 to the cloud 30. For example, the processor 110 can determine the clock frequency, the first calculation amount, and the second calculation amount using a pre-set mathematical formula.

[0055] The above formula will be explained in detail below in Figure 8. Furthermore, the processor 110 can determine the clock frequency, the first computation amount, and the second computation amount using a neural network model.

[0056] For example, the processor 110 can use a first element that is independent of time and a second element that is dependent on time as input data for a neural network model. By inputting the first and second elements into the neural network model, the processor 110 can obtain the output clock frequency, the first computation amount, and the second computation amount.

[0057] In machine learning techniques and cognitive science, a neural network model refers to a statistical learning algorithm implemented based on the structure of a biological neural network, or the structure that executes such an algorithm.

[0058] For example, a neural network model, similar to a biological neural network, can represent a model with problem-solving capabilities by having nodes (artificial neurons) that form a network through synaptic connections, repeatedly adjusting the weights of the synapses to learn to reduce the error between the correct output corresponding to a particular input and the inferred output. For example, a neural network model can include any probabilistic model used in artificial intelligence learning such as machine learning and deep learning, as well as neural network models.

[0059] For example, a neural network model can be implemented using a multilayer perceptron (MLP), which consists of multiple layers of nodes and connections between them. The neural network model according to this embodiment can be implemented using one of various artificial neural network model structures, including MLPs. For example, a neural network model can consist of an input layer that receives input signals or data from the outside, an output layer that outputs output signals or data corresponding to the input data, and at least one hidden layer located between the input and output layers that receives signals from the input layer, extracts characteristics, and transmits them to the output layer. The output layer receives signals or data from the hidden layer and outputs them to the outside.

[0060] In step 440, the processor 110 can send the determined first amount of computation to the edge 40 and the determined second amount of computation to the cloud 30.

[0061] In step 450, the processor 110 can perform calculations based on the determined clock frequency. For example, the processor 110 can calculate the remaining computation amount based on a determined clock frequency, excluding the first computation amount sent to the edge 40 and the second computation amount sent to the cloud 30 from the total computation amount required for processing.

[0062] Figure 5 is a flowchart illustrating a method for distributing the amount of computation within a vehicle using constraints according to one embodiment. Referring to Figure 5, the method for distributing the amount of computation within the vehicle 10 using constraints consists of steps processed chronologically by the device 100 and / or processor 110 shown in Figure 2. Therefore, even if the details are omitted below, the above-mentioned details regarding the device 100 or processor 110 shown in Figure 2 can also be applied to the method for distributing the amount of computation within the vehicle 10 using constraints shown in Figure 5.

[0063] In step 510, the processor 110 can obtain at least one first element that is independent of time.

[0064] In step 520, the processor 110 can obtain at least one time-dependent second element with a predetermined time interval as its period.

[0065] In step 530, the processor 110 can determine, based on at least one first element and at least one second element, the clock frequency of the computing unit 20 that minimizes the energy consumption of the vehicle 10, a first amount of computation transmitted from the computing unit 20 to the edge 40, and a second amount of computation transmitted from the computing unit 20 to the cloud 30.

[0066] In step 540, the processor 110 can determine whether the determined clock frequency, first computation amount, and second computation amount satisfy the constraints.

[0067] For example, if processor 110 offloads the first computation to edge 40 and the second computation to cloud 30, and performs calculations based on a determined clock frequency, it can determine whether pre-set constraints are met.

[0068] For example, the processor 110 can set the average delay time as a constraint. Here, the average delay time may include a first time that is delayed on average to send the computation amount from the computing unit 20 to the edge 40 and the cloud 30, and a second time that is required on average for the computing unit 20, the edge 40 and the cloud 30 to process the computation amount.

[0069] Traditionally, the average latency was not considered during the process of offloading computational loads. This led to the problem that vehicles could take an excessive amount of time to process services through offloading.

[0070] However, the processor 110 can set the average delay time as a constraint and determine the clock frequency, the first amount of computation, and the second amount of computation so that it can process the services requested to be processed by the arithmetic unit 20 within a predetermined time.

[0071] Here, the average latency can be determined based on the queue lengths of the computing units 20, edge 40, and cloud 30 included in the second element. For example, processor 110 can determine the average delay time using Little's Law. Little's Law is a fundamental principle of queuing theory and is used to evaluate and predict the performance of queuing systems.

[0072] As an example, processor 110 can determine the average delay time using Little's Law by the following equation 1.

number

[0073] For example, the processor 110 can obtain the average delay time of edge 40 by dividing the average queue length of edge 40 by the average rate at which computation is input to edge 40. This allows the processor 110 to determine the average delay time of edge 40 to be less than or equal to a preset time by adjusting the queue length of edge 40.

[0074] If the constraints are not met, in step 530, the processor 110 may determine the clock frequency, the first computation amount, and the second computation amount again. For example, if the average delay time exceeds a preset time, the processor 110 can re-determine the clock frequency, the first calculation amount, and the second calculation amount so that the average delay time is less than or equal to the preset time.

[0075] If the constraints are met, in step 550, the processor 110 can send the first amount of computation to the edge 40 and the second amount of computation to the cloud 30.

[0076] In step 560, the processor 110 can perform calculations based on the determined clock frequency. For example, the processor 110 can calculate the remaining amount of computation based on the clock frequency, excluding the first amount of computation sent to the edge 40 and the second amount of computation sent to the cloud 30 from the amount of computation that is required to be processed.

[0077] Figure 6 is an illustrative diagram illustrating a time-independent first element, a time-dependent second element, and constraints according to one embodiment. Referring to Figure 6, Table 600 shows the elements included in the first element which is independent of time, the elements included in the second element which is dependent on time, and the conditions included in the constraints.

[0078] Referring to Table 600, the first time-independent element is the GPU usage (γ) due to services required for processing on the computing unit 20, and the computing power (s) of the edge 40. j ), Cloud30's computing power (s k This may include, but is not limited to, the following: () and weight determination parameters (V). For example, services that the processing unit 20 requires may include, but are not limited to, services such as emergency braking systems and automatic lane keeping systems.

[0079] Furthermore, GPU usage can vary depending on the service required for processing by the computing unit 20. For example, GPU usage by the emergency braking system may be higher than that by the automatic lane keeping system.

[0080] Furthermore, the weight determination parameter is a parameter that can determine the weight between the energy consumption of vehicle 10 and the average delay time. For example, the user can arbitrarily input a weight determination parameter to the arithmetic unit 20 that has a higher value for the element to which they want to give a higher weight among the energy consumption of vehicle 10 and the average delay time. In addition, if the energy consumption of vehicle 10 increases, the arithmetic unit 20 can determine the first and second calculation amounts by giving a higher weight to the energy consumption of vehicle 10.

[0081] The second time-dependent element is the processing request computation amount 50(a i (t)) Transmission speed of computation amount from arithmetic unit 20 to edge 40 (r ij (t)) Data transfer speed from computing device 20 to cloud 30 (o i (t)) Length of the queue of the arithmetic unit 20 (Q i (t)) Cue length of edge 40 (Q j (t)) and the queue length of Cloud30 (Q k (t)) can be included, but is not limited to this.

[0082] Here, the processing request amount 50 refers to the amount of computation that the arithmetic unit 20 should process according to the time. The device can acquire a second element that is time-dependent, with a predetermined time interval as its period. Constraints may include, but are not limited to, average transmission delay time and average processing delay time.

[0083] Here, average transmission delay time refers to the average time it takes to send the computational data from the computing unit 20 to the edge 40 and the cloud 30. Average processing delay time refers to the average time it takes for the computing unit 20, the edge 40, and the cloud 30 to process the computational data.

[0084] For example, the device can determine the clock frequency of the computing unit 20, a first amount of computation to be transmitted from the computing unit 20 to the edge 40, and a second amount of computation to be transmitted from the computing unit 20 to the cloud 30, within a range that satisfies the constraint of average delay time, thereby minimizing the energy consumption of the vehicle 10.

[0085] Figure 7 is an illustrative diagram illustrating a method for determining the time interval in which a second element is acquired according to one embodiment. Referring to Figure 7, the arithmetic unit 700 can acquire a second element that is time-dependent, with a predetermined time interval as its period. The arithmetic unit 700 in Figure 7 may be the same device as the arithmetic unit 20 in Figure 1.

[0086] Furthermore, the arithmetic unit 700 can determine the clock frequency of the arithmetic unit 700, a first amount of computation to be transmitted from the arithmetic unit 700 to the edge 40, and a second amount of computation to be transmitted from the arithmetic unit 700 to the cloud 30, based on a predetermined time interval as a period and a first element that is independent of time and a second element that is dependent on time.

[0087] Furthermore, the arithmetic unit 700 may determine a predetermined time interval based on the amount of change of the second element at each time interval determination period 750. For example, the arithmetic unit 700 can acquire the second element and make a second decision after a time period of the first cycle 710 has elapsed since the first decision 730.

[0088] However, after the first determination period 750 has elapsed since the first determination, the first period 710, which was a predetermined time period, can be changed to the second period 720. For example, if the processing request amount 50 at the time of the third decision decreases by more than half compared to the first decision 730, the arithmetic unit 700 will determine that the decision cycle needs to be reduced and will determine a second cycle 720 that is longer than the first cycle 710 within a predetermined time interval.

[0089] As a result, the arithmetic unit 700 can make the fourth decision 740 after the second period 720 has elapsed, rather than the first period 710, from the third decision.

[0090] Figure 8 is a flowchart illustrating a method for distributing the amount of computation within a vehicle by comparing the energy consumption of a vehicle with and without the possibility of off-road driving according to one embodiment. Referring to Figure 8, the method for distributing the amount of computation within the vehicle 10 depending on whether or not it is capable of off-roading consists of steps processed chronologically by the arithmetic unit 100 and / or processor 110 shown in Figure 2. Therefore, even if the details are omitted below, the above-mentioned details regarding the arithmetic unit 100 or processor 110 shown in Figure 2 can also be applied to the method for distributing the amount of computation within the vehicle 10 depending on whether or not it is capable of off-roading, as shown in Figure 8.

[0091] In step 810, the processor 110 can obtain a time-independent first element.

[0092] In step 820, the processor 110 can acquire a second time-dependent element with a predetermined time interval as its period.

[0093] In step 830, the processor 110 can calculate, based on the first and second elements, a first objective function value for the vehicle 10 for a first case in which calculations are performed in the arithmetic unit 20 without sending the amount of computation from the arithmetic unit 20 to the edge 40 and the cloud 30, a second objective function value for the vehicle 10 for a second case in which all the amount of computation is sent from the arithmetic unit 20 to the edge 40, and a third objective function value for the vehicle 10 for a third case in which all the amount of computation is sent from the arithmetic unit 20 to the cloud 30. Here, the objective function value means a value calculated taking into account the vehicle's energy consumption, queue length, and computation throughput.

[0094] As an example, the processor 110 calculates the first objective function value, the second objective function value, and the third objective function value using the following formula 2.

number

Number

[0095] Also,

Number

[0096] For example, in the first case where the arithmetic unit 20 performs computations without transmitting the amount of computation to the edge 40 and the cloud 30, the processor 110 substitutes Θ ij (t) and σ i (t) into Equation 1 to calculate the first objective function value.

[0097] For example, the energy consumption of the vehicle 10 in the first case is calculated by the following Equation 3.

Number

[0098] Also, in the second case where the arithmetic unit 20 transmits all the amount of computation to the edge 40, the processor 110 substitutes Θ ij (t) = 1 and σ i (t) = 0 into Equation 1 to calculate the second objective function value. Furthermore, in the third case where all computation is transmitted from the computing device 20 to the cloud 30, the processor 110 uses Θ in equation 1. ij (t)=0 and σ i By substituting (t)=1, we can calculate the third objective function value.

[0099] In step 840, the processor 110 can compare the magnitudes of the calculated first objective function value, second objective function value, and third objective function value. If the first objective function value has a minimum value (851), in step 852, the processor 110 can perform the calculation using the determined clock frequency without offloading the amount of computation required to the edge 40 and cloud 30. If the second objective function value has a minimum value (861), in step 862, the processor 110 can offload all of the computational processing required to the edge 40. If the third objective function value has a minimum value (871), in step 872, the processor 110 can offload all of the computational load required to the cloud 30.

[0100] Embodiments of the present invention can be implemented in the form of a computer program that can be executed on a computer via various components, and such a computer program can be recorded on a computer-readable medium. In this case, the medium may include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical recording media such as CD-ROMs and DVDs; magneto-optical media such as floptical disks; and hardware devices such as ROMs, RAMs, and flash memory that are specially configured to store and execute program instructions.

[0101] On the other hand, the computer program may be specifically designed and configured for the present invention, or it may be publicly known and available to those skilled in the art of computer software. Examples of computer programs may include not only machine code, such as that produced by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.

[0102] According to one embodiment, the methods according to various embodiments of the present disclosure may be provided in a computer program product. The computer program product can be traded as a commodity between a seller and a buyer. The computer program product can be distributed in the form of a device-readable storage medium (e.g., compact disc read-only memory (CD-ROM)), or online (e.g., downloaded or uploaded) via an application store (e.g., Play Store®), or directly between two user devices. In the case of online distribution, at least a portion of the computer program product can be at least temporarily stored or temporarily generated on a device-readable storage medium such as the memory of a manufacturer's server, an application store server, or an intermediary server.

[0103] Unless otherwise stated, the steps constituting the method according to the present invention may be performed in any order that suits them. The present invention is not necessarily limited to the order in which the steps are described. The use of all examples or exemplary terms (e.g., etc.) in the present invention is solely for the purpose of illustrating the invention in detail, and the scope of the present invention is not limited by such examples or exemplary terms unless limited by the claims. Furthermore, those skilled in the art will understand that various modifications, combinations, and changes may be constructed within the scope of the claims or their equivalents according to design conditions and factors.

[0104] Therefore, the spirit of the present invention is not limited to the embodiments described above, and it can be said that not only the claims described below, but also all scopes equivalent to or equivalently modified from these claims, fall within the scope of the spirit of the present invention.

Claims

1. A step of obtaining at least one first element that is independent of time, A step of obtaining at least one time-dependent second element with a predetermined time interval as its period, A step of determining the clock frequency of the in-vehicle computing device, a first amount of computation transmitted from the computing device to the edge, and a second amount of computation transmitted from the computing device to the cloud, using a first function relating to the energy consumed according to the clock frequency of the in-vehicle computing device and a second function relating to the energy consumed when the computing device transmits computational amounts to the edge and the cloud, based on the at least one first element and the at least one second element, such that the energy consumption of the vehicle is minimized. The steps include sending the first amount of computation to the edge and sending the second amount of computation to the cloud, A step of performing calculations based on the aforementioned clock frequency, A method for determining the optimal load balancing for an in-vehicle computing device, including [the specified method].

2. The first element mentioned above is, This includes the GPU usage by services that require processing on the aforementioned computing device, the computing processing capacity of the edge, and the computing processing capacity of the cloud. The aforementioned second element is, The method according to claim 1, comprising: the amount of computation required to be processed by the computing device; the rate at which the amount of computation is transmitted from the computing device to the edge; the rate at which the amount of computation is transmitted from the computing device to the cloud; the length of the queue of the computing device; the length of the queue of the edge; and the length of the queue of the cloud.

3. The aforementioned decision-making step is: The clock frequency, the first computation amount, and the second computation amount are determined using the average delay time as a constraint. The aforementioned average delay time is The method according to claim 1, comprising at least one of a first time that is delayed on average for transmitting the computational load from the computing device to the edge and the cloud, and a second time that is required on average for the computing device, the edge and the cloud to process the computational load.

4. The aforementioned average delay time is The method according to claim 3, which is determined based on the length of the queues of the computing device, the edge, and the cloud.

5. The aforementioned average delay time is The method according to claim 3, wherein the calculation device is set according to the service for which processing is required.

6. The aforementioned predetermined time interval is, The method according to claim 1, wherein the change is determined based on the amount of change of the second element.

7. The aforementioned decision-making step is: The method according to claim 1, wherein the clock frequency, the first computation amount, and the second computation amount are determined taking into consideration a parameter that determines the weight between the average delay time and the energy consumption of the vehicle.

8. The aforementioned decision-making step is: The method according to claim 1, wherein the clock frequency, the first computation amount, and the second computation amount are determined using time-based dynamic optimization techniques.

9. The aforementioned decision-making step is: The method according to claim 1, wherein the clock frequency, the first amount of computation, and the second amount of computation are determined to correspond to the case in which the minimum value is obtained among the following: a first objective function value of the vehicle when the computation amount is not transmitted from the computing device to the edge and the cloud, a second objective function value of the vehicle when the entire amount of computation is transmitted from the computing device to the edge, and a third objective function value of the vehicle when the entire amount of computation is transmitted from the computing device to the cloud, using a pre-set objective function.

10. The aforementioned decision-making step is: The method according to claim 1, wherein the clock frequency of the in-vehicle computing device, a first amount of computation to be transmitted from the computing device to the edge, and a second amount of computation to be transmitted from the computing device to the cloud are determined using a neural network model that uses the first and second elements as input values.

11. At least one memory, Includes at least one processor, The aforementioned at least one processor is A computing device that obtains at least one time-independent first element, obtains at least one time-dependent second element with a predetermined time interval as its period, and uses the at least one first element and the at least one second element to determine the clock frequency of the in-vehicle computing device, a first amount of computation transmitted from the computing device to the edge, and a second amount of computation transmitted from the computing device to the cloud, which minimizes the energy consumption of the vehicle, using a first function relating to the energy consumed according to the clock frequency of the in-vehicle computing device and a second function relating to the energy consumed when the computing device transmits computation amounts to the edge and the cloud, transmits the first amount of computation to the edge, transmits the second amount of computation to the cloud, and performs calculations based on the clock frequency.

12. A computer-readable recording medium that stores a program for causing a computer to perform the method described in claim 1.