Method and apparatus for determining 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, reducing energy consumption and ensuring stable computational processing through edge and cloud distribution.
Patent Information
- Application Number
- JP2024560940
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-10-24
- Filing Date
- 2023-12-21
- Publication Date
- 2025-11-28
- Estimated Expiration
- 2043-12-21
AI Technical Summary
Existing methods for computational load distribution in autonomous vehicles face challenges in minimizing energy consumption and network delays, leading to potential accidents due to processing delays and increased energy consumption.
A method and apparatus for determining optimal load balancing by acquiring time-independent and time-dependent elements to determine a clock frequency that minimizes energy consumption, distributing computations to edges and clouds, and using time-based dynamic optimization techniques like Lyapunov optimization.
This approach reduces energy consumption and ensures stable computational processing by optimizing load distribution to edges and clouds, minimizing delays and enhancing service compatibility.
Smart Images

Figure 2025538328000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a method and apparatus for determining optimal load balancing within a vehicle. [Background technology]
[0002] In recent years, with the development of autonomous vehicles, the types of services that require processing during driving, such as lane keeping and emergency braking, are becoming more diverse. In addition, the amount of calculation required for the processing of each service is also increasing. Computing devices such as ECUs (Electronic Control Units) in autonomous vehicles must process the amount of calculations required for services that require real-time processing within a set time frame. Delays in the computational processes of computing devices can increase the risk of accidents, such as stopping the operation of autonomous vehicles.
[0003] However, installing a high-performance computing device inside the vehicle to solve this problem increases the energy consumption of the vehicle and leads to increased installation costs. As a result, research into edge computing has been actively conducted recently. Edge computing is a technology that helps reduce the computational load of in-vehicle services by distributing the amount of computation required to be processed by in-vehicle computing devices to computing nodes such as edges and clouds installed near repeaters via vehicle communications.
[0004] However, there are problems with the network delays used to distribute the computational load from the in-vehicle computing device to the edge and cloud, as well as the potential for delays when the edge and cloud process the computational load.
[0005] As described above, there is a need for research into a method for distributing computational loads in vehicles that can minimize the energy consumption of the vehicles, taking into account the delay in transmitting computational loads and the delay in processing computational loads. Summary of the Invention [Problem to be solved by the invention]
[0006] The present disclosure provides a method and apparatus for determining optimal load balancing within a vehicle. The problems to be solved by the present invention are not limited to the problems described above, and other problems and advantages of the present invention not mentioned above can be understood from the following description and will be more clearly understood by embodiments of the present invention. Furthermore, it will be understood that the problems and advantages to be solved by the present invention can be achieved by the means and combinations thereof set forth in the claims. [Means for solving the problem]
[0007] As a technical means for achieving the above-mentioned technical problem, a first aspect of the present disclosure can provide a device for determining optimal load balancing within a vehicle, the device including: a step of acquiring at least one first element that is not dependent on time; a step of acquiring at least one second element that is dependent on time with a predetermined time interval as a period; a step of 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 energy consumption of the vehicle, a first amount of computation to be transmitted from the computing device to an edge, and a second amount of computation to be transmitted from the computing device to a cloud; a step of transmitting the first amount of computation to the edge and transmitting the second amount of computation to the cloud; and a step of performing computation based on the clock frequency.
[0008] A second aspect of the present disclosure provides an optimal load balancing determination device in a vehicle, the device including at least one memory and at least one processor, wherein the at least one processor acquires at least one first element that is time-independent, acquires at least one second element that is time-dependent with a predetermined time interval as a period, and determines, 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 energy consumption of the vehicle, a first amount of computation to be transmitted from the computing device to an edge, and a second amount of computation to be transmitted from the computing device to a cloud, and transmits the first amount of computation to the edge, transmits the second amount of computation to the cloud, and performs computation based on the clock frequency.
[0009] A third aspect of the present disclosure can provide a computer-readable recording medium having recorded thereon a program for causing a computer to execute the method according to the first aspect.
[0010] In addition, other methods for implementing the present invention, other systems, and computer readable recording media storing computer programs for carrying out the methods may also be provided. Further aspects, features, and advantages will become apparent from the following drawings, claims, and detailed description of the invention. [Effects of the Invention]
[0011] According to the above-described means for solving the problem of the present disclosure, the present disclosure allows the amount of calculations required to be processed by an in-vehicle computing device to be offloaded to the edge and the cloud so that the vehicle's energy consumption can be minimized.
[0012] In addition, in the present disclosure, the time required to offload the computational load from the in-vehicle computing device to the edge and the cloud, and the time required to process the computational load on the vehicle computing device, the edge, and the cloud, respectively, can be set as constraints, thereby ensuring the stability of the vehicle.
[0013] In addition, the present disclosure can improve the service compatibility of a computing device by determining the amount of calculation to be offloaded from the computing device to the edge and the cloud, taking into account the characteristics of the service that requires processing by the in-vehicle computing device. [Brief explanation of the drawings]
[0014] [Figure 1] 1 is a conceptual diagram illustrating a method for distributing the amount of calculation of an in-vehicle calculation device according to an embodiment; [Figure 2] 1 is a block diagram of an apparatus for distributing in-vehicle computational load according to one embodiment; [Figure 3] 1 is an exemplary block diagram of a system including an in-vehicle computing device and an external device according to one embodiment. [Figure 4] 1 is a flowchart illustrating a method for distributing a computation load within a vehicle according to an embodiment. [Figure 5] 1 is a flowchart illustrating a method for distributing a computation load within a vehicle using constraints according to an embodiment. [Figure 6] FIG. 2 is an exemplary diagram illustrating a time-independent first element, a time-dependent second element, and constraints according to one embodiment. [Figure 7] FIG. 10 is an exemplary diagram illustrating a method for determining a time interval in which a second element is obtained according to one embodiment. [Figure 8] 10 is a flowchart illustrating a method for distributing computation load within a vehicle by comparing energy consumption of a vehicle depending on whether the vehicle is off-road capable, according to an embodiment; DETAILED DESCRIPTION OF THE INVENTION
[0015] A method according to one embodiment of the present disclosure can acquire at least one first element that is not dependent on time, acquire at least one second element that is dependent on time with a predetermined time interval as a period, determine a clock frequency of the in-vehicle computing device that minimizes energy consumption of the vehicle based on the at least one first element and the at least one second element, a first amount of computation to be transmitted from the computing device to an edge, and a second amount of computation to be transmitted from the computing device to a cloud, transmit the first amount of computation to the edge, transmit the second amount of computation to the cloud, and perform computation based on the clock frequency.
[0016] The advantages and features of the present invention, as well as methods for achieving them, will become more apparent from the detailed description of the embodiments accompanied by the accompanying drawings. However, the present invention is not limited to the embodiments presented below, and can be embodied in various different forms, and it should be understood that the present invention includes all modifications, equivalents, and alternatives within the spirit and technical scope of the present invention. The embodiments presented below are provided to fully disclose the present invention and to fully convey the scope of the invention to those skilled in the art to which the present invention pertains. In describing the present invention, if a detailed description of related publicly known technology is considered to obscure the gist of the present invention, such detailed description 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. The singular expressions include the plural expressions unless the context clearly dictates otherwise. In this application, terms such as "comprise" or "have" are intended to specify the presence of features, numbers, steps, operations, components, parts, or combinations thereof described herein, and should be understood not to preclude the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.
[0018] Some embodiments of the present disclosure may be represented by functional blocks and various processing steps. Some or all of these functional blocks may be implemented in any number of hardware and / or software configurations that perform specific functions. For example, the functional blocks of the present disclosure may be implemented by one or more microprocessors or by circuit configurations for a given function. Furthermore, for example, the functional blocks of the present disclosure may be implemented in various programming or scripting languages. The functional blocks may be implemented by algorithms executed by one or more processors. Furthermore, the present disclosure may employ conventional techniques for electronic configuration, signal processing, and / or data processing. Terms such as "mechanism," "element," "means," and "configuration" may be used broadly and are not limited to mechanical and physical configurations.
[0019] Furthermore, the connecting lines or members between components shown in the figures are merely exemplary functional and / or physical or circuit connections, and in an actual device the connections between components may be represented by various interchangeable or additional functional, physical, or circuit connections.
[0020] Hereinafter, "vehicle" may refer to any type of transport having a mechanism (e.g., an engine) and used to move people or goods, such as a car, bus, motorcycle, scooter, or truck.
[0021] The present disclosure will now be described in detail with reference to the accompanying drawings. FIG. 1 is a conceptual diagram for explaining a method for distributing the amount of calculation for a calculation device in a vehicle according to an embodiment. Referring to FIG. 1, a vehicle 10 may be provided with a computing device 20 . For example, the computing device 20 may correspond to a device that plays a role in controlling functions necessary for the running of the vehicle 10, such as an electronic control unit (ECU).
[0022] The computing device 20 can acquire a processing request computation amount 50. Here, the processing request computation amount 50 means a computation amount that the computing device 20 is requested to process. For example, the computing device 20 can acquire the processing request computation amount 50 from another computing device in the vehicle 10.
[0023] Recently, with the development of autonomous vehicles 10, the amount of calculations that the computing device 20 in the vehicle 10 must process is increasing. For example, services such as an emergency braking system and an automatic lane keeping system that can be provided by being included in the autonomous vehicle 10 may increase the burden on the computing device 20 when performing calculations compared to conventional vehicles.
[0024] There may be a delay in the time required for the computing device 20 to process a large amount of calculations. However, if a delay occurs in the processing of a service directly related to the safety of the vehicle 10, such as an emergency braking system, there may be a problem in that the risk of an accident occurring in the autonomous vehicle 10 may increase sharply.
[0025] This allows the computing device 20 in the vehicle 10 to offload the processing request computation amount 50 to an external device. Here, offloading means distributing a 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 road side unit (RSU).
[0026] By offloading the processing request calculation amount 50 to an external device such as an edge 40 or a cloud 30, the calculation device 20 can not only reduce the risk of an accident occurring in the vehicle 10, but also minimize the energy consumption of the vehicle 10.
[0027] However, in order for the computing device 20 to offload the processing request computation amount 50, various factors must be taken into consideration, such as the current state of the network connecting the computing device 20, the edge 40, and the cloud 30, the computational processing capabilities of the edge 40 and the cloud 30, and the energy consumption of the vehicle 10. As a result, active research is being conducted on load-balancing, which determines whether offloading is possible and the amount of computation to be offloaded.
[0028] Conventionally, offloading has been performed assuming an ideal network environment without considering quality of service (QoS), including communication network latency and communication stability. However, in a real network environment, when multiple vehicles simultaneously perform offloading, signal interference between the vehicles may occur, resulting in a degradation of communication performance. For example, if insufficient consideration is given to latency that occurs in the network used in the offloading process, offloading may actually increase the energy consumption of the vehicle 10 and reduce the stability of the vehicle's computational execution.
[0029] As a result, the computing device 20 of the present disclosure can determine whether 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 to be processed by the computing device 20, the rate at which the computation amount is transmitted from the computing device 20 to the edge 40, and the rate at which the computation amount is transmitted from the computing device 20 to the cloud 30 can change over time. By determining whether 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 device 20 may process the processing request computation amount 50 through a clock frequency that can minimize the energy consumption of the vehicle 10. Here, the clock frequency refers to the generation period of a clock pulse used to synchronize the operations of components included in the computing device 20. For example, the computing device 20 may determine a clock frequency that can minimize the energy consumption of the vehicle 10 while offloading part of the processing request computation amount 50 to the edge 40 and the cloud 30 and processing the remaining computation amount within a preset average delay time.
[0031] In addition, the computing device 20 can use a time-based dynamic optimization technique when determining whether to offload the amount of computation to the edge 40 and the cloud 30 and the clock frequency of the computing device 20. Here, the time-based dynamic optimization technique refers to a technique for optimally controlling a system that dynamically changes over time. For example, the time-based dynamic optimization technique can include Lyapunov optimization.
[0032] The Lyapunov optimization technique uses a Lyapunov function to optimally control a system that changes over time. The Lyapunov function is a function widely used to ensure system stability, and the value of this function increases as the system stability decreases. Therefore, the computing device 20 can determine whether to offload the computational load to the edge 40 and the cloud 30 and the clock frequency in a direction in which the value of the Lyapunov function decreases toward zero.
[0033] FIG. 2 is a block diagram of an apparatus for distributing in-vehicle computation according to one embodiment. Referring to FIG. 2, an apparatus 100 for distributing a computation load within a vehicle 10 includes a processor 110, a memory 120, and a communication module 130. For convenience of explanation, FIG. 2 shows only components related to the present invention. Therefore, in addition to the components shown in FIG. 2, other general-purpose components may also be included in the apparatus 100. Furthermore, it is apparent to those skilled in the art that the processor 110, the memory 120, and the communication module 130 shown in FIG. 2 may be implemented as independent devices. Furthermore, the apparatus 100 in FIG. 2 may be the same device as the computing device 20 in FIG. 1.
[0034] Processor 110 may process computer program instructions, where the instructions may be provided from memory 120 or an external device, by performing basic arithmetic, logic, and input / output operations. Additionally, processor 110 may provide overall control over the operation of other components included in device 100.
[0035] For example, the processor 110 can determine the clock frequency of the computing device 20 that minimizes the energy consumption of the vehicle 10, the first amount of computation to be transmitted from the computing device 20 to the edge 40, and the second amount of computation to be transmitted from the computing device 20 to the cloud 30, based on a first factor that is not dependent on time and a second factor that is dependent on time. In addition, the processor 110 can use a time-based dynamic optimization technique in the process of determining the clock frequency of the computing device 20, the first amount of computation to be transmitted from the computing device 20 to the edge 40, and the second amount of computation to be transmitted from the computing device 20 to the cloud 30 described above.
[0036] Furthermore, when determining the clock frequency, the first computation amount, and the second computation amount, the processor 110 can set constraints so that the average delay time, which is the delay time for performing computation, is equal to or less than a predetermined time. For example, the processor 110 can determine the average delay time based on the queue lengths of the computing device 20, the edge 40, and the cloud 30.
[0037] Furthermore, processor 110 can determine the predetermined time interval based on the amount of change in the time-dependent second factor. For example, processor 110 can change the predetermined time interval if the time-dependent second factor has changed beyond a preset range.
[0038] Furthermore, the processor 110 can determine the clock frequency of the computing device 20, the first amount of computation to be transmitted from the computing device 20 to the edge 40, and the second amount of computation to be transmitted from the computing device 20 to the cloud 30 using a neural network model that uses a time-independent first element and a time-dependent second element as input values.
[0039] Processor 110 may be implemented with an array of logic gates or with a general-purpose microprocessor in combination with memory that stores programs executable by the microprocessor. For example, 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, processor 110 may include an application-specific integrated circuit (ASIC), a programmable logic device (PLD), a field-programmable gate array (FPGA), etc. For example, processor 110 may 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 such configuration.
[0040] The memory 120 may include any non-transitory computer-readable recording medium. As an example, the memory 120 may include a permanent mass storage device such as a random access memory (RAM), a read-only memory (ROM), a disk drive, a solid state drive (SSD), or a flash memory. As another example, a permanent mass storage device such as a ROM, an SSD, a flash memory, or a disk drive may be a separate permanent storage device distinct from the memory. The memory 120 may also store an operating system (OS) and at least one program code (e.g., code for causing the processor 110 to perform the operations described below with reference to FIGS. 3 to 8). For example, the memory 120 may store at least one first time-independent element used to determine the amount of computation to offload from the computing device 20 to the edge 40 and the cloud 30.
[0041] Such software components may be loaded from a computer-readable recording medium separate from memory 120. Such a separate computer-readable recording medium may be a recording medium directly connectable to device 100, and may include, for example, an input / output computer-readable recording medium such as a floppy drive, a disk, a tape, a DVD / CD-ROM drive, or a memory card. Alternatively, the software components may be loaded into memory 120 via communication module 130 rather than a computer-readable recording medium. For example, at least one program may be loaded into memory 120 based on a computer program (e.g., a computer program for causing processor 110 to perform the operations described below with reference to FIGS. 3 to 8) installed by a file provided via communication module 130 by a developer or a file distribution system that distributes application installation files.
[0042] The communication module 130 may provide configurations or functions for the device 100 to communicate with external devices (not shown) via a network. Furthermore, the communication module 130 may provide configurations or functions for the device 100 to communicate with other external devices. For example, control signals, instructions, data, etc. provided under the control of the processor 110 may be transmitted to the external devices via the communication module 130 and the network.
[0043] FIG. 3 is an exemplary block diagram of a system including an in-vehicle computing device and an external device according to one embodiment. 3, the computing device 310 may include any type of server that manages a web and / or app that can provide artificial intelligence services, and may be the same device as the computing device 20 in FIG.
[0044] In one embodiment, the computing device 310 may be an electronic device embedded within the vehicle 10. For example, the computing device 310 may be a device that is inserted into the vehicle 10 via tuning after the manufacturing process.
[0045] In another embodiment, the processes performed by computing device 310 may be performed by at least a portion of a mobile electronic device, an electronic device embedded within vehicle 10, and a server located external to vehicle 10.
[0046] The external device 320 may refer to an entity that provides information necessary for the computing device 310 to determine a clock frequency, a first amount of computation to be transmitted from the computing device 310 to the edge 40, and a second amount of computation to be transmitted from the computing device 310 to the cloud 30. The external device 320 may include any type of server that manages various information. The 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, the external device 320 may correspond to another computing device included in the vehicle 10.
[0047] Furthermore, the external device 320 may refer to an entity to which a computation amount is transmitted from the computing device 310. For example, the external device 320 may correspond to the edge 40 and the cloud 30 to which the computation amount offloaded from the computing device 310 is transmitted.
[0048] The computing device 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 with each other smoothly, and can include wired Internet, wireless Internet, and mobile wireless communication networks. For example, the network can include a local area network (LAN), a wide area network (WAN), a value-added network (VAN), a mobile radio communication network, a satellite communication network, and combinations thereof. Wireless communication can include, but is not limited to, wireless LAN (Wi-Fi), Bluetooth (registered trademark), Bluetooth Low Energy, ZigBee (registered trademark), Wi-Fi Direct (WFD), Ultra Wideband (UWB), Infrared Data Association (IrDA), and Near Field Communication (NFC).
[0049] The arithmetic device 310 can communicate with the external device 320 via a network. By communicating via the network, the arithmetic device 310 can receive data from the external device 320 and can determine whether to offload the amount of calculation based on the received data.
[0050] FIG. 4 is a flowchart illustrating a method for distributing the amount of computation within a vehicle according to an embodiment. 4, the method for distributing the computational load within vehicle 10 comprises steps that are processed in time series by device 100 and / or processor 110 shown in Fig. 2. Therefore, even if the content is omitted below, the content described above regarding device 100 or processor 110 shown in Fig. 2 can also be applied to the method for distributing the computational load within vehicle 10 of Fig. 4.
[0051] In step 410, the processor 110 may obtain at least one first element that is not time dependent. Here, the first element is an element that does not change over time and may include, but is not limited to, GPU usage by services that require processing by the processor 110, the computing power of the edge 40, and the computing power of the cloud 30.
[0052] For example, the processor 110 may obtain the first element from another computing device within the vehicle 10. Additionally, the processor 110 may obtain the first element from, but is not limited to, an external database.
[0053] In step 420, the processor 110 may obtain at least one second element that is time-dependent with a period of a predetermined time interval. Here, the second element is an element that changes over time, and may include, but is not limited to, the amount of computation required to be processed by the computing device 20, the rate at which the amount of computation is transmitted from the computing device 20 to the edge 40, the rate at which the amount of computation is transmitted from the computing device 20 to the cloud 30, the queue length of the computing device 20, the queue length of the edge 40, and the queue length of the cloud 30.
[0054] The first and second elements will be described in detail below with reference to FIG. In step 430, the processor 110 can determine, based on at least one first element and at least one second element, a clock frequency of the computing device 20 that minimizes the energy consumption of the vehicle 10, a first amount of computation to be transmitted from the computing device 20 to the edge 40, and a second amount of computation to be transmitted from the computing device 20 to the cloud 30. For example, the processor 110 can determine the clock frequency, the first amount of calculation, and the second amount of calculation using a preset formula.
[0055] The equations shown above in FIG. 8 will now be described in detail. Furthermore, the processor 110 may determine the clock frequency, the first amount of computation, and the second amount of computation using a neural network model.
[0056] For example, the processor 110 can use a first element that is time-independent and a second element that is time-dependent as input data for the neural network model. The processor 110 can obtain the output clock frequency, the first amount of calculation, and the second amount of calculation by inputting the first element and the second element to the neural network model.
[0057] In machine learning technology and cognitive science, a neural network model refers to a statistical learning algorithm implemented based on the structure of a biological neural network, or a structure that executes such an algorithm.
[0058] For example, a neural network model can represent a model with problem-solving capabilities by learning so that nodes, which are artificial neurons formed through synaptic connections, repeatedly adjust synaptic weights and reduce the error between the correct output corresponding to a specific input and the inferred output, similar to a biological neural network. For example, a neural network model can include any probability model or neural network model used in artificial intelligence learning such as machine learning and deep learning.
[0059] For example, the neural network model can be implemented using a multilayer perceptron (MLP) composed of multiple 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 an MLP. For example, the neural network model can be composed 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 layer and the output layer 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 may transmit the determined first computational amount to the edge 40 and the determined second computational amount to the cloud 30 .
[0061] In step 450, the processor 110 may perform operations based on the determined clock frequency. For example, the processor 110 can calculate the remaining amount of calculations required to be processed based on the determined clock frequency, excluding the first amount of calculations sent to the edge 40 and the second amount of calculations sent to the cloud 30.
[0062] FIG. 5 is a flowchart illustrating a method for distributing the amount of computation within a vehicle using constraint conditions according to an embodiment. 5, the method for distributing the computational load within the vehicle 10 using the constraints comprises steps that are processed in time series by the device 100 and / or the processor 110 shown in Fig. 2. Therefore, even if the content is omitted below, the content described above regarding the device 100 or the processor 110 shown in Fig. 2 can also be applied to the method for distributing the computational load within the vehicle 10 using the constraints of Fig. 5.
[0063] In step 510, the processor 110 may obtain at least one first element that is not time dependent.
[0064] In step 520, the processor 110 may obtain at least one second element that is time-dependent with a period of a predetermined time interval.
[0065] In step 530, the processor 110 can determine, based on at least one first element and at least one second element, a clock frequency of the computing device 20 that minimizes the energy consumption of the vehicle 10, a first amount of computation to be transmitted from the computing device 20 to the edge 40, and a second amount of computation to be transmitted from the computing device 20 to the cloud 30.
[0066] In step 540, the processor 110 may determine whether the determined clock frequency, the first amount of computation, and the second amount of computation satisfy the constraints.
[0067] For example, the processor 110 can determine whether a preset constraint is met when offloading a first amount of computation to the edge 40 and a second amount of computation to the cloud 30 and performing the computation based on the determined clock frequency.
[0068] For example, the processor 110 can set an average delay time as a constraint, where the average delay time may include a first time that is delayed on average in transmitting a computation amount from the computing device 20 to the edge 40 and the cloud 30, and a second time that is required on average for the computing device 20, the edge 40, and the cloud 30 to process the computation amount.
[0069] Conventionally, the average delay time was not taken into consideration in the process of offloading computational load, which resulted in a problem that it may take an excessive amount of time for a vehicle to process a service 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 calculation, and the second amount of calculation so that the service that the computing device 20 is requested to process can be processed within a preset time.
[0071] Here, the average delay time can be determined based on the queue lengths of the computing device 20, the edge 40, and the cloud 30 included in the second element. For example, the processor 110 may determine the average delay time using Little's Law, which is a fundamental principle of queuing theory and is used to evaluate and predict the performance of queuing systems.
[0072] As an example, the processor 110 can use Little's Law to determine the average delay time according to the following Equation 1:
number
[0073] For example, the processor 110 can obtain the average delay time of the edge 40 by dividing the average queue length of the edge 40 by the average rate at which the amount of calculation is input to the edge 40. In this way, the processor 110 can adjust the queue length of the edge 40 to set the average delay time of the edge 40 to a predetermined time or less.
[0074] If the constraint is not met, then in step 530, the processor 110 may again determine the clock frequency, the first amount of computation, and the second amount of computation of the processor 110. For example, if the average delay time exceeds a preset time, the processor 110 can again determine the clock frequency, the first amount of calculation, and the second amount of calculation so that the average delay time is equal to or less than the preset time.
[0075] If the constraint is met, then in step 550 the processor 110 may send the first computational amount to the edge 40 and the second computational amount to the cloud 30 .
[0076] In step 560, the processor 110 may perform operations based on the determined clock frequency. For example, the processor 110 can calculate the remaining amount of calculations required to be processed based on the clock frequency, excluding the first amount of calculations sent to the edge 40 and the second amount of calculations sent to the cloud 30.
[0077] FIG. 6 is an exemplary diagram illustrating a time-independent first element, a time-dependent second element, and a constraint according to one embodiment. Referring to FIG. 6, a table 600 shows elements included in the first element that are not time-dependent, elements included in the second element that are time-dependent, and conditions included in the constraints.
[0078] Referring to table 600, the first element that does not depend on time is the GPU usage (γ) of the service that requires processing by the computing device 20, the computing power of the edge 40 (s j ), Cloud 30's computing power (s k ) and a weight determination parameter (V). For example, services that require processing by the computing device 20 may include, but are not limited to, services such as emergency braking systems and automotive lane keeping systems.
[0079] Furthermore, GPU usage may vary depending on the service that is required to be processed by the computing device 20. For example, GPU usage by an emergency braking system may be higher than GPU usage by an automotive lane keeping system.
[0080] The weight determination parameter is a parameter that can determine the weight between the energy consumption and the average delay time of the vehicle 10. For example, the user can arbitrarily input a weight determination parameter having a higher value for an element that the user wants to assign a higher weight to, between the energy consumption and the average delay time of the vehicle 10, to the calculation device 20. Furthermore, when the energy consumption of the vehicle 10 increases, the calculation device 20 can determine the first calculation amount and the second calculation amount by assigning a higher weight to the energy consumption of the vehicle 10.
[0081] The second factor that depends on time is the processing requirement 50 (a i (t)), the transmission speed of the amount of calculation from the calculation device 20 to the edge 40 (r ij (t)), the computational load transmission rate (o i (t)), the queue length of the arithmetic unit 20 (Q i (t)), the queue length of edge 40 (Q j (t)) and the queue length of Cloud30 (Q k (t)) can include, but are not limited to:
[0082] Here, the processing request calculation amount 50 means the calculation amount that the calculation device 20 must process according to time. The device can acquire a second element that is time-dependent with a predetermined time interval as a period. Constraints may include, but are not limited to, average transmission delay and average processing delay.
[0083] Here, the average transmission delay time means the average delay time in transmitting the amount of calculation from the calculation device 20 to the edge 40 and the cloud 30. Also, the average processing delay time means the average time required for the calculation device 20, the edge 40, and the cloud 30 to process the amount of calculation.
[0084] For example, the device can determine the clock frequency of the computing device 20 that minimizes the energy consumption of the vehicle 10, the first amount of computation to be transmitted from the computing device 20 to the edge 40, and the second amount of computation to be transmitted from the computing device 20 to the cloud 30, within a range that satisfies the constraint of the average delay time.
[0085] FIG. 7 is an exemplary diagram illustrating a method for determining a time interval during which a second element is obtained according to an embodiment. 7, a calculation device 700 can acquire a second element that depends on time with a predetermined time interval as a period. The calculation device 700 in FIG. 7 may be the same device as the calculation device 20 in FIG.
[0086] In addition, the calculation device 700 can determine the clock frequency of the calculation device 700, the first amount of calculation to be transmitted from the calculation device 700 to the edge 40, and the second amount of calculation to be transmitted from the calculation device 700 to the cloud 30 based on a first element that is independent of time and a second element that is dependent on time, with a predetermined time interval as a period.
[0087] Furthermore, the arithmetic device 700 may determine a predetermined time interval based on the amount of change in the second element for each time interval determination cycle 750. For example, the computing device 700 may obtain a second element and make a second decision after a first period 710 has elapsed since the first decision 730 .
[0088] However, after a time interval determination period 750 has elapsed since the first determination, the first period 710, which was the predetermined time interval, can be changed to a second period 720. For example, if the processing requirement calculation amount 50 at the time of the third determination is reduced by more than half compared to the first determination 730, the calculation device 700 determines that the determination period needs to be reduced, and can determine a second period 720 longer than the first period 710 for a predetermined time interval.
[0089] This allows the computing device 700 to make the fourth decision 740 after the second period 720 has elapsed since the third decision, rather than the first period 710.
[0090] FIG. 8 is a flowchart illustrating a method for distributing computation loads within a vehicle by comparing energy consumption of the vehicle depending on whether the vehicle is off-road capable, according to an embodiment. 8, the method for distributing the computational load within the vehicle 10 depending on whether or not it is possible to go off-road comprises steps that are processed in time series by the arithmetic device 100 and / or the processor 110 shown in FIG. 2. Therefore, even if the content is omitted below, the content described above regarding the arithmetic device 100 or the processor 110 shown in FIG. 2 can also be applied to the method for distributing the computational load within the vehicle 10 depending on whether or not it is possible to go off-road, as shown in FIG.
[0091] In step 810, the processor 110 may obtain a first time-independent element.
[0092] In step 820, the processor 110 may obtain a second element that is time-dependent with a period of a predetermined time interval.
[0093] In step 830, based on the first element and the second element, the processor 110 can calculate a first objective function value of the vehicle 10 for a first case in which the calculation is performed on the calculation device 20 without transmitting the calculation amount from the calculation device 20 to the edge 40 and the cloud 30, a second objective function value of the vehicle 10 for a second case in which all the calculation amount is transmitted from the calculation device 20 to the edge 40, and a third objective function value of the vehicle 10 for a third case in which all the calculation amount is transmitted from the calculation device 20 to the cloud 30. Here, the objective function values refer to values calculated taking into consideration the energy consumption, queue length, and calculation throughput of the vehicle.
[0094] As an example, the processor 110 calculates the first objective function value, the second objective function value, and the third objective function value according to the following Equation 2.
number
number
[0095] Also,
number
[0096] For example, in the first case where the calculation is performed by the calculation device 20 without transmitting the calculation amount from the calculation device 20 to the edge 40 and the cloud 30, the processor 110 adds Θ ij (t) and σ i (t) can be substituted to calculate the first objective function value.
[0097] For example, the energy consumption of the vehicle 10 for the first case is calculated using the following Equation 3.
number
[0098] In the second case where all the computation amounts are transmitted from the computing device 20 to the edge 40, the processor 110 adds Θ ij (t)=1 and σ i The second objective function value can be calculated by substituting (t)=0. In the third case where all the computational loads are transmitted from the computing device 20 to the cloud 30, the processor 110 adds Θ ij (t)=0 and σ i The third objective function value can be calculated by substituting (t)=1.
[0099] In step 840, the processor 110 may 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 calculations using the determined clock frequency without offloading the amount of calculations required to be processed to the edge 40 and the cloud 30. If the second objective function value has a minimum value (861), then in step 862 the processor 110 can offload all of the computational effort required to be processed to the edge 40. If the third objective function value has a minimum value (871), then in step 872 the processor 110 may offload all of the computational effort required to be processed to the cloud 30.
[0100] Embodiments of the present invention may be implemented in the form of a computer program executable on a computer via various components, and such a computer program may be recorded on a computer-readable medium, which 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 specially configured to store and execute program instructions, such as ROM, RAM, and flash memory.
[0101] On the other hand, the computer program may be one specially designed and constructed for the present invention, or it may be one that is well known and available to those skilled in the art of computer software. Examples of computer programs include not only machine code, such as produced by a compiler, but also high-level language code that can be executed by a computer using an interpreter, etc.
[0102] According to one embodiment, methods according to various embodiments of the present disclosure may be provided in a computer program product. The computer program product may be traded as a commodity between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., a compact disc read-only memory (CD-ROM)) or may be distributed 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 may be at least temporarily stored or temporarily generated in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store server, or an intermediary server.
[0103] Unless explicitly stated or stated to the contrary, steps constituting a method according to the present invention may be performed in any suitable order. The present invention is not necessarily limited to the order of the steps described. The use of all examples or exemplary terms (e.g., etc.) in the present invention is merely for the purpose of explaining the present 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 variations can be made according to design conditions and factors within the scope of the appended claims or their equivalents.
[0104] Therefore, the spirit of the present invention should not be limited to the above-described embodiments, and not only the scope of the claims described below, but also all scopes equivalent to or modified equivalently from the scope of the claims can be said to fall within the scope of the spirit of the present invention.
Claims
1. obtaining at least one first element that is time independent; obtaining at least one second element that is time-dependent with a period of a predetermined time interval; determining a clock frequency of the in-vehicle computing device that minimizes energy consumption of the vehicle, a first amount of computation to be transmitted from the computing device to an edge, and a second amount of computation to be transmitted from the computing device to a cloud based on the at least one first factor and the at least one second factor; Sending the first computation amount to the edge and the second computation amount to the cloud; performing a calculation based on the clock frequency; A method for determining optimal load balancing for computing devices in a vehicle, comprising:
2. The first element is The computing device includes a GPU usage amount by a service that requires processing, a computing capacity of the edge, and a computing capacity of the cloud, The second element is 2. The method of claim 1, comprising: a computational amount required to be processed by the computing device; a computational amount transmission rate from the computing device to the edge; a computational amount transmission rate from the computing device to the cloud; a queue length of the computing device; a queue length of the edge; and a queue length of the cloud.
3. The determining step includes: determining the clock frequency, the first amount of calculation, and the second amount of calculation with an average delay time as a constraint; The average delay time is 2. The method of claim 1, comprising at least one of a first time delay on average in transmitting a computation amount from the computing device to the edge and the cloud, and a second time required on average for the computing device, the edge, and the cloud to process the computation amount.
4. The average delay time is The method of claim 3 , wherein the determination is based on queue lengths of the computing device, the edge, and the cloud.
5. The average delay time is 4. The method of claim 3, wherein processing on the computing device is configured according to a required service.
6. The determining step includes:
2. The method of claim 1, using a first function for energy consumed by a clock frequency of the computing device, an energy consumed when the computing device transmits the computational load to the edge, and a second function for energy consumed when the computing device transmits the computational load to the cloud.
7. The predetermined time interval is The method of claim 1 , wherein the determination is based on the amount of change in the second element.
8. The determining step includes: The method according to claim 1 , further comprising determining the clock frequency, the first amount of calculation, and the second amount of calculation in consideration of a parameter that determines a weight between an average delay time and an energy consumption of the vehicle.
9. The determining step includes: The method of claim 1 , wherein the clock frequency, the first computational complexity, and the second computational complexity are determined using a time-based dynamic optimization technique.
10. The determining step includes:
2. The method of claim 1, wherein the clock frequency, the first amount of calculation, and the second amount of calculation are determined by comparing a first objective function value of the vehicle when no calculation amount is transmitted from the computing device to the edge and the cloud, a second objective function value of the vehicle when all calculation amounts are transmitted from the computing device to the edge, and a third objective function value of the vehicle when all calculation amounts are transmitted from the computing device to the cloud.
11. The determining step includes:
2. The method of claim 1, further comprising: determining a 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 using a neural network model that uses the first element and the second element as input values.
12. at least one memory; at least one processor; The at least one processor A computing device that acquires at least one first element that is not dependent on time, acquires at least one second element that is dependent on time with a predetermined time interval as a period, determines a clock frequency of the in-vehicle computing device that minimizes energy consumption of the vehicle based on the at least one first element and the at least one second element, determines a first amount of computation to be transmitted from the computing device to an edge, and a second amount of computation to be transmitted from the computing device to a cloud, transmits the first amount of computation to the edge, transmits the second amount of computation to the cloud, and performs computation based on the clock frequency.
13. A computer-readable recording medium having recorded thereon a program for causing a computer to execute the method of claim 1.
Citation Information
Patent Citations
Energy consumption optimization computing method and system based on mobile edge computing and energy consumption optimization unloading method and system based on mobile edge
CN111836284A
An edge-cloud collaborative data transmission method for AGV mobility in smart factory scenarios.
CN112153595B
Task unloading method based on bilateral matching under edge cloud collaboration
CN113961266A
MEC-assisted intelligent resource management method in vehicle networking communication system
CN114826454A
Heterogeneous Internet of Vehicles edge computing unloading scheduling method based on multi-objective optimization
CN114863683A