Method and apparatus for determining optimal load balancing in vehicle

The method optimizes load balancing in autonomous vehicles by adjusting clock frequencies and offloading computations to minimize energy consumption and delay risks, addressing the challenges of increasing computational demands and potential accidents.

WO2025089501A1PCT designated stage expired Publication Date: 2025-05-01DAEGU GYEONGBUK INSTITUTE OF SCIENCE AND TECHNOLOGY
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2023/021288
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-10-24
Filing Date
2023-12-21
Publication Date
2025-05-01

AI Technical Summary

Technical Problem

The increasing computational demands in autonomous vehicles due to diverse services like lane maintenance and emergency braking lead to potential delays, increasing the risk of accidents. Current solutions, such as installing high-performance computing devices, result in higher energy consumption and increased costs.

Method used

The method involves determining optimal load balancing by obtaining time-independent and time-dependent elements, adjusting the clock frequency of in-vehicle computing devices, and offloading computational tasks to the edge and cloud, while minimizing energy consumption and ensuring timely processing.

Benefits of technology

This approach reduces the risk of accidents by minimizing delays in processing critical vehicle services, while also lowering energy consumption and installation costs by optimizing computational offloading.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2023021288_01052025_PF_FP_ABST
    Figure KR2023021288_01052025_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure relates to a method and apparatus for determining optimal load balancing in a vehicle. According to an embodiment of the present disclosure, the method for determining optimal load balancing of an operation amount in a vehicle may be provided, the method comprising the steps of: acquiring at least one time-independent first element; acquiring at least one time-dependent second element with a predetermined time period as a cycle; determining, on the basis of the at least one first element and the at least one second element, a clock frequency of an operation device in the vehicle, which minimizes energy consumption of the vehicle, a first operation amount to be transmitted from the operation device to an edge, and a second operation amount to be transmitted from the operation device to a cloud; transmitting the first operation amount to the edge and transmitting the second operation amount to the cloud; and performing an operation on the basis of the clock frequency.
Need to check novelty before this filing date? Find Prior Art

Description

Method and device for determining optimal load balancing in a vehicle

[0001] The present disclosure relates to a method and device for determining optimal load balancing in a vehicle.

[0002] With the recent advancement of autonomous vehicles, the types of services requiring processing during driving, such as lane keeping and emergency braking, are diversifying. Furthermore, the computational load required to process each service is also increasing.

[0003] Computing devices, such as Electronic Control Units (ECUs) in autonomous vehicles, must process the computational workload of services requiring real-time processing within a set timeframe. Delays in these devices can increase the risk of accidents, such as the vehicle's shutdown.

[0004] The installation of high-performance computing devices inside vehicles to solve these problems has the problem of increasing the vehicle's energy consumption and increasing installation costs.

[0005] Accordingly, research on edge computing is actively underway. Edge computing is a technology that can help alleviate the vehicle's computational load by distributing the computational load required from in-vehicle computing devices to edge and cloud-based computing nodes installed near relay stations via vehicle communication.

[0006] However, there is a problem that there may be delay in the network used to distribute the computational load from the in-vehicle computing device to the edge and cloud, as well as delay in the edge and cloud processing the computational load.

[0007] As described above, there is a need for research on a method for distributing computational load in a vehicle that can minimize the energy of the vehicle by considering the time delay in transmitting the computational load and the time delay in processing the computational load.

[0008] The present disclosure provides a method and device for determining optimal load balancing within a vehicle. The problems addressed by the present invention are not limited to those mentioned above. Other problems and advantages of the present invention, not mentioned above, can be understood through the following description and will be more clearly understood through embodiments of the present invention. Furthermore, it will be appreciated that the problems and advantages addressed by the present invention can be realized by the means and combinations thereof set forth in the claims.

[0009] As a technical means for achieving the above-described technical problem, a first aspect of the present disclosure may provide a device including a method for determining optimal load balancing in a vehicle, the method comprising: obtaining at least one first element independent of time; obtaining at least one second element dependent on time at predetermined time intervals; determining, based on the at least one first element and the at least one second element, a clock frequency of an 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; transmitting the first amount of computation to the edge, and transmitting the second amount of computation to the cloud; and performing computation based on the clock frequency.

[0010] A second aspect of the present disclosure provides a communication device of a receiving ECU of a vehicle, comprising: at least one memory; and at least one processor; wherein the at least one processor obtains at least one first element that is independent of time, obtains at least one second element that is dependent on time at a predetermined time interval, and determines, based on the at least one first element and the at least one second element, a clock frequency of an 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, 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.

[0011] A third aspect of the present disclosure can provide a computer-readable recording medium having recorded thereon a program for executing the method according to the first aspect on a computer.

[0012] In addition, other methods for implementing the present invention, other systems, and computer-readable recording media storing a computer program for executing the method may be further provided.

[0013] Other aspects, features and advantages other than those described above will become apparent from the following drawings, claims and detailed description of the invention.

[0014] According to the problem solving means of the present disclosure described above, the present disclosure can offload the amount of computation required to be processed in the in-vehicle computation device to the edge and cloud so as to minimize the energy consumption of the vehicle.

[0015] In addition, in the present disclosure, the stability of the vehicle can be guaranteed by setting constraints on the time required to offload the computational load from the in-vehicle computational unit to the edge and cloud, and the time required to process the computational load in the vehicle computational unit, edge, and cloud, respectively.

[0016] In addition, in the present disclosure, by considering the characteristics of services requiring processing in an in-vehicle computing device, the amount of computation to be offloaded from the computing device to the edge and cloud can be determined, thereby increasing the service compatibility of the computing device.

[0017] Figure 1 is a conceptual diagram for explaining a method for distributing the amount of computation of an in-vehicle computation device according to one embodiment.

[0018] FIG. 2 is a block diagram of a device for distributing computational load within a vehicle according to one embodiment.

[0019] FIG. 3 is an exemplary configuration diagram of a system including an in-vehicle computing device and an external device according to one embodiment.

[0020] Figure 4 is a flowchart for explaining a method for distributing computational amounts within a vehicle according to one embodiment.

[0021] FIG. 5 is a flowchart for explaining a method for distributing computational load within a vehicle using constraints according to one embodiment.

[0022] FIG. 6 is an exemplary diagram illustrating a time-independent first element, a time-dependent second element, and constraints according to one embodiment.

[0023] FIG. 7 is an exemplary diagram illustrating a method for determining a time period during which a second element is acquired according to one embodiment.

[0024] FIG. 8 is a flowchart for explaining a method for distributing computational load within a vehicle by comparing energy consumption of the vehicle depending on whether or not offloading is performed according to one embodiment.

[0025] According to one embodiment of the present disclosure, a method can obtain at least one first element that is independent of time, and can obtain at least one second element that is dependent on time at a predetermined time interval, and based on the at least one first element and the at least one second element, can determine a clock frequency of an 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, and can 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.

[0026] The advantages and features of the present invention, and the methods for achieving them, will become clearer with reference to the embodiments described in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments presented below, but may be implemented in various different forms, and it should be understood that it includes all transformations, equivalents, and substitutes included in the spirit and technical scope of the present invention. The embodiments presented below are provided to ensure that the disclosure of the present invention is complete and to fully inform those skilled in the art of the scope of the invention. In describing the present invention, if a detailed description of a related known technology is judged to obscure the gist of the present invention, the detailed description thereof will be omitted.

[0027] The terminology used in this application is only used to describe specific embodiments and is not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly indicates otherwise. In this application, it should be understood that the terms "comprise" or "have" indicate the presence of a feature, number, step, operation, component, part, or combination thereof described in the specification, but do not preclude the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.

[0028] Some embodiments of the present disclosure may be represented by functional block configurations and various processing steps. Some or all of these functional blocks may be implemented by various 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 that execute on 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.

[0029] Additionally, the connecting lines or connecting members between components depicted in the drawings are merely exemplary representations of functional connections and / or physical or circuit connections. In an actual device, connections between components may be represented by various functional connections, physical connections, or circuit connections that may be replaced or added.

[0030] Hereinafter, 'vehicle' may mean any type of transportation means that has a mechanism (e.g., an engine) and is used to move people or things, such as a car, bus, motorcycle, kickboard or truck.

[0031] The present disclosure will be described in detail with reference to the attached drawings below.

[0032] Figure 1 is a conceptual diagram for explaining a method for distributing the amount of computation of an in-vehicle computation device according to one embodiment.

[0033] Referring to FIG. 1, an operation device (20) may be installed in a vehicle (10).

[0034] For example, the operating device (20) may correspond to a device that performs the role of controlling functions necessary for driving a vehicle (10), such as an electronic control unit (ECU).

[0035] The computing device (20) can obtain a processing required computation amount (50). Here, the processing required computation amount (50) refers to the computation amount that the computing device (20) is required to process. For example, the computing device (20) can obtain the processing required computation amount (50) from another computing device within the vehicle (10).

[0036] With the recent development of autonomous vehicles (10), the amount of computation that must be processed by the computing device (20) within the vehicle (10) is increasing. For example, services such as emergency braking systems and automatic lane keeping systems that autonomous vehicles (10) can provide may increase the burden on the computing device (20) to perform computations compared to conventional vehicles.

[0037] When the computing device (20) processes a large amount of computation, a delay in the time required may occur. However, if a delay occurs in the processing of services directly related to the safety of the vehicle (10), such as an emergency braking system, a problem may arise in that the risk of an accident occurring in the autonomous vehicle (10) may increase dramatically.

[0038] Accordingly, the computing device (20) within the vehicle (10) can offload the processing demand computation amount (50) to an external device. Here, offloading 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).

[0039] The computing device (20) can reduce the risk of an accident occurring in the vehicle (10) by offloading the processing required computation amount (50) to an external device such as an edge (40) and a cloud (30), and can also minimize the energy consumption of the vehicle (10).

[0040] However, in order for the computing device (20) to offload the processing demand computation amount (50), it is necessary to consider various factors such as the current status of the network connecting the computing device (20), the edge (40), and the cloud (30), the computational processing capacity of the edge (40) and the cloud (30), and the energy consumption of the vehicle (10). Accordingly, research on load balancing, which determines whether or not offloading is performed and the computation amount to be offloaded, is being actively conducted.

[0041] In the past, offloading was performed under the assumption of an ideal network environment without considering the Quality of Service (QoS), which includes communication network delay and communication stability. However, in an actual network environment, when multiple vehicles offload simultaneously, signal interference between vehicles may occur, which may degrade communication performance. For example, if there is insufficient consideration for delays occurring in the network used during the offloading process, offloading may actually increase the energy consumption of the vehicle (10) and reduce the stability of the vehicle's computational performance.

[0042] Accordingly, the computing device (20) of the present disclosure can determine whether to offload to the edge (40) and the cloud (30) by considering factors that change over time. For example, factors such as the amount of computation required to be processed by the computing device (20), the computation amount transfer speed from the computing device (20) to the edge (40), and the computation amount transfer speed from the computing device (20) to the cloud (30) may change over time. By determining whether to offload by considering these time-dependent factors, the computing device (20) can minimize the energy consumption of the vehicle (10).

[0043] In addition, the computing device (20) can process the processing required computation amount (50) through a clock frequency that can minimize the energy consumption of the vehicle (10). Here, the clock frequency means the generation cycle of a clock pulse used to synchronize the operations of the components included in the computing device (20). For example, the computing device (20) can determine a clock frequency that can minimize the energy consumption of the vehicle (10) while offloading the processing required computation amount (50) to the edge (40) and the cloud (30) and processing the remaining computation amount within a preset average delay time.

[0044] Additionally, the computing device (20) can use a time-based dynamic optimization technique to determine whether to offload the computational load to the edge (40) and cloud (30) and the clock frequency of the computing device (20).

[0045] Here, time-based dynamic optimization techniques refer to techniques for optimally controlling systems that dynamically change over time. For example, time-based dynamic optimization techniques may include Lyapunov optimization.

[0046] Lyapunov optimization is a technique for optimally controlling a system that changes over time using the Lyapunov function. The Lyapunov function is a function widely used to ensure the stability of a system, and when the stability of the system decreases, the value of this function increases. Accordingly, the computational unit (20) can determine whether to offload the computational load to the edge (40) and cloud (30) and the clock frequency in a direction in which the value of the Lyapunov function decreases toward 0.

[0047]

[0048] FIG. 2 is a block diagram of a device for distributing computational load within a vehicle according to one embodiment.

[0049] Referring to FIG. 2, a device (100) for distributing computational load within a vehicle (10) includes a processor (110), a memory (120), and a communication module (130). For convenience of explanation, only components related to the present invention are illustrated in FIG. 2. Therefore, in addition to the components illustrated in FIG. 2, other general-purpose components may be further included in the device (100). In addition, it will be apparent to those skilled in the art that the processor (110), memory (120), and communication module (130) illustrated in FIG. 2 may be implemented as independent devices. In addition, the device (100) of FIG. 2 may be the same device as the computational device (20) of FIG. 1.

[0050] The processor (110) can process computer program commands by performing basic arithmetic, logic, and input / output operations. Here, the commands can be provided from memory (120) or an external device. In addition, the processor (110) can generally control the operations of other components included in the device (100).

[0051] For example, the processor (110) may determine the clock frequency of the computing device (20) that minimizes 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 element that is time-independent and a second element that is time-dependent. In addition, the processor (110) may 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).

[0052] In addition, the processor (110) may set constraints so that the average delay time, which is the time delayed in performing the calculation, is less than a predetermined time when determining the clock frequency, the first calculation amount, and the second calculation amount. For example, the processor (110) may determine the average delay time based on the queue length of the calculation unit (20), the edge (40), and the cloud (30).

[0053] Additionally, the processor (110) may determine a predetermined time period based on the amount of change in a time-dependent second element. For example, the processor (110) may change the predetermined time period if the time-dependent second element changes beyond a preset range.

[0054] Additionally, the processor (110) can use a neural network model that uses a time-independent first element and a time-dependent second element as input values ​​to 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).

[0055] The processor (110) may be implemented as an array of a plurality of logic gates, or may be implemented as a combination of a general-purpose microprocessor and a memory storing a program that can be executed on the 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 application-specific integrated circuit (ASIC), a programmable logic device (PLD), a field programmable gate array (FPGA), etc. For example, the 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 a plurality of microprocessors, a combination of one or more microprocessors coupled with a digital signal processor (DSP) core, or any other such combination of configurations.

[0056] The memory (120) may include any non-transitory computer-readable recording medium. For example, the memory (120) may include a non-permanent mass storage device such as a random access memory (RAM), a read only memory (ROM), a disk drive, a solid state drive (SSD), a flash memory, etc. As another example, the non-permanent mass storage device such as a ROM, an SSD, a flash memory, a disk drive, etc. may be a separate permanent storage device distinct from the memory. In addition, the memory (210) may store an operating system (OS) and at least one program code (e.g., code for 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 element that is independent of time and is used to determine the amount of computation to be offloaded from the computing device (20) to the edge (40) and the cloud (30).

[0057] These software components may be loaded from a computer-readable recording medium separate from the memory (120). This separate computer-readable recording medium may be a recording medium that can be directly connected to the 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, a memory card, etc. Alternatively, the software components may be loaded into the memory (120) through a communication module (130) other than a computer-readable recording medium. For example, at least one program may be loaded into the memory (120) based on a computer program (e.g., a computer program for the processor (110) to perform the operations described below with reference to FIGS. 3 to 8) that is installed by files provided by developers or a file distribution system that distributes installation files of applications through the communication module (130).

[0058] The communication module (130) may provide a configuration or function for the device (100) to communicate with an external device (not shown) via a network. In addition, the communication module (130) may provide a configuration or function for the device (100) to communicate with another external device. For example, control signals, commands, data, etc. provided under the control of the processor (110) may be transmitted to an external device via the communication module (130) and the network.

[0059]

[0060] FIG. 3 is an exemplary configuration diagram of a system including an in-vehicle computing device and an external device according to one embodiment.

[0061] Referring to FIG. 3, the computing device (310) may include any type of server that manages a web and / or app capable of providing artificial intelligence services. Furthermore, the computing device (310) of FIG. 3 may be the same device as the computing device (20) of FIG. 1.

[0062] 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 inserted into the vehicle (10) through tuning after the production process.

[0063] In another embodiment, the process performed in the computing device (310) may be performed by at least some of a mobile electronic device, an electronic device embedded in the vehicle (10), and a server located outside the vehicle (10).

[0064] The external device (320) may refer to an entity that provides information necessary for the computing device (310) to determine the clock frequency, the first amount of computation to be transmitted from the computing device (310) to the edge (40), and the 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 types of information. The external device (320) may include a database and may include a server that manages a web service API that can provide information, but is not limited thereto. For example, the external device (320) may correspond to another computing device included in the vehicle (10).

[0065] Additionally, the external device (320) may refer to a subject that receives the amount of computation from the computation device (310). For example, the external device (320) may correspond to an edge (40) and a cloud (30) that receive the amount of computation offloaded from the computation device (310).

[0066] The computing device (310) and the external device (320) can communicate with each other and / or with other devices through a network. A network is a comprehensive data communication network that allows different entities to communicate smoothly with each other, and may include a wired Internet, a wireless Internet, and a mobile radio communication network. For example, the network may 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 a combination thereof. In addition, wireless communication may include, but is not limited to, wireless LAN (Wi-Fi), Bluetooth, Bluetooth Low Energy, ZigBee, Wi-Fi Direct (WFD), ultrawideband (UWB), infrared communication (IrDA; Infrared Data Association), NFC (Near Field Communication), etc.

[0067] The computing device (310) can communicate with an external device (320) via a network. The computing device (310) can receive data from the external device (320) by communicating via a network, and can determine whether to offload the amount of computation based on the received data.

[0068]

[0069] Figure 4 is a flowchart for explaining a method for distributing computational amounts within a vehicle according to one embodiment.

[0070] Referring to FIG. 4, the method for distributing the amount of computation within a vehicle (10) is composed of steps that are processed in time series in the device (100) and / or processor (110) illustrated in FIG. 2. Therefore, even if the content is omitted below, the content described above with respect to the device (100) or processor (110) illustrated in FIG. 2 can also be applied to the method for distributing the amount of computation within a vehicle (10) of FIG. 4.

[0071] At step 410, the processor (110) can obtain at least one first element that is time independent.

[0072] Here, the first element is an element that does not change over time, and may include, but is not limited to, GPU usage according to a service requiring processing from the processor (110), computational processing capability of the edge (40), and computational processing capability of the cloud (30).

[0073] For example, the processor (110) may obtain the first element from another computing device within the vehicle (10). In addition, the processor (110) may obtain the first element from an external database, but is not limited thereto.

[0074] At step 420, the processor (110) can obtain at least one time-dependent second element periodically at a predetermined time interval.

[0075] 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 computational device (20), the computational amount transfer speed from the computational device (20) to the edge (40), the computational amount transfer speed from the computational device (20) to the cloud (30), the queue length of the computational device (20), the queue length of the edge (40), and the queue length of the cloud (30).

[0076] Below, the first element and the second element are described in detail in Fig. 6.

[0077] At 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 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).

[0078] For example, the processor (110) can determine the clock frequency, the first calculation amount, and the second calculation amount using a preset formula.

[0079] Below, the formula described above in Fig. 8 is described in detail.

[0080] Additionally, the processor (110) can determine the clock frequency, the first computation amount, and the second computation amount using a neural network model.

[0081] For example, the processor (110) can use a time-independent first element and a time-dependent second element as input data of a neural network model. The processor (110) can obtain an output clock frequency, a first computation amount, and a second computation amount by inputting the first element and the second element into the neural network model.

[0082] 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 the algorithm.

[0083] For example, a neural network model can represent a model with problem-solving capabilities. Nodes, artificial neurons that form a network by combining synapses, similar to biological neural networks, repeatedly adjust the weights of synapses to learn to reduce the error between the correct output corresponding to a specific input and the inferred output. For example, a neural network model can include any probabilistic model used in artificial intelligence learning methods such as machine learning and deep learning, as well as neural network models.

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

[0085] At step 440, the processor (110) can transmit the determined first operation amount to the edge (40) and transmit the determined second operation amount to the cloud (30).

[0086] At step 460, the processor (110) can perform an operation based on the determined clock frequency.

[0087] For example, the processor (110) can calculate the remaining calculation amount, excluding the first calculation amount transmitted to the edge (40) and the second calculation amount transmitted to the cloud (30), based on the determined clock frequency among the calculation amounts required for processing.

[0088]

[0089] FIG. 5 is a flowchart for explaining a method for distributing computational load within a vehicle using constraints according to one embodiment.

[0090] Referring to FIG. 5, the method for distributing the amount of computation within a vehicle (10) using constraints is composed of steps that are processed in time series in the device (100) and / or processor (110) illustrated in FIG. 2. Therefore, even if the content is omitted below, the content described above with respect to the device (100) or processor (110) illustrated in FIG. 2 can also be applied to the method for distributing the amount of computation within a vehicle (10) using constraints of FIG. 5.

[0091] At step 510, the processor (110) can obtain at least one first element that is time independent.

[0092] At step 520, the processor (110) can obtain at least one time-dependent second element periodically at a predetermined time interval.

[0093] At 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 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).

[0094] At step 540, the processor (110) can determine whether the determined clock frequency, the first operation amount, and the second operation amount satisfy the constraints.

[0095] For example, when the processor (110) offloads the first amount of computation to the edge (40), offloads the second amount of computation to the cloud (30), and performs the computation based on the determined clock frequency, it can determine whether the preset constraints are satisfied.

[0096] For example, the processor (110) may set an average delay time as a constraint. Here, the average delay time may include a first time that is averagely delayed in transmitting the computational amount from the computational device (20) to the edge (40) and the cloud (30) and a second time that is averagely required for the computational device (20), the edge (40), and the cloud (30) to process the computational amount.

[0097] Previously, average delay time was not considered when offloading computational load. This led to the problem that vehicles could take excessive time to process services through offloading.

[0098] However, the processor (110) can set the average delay time as a constraint, and determine the clock frequency, the first calculation amount, and the second calculation amount so that the service requested to be processed by the operation unit (20) can be processed within a preset time.

[0099] Here, the average delay time can be determined based on the queue length of the computational unit (20), edge (40), and cloud (30) included in the second element.

[0100] For example, the processor (110) can determine the average delay time using Little's Law. Little's Law is a basic principle of queuing theory and is used to evaluate and predict the performance of a queuing system.

[0101] As an example, the processor (110) can determine the average delay time using Little's law through the following mathematical expression 1.

[0102]

[0103]

[0104] 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 speed at which the amount of computation is input to the edge (40). Through this, the processor (110) can determine the average delay time of the edge (40) to be less than or equal to a preset time by adjusting the queue length of the edge (40).

[0105] If the constraint is not satisfied, at step 530, the processor (110) can re-determine the clock frequency, the first computation amount, and the second computation amount of the processor (110).

[0106] For example, if the average delay time exceeds the 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 becomes less than or equal to the preset time.

[0107] If the constraint is satisfied, at step 550, the processor (110) can transmit the first amount of computation to the edge (40) and the second amount of computation to the cloud (30).

[0108] At step 560, the processor (110) can perform an operation based on the determined clock frequency.

[0109] For example, the processor (110) can calculate the remaining calculation amount based on the clock frequency, excluding the first calculation amount transmitted to the edge (40) and the second calculation amount transmitted to the cloud (30) from among the calculation amounts required for processing.

[0110]

[0111] FIG. 6 is an exemplary diagram illustrating a time-independent first element, a time-dependent second element, and constraints according to one embodiment.

[0112] Referring to FIG. 6, table (600) represents elements included in a time-independent first element, elements included in a time-dependent second element, and conditions included in constraints.

[0113] Referring to Table (600), the first time-independent element is the GPU usage according to the service that requires processing in the computing device (20). ), the computational processing power of the edge (40) ( ), cloud (30) computational processing power ( ) and weight determination parameters (V), but are not limited thereto.

[0114] For example, services requiring processing in the computing device (20) may include, but are not limited to, services such as an emergency braking system and an automatic lane keeping system.

[0115] Additionally, GPU usage may vary depending on the service requiring processing from the computing device (20). For example, GPU usage for an emergency braking system may be higher than GPU usage for an automatic lane keeping system.

[0116] In addition, 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, a user can arbitrarily input a weight determination parameter having a higher value to the element to which he or she wants to assign a higher weight between the energy consumption and the average delay time of the vehicle (10) into the calculation device (20). In addition, 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).

[0117] The second time-dependent factor is the processing required computational load (50)( ), the transfer speed of the amount of computation from the computational unit (20) to the edge (40) ( ), the speed of transferring the amount of computation from the computational device (20) to the cloud (30) ( ), the queue length of the operation unit (20) ( ), the queue length of the edge (40) ) and the queue length of the cloud (30) ) may include, but are not limited to.

[0118] Here, the processing required computation amount (50) means the computation amount that the computation device (20) must process over time.

[0119] The device can acquire a time-dependent second element at a predetermined time interval.

[0120] Constraints may include, but are not limited to, average transmission delay and average processing delay.

[0121] Here, the average transmission delay time refers to the average time it takes to transmit the computational amount from the computational device (20) to the edge (40) and the cloud (30). In addition, the average processing delay time refers to the average time it takes for the computational device (20), the edge (40), and the cloud (30) to process the computational amount.

[0122] For example, the device can determine the clock frequency of the computing device (20) that minimizes energy consumption of the vehicle (10) within a range that satisfies the constraint of average delay time, 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).

[0123]

[0124] FIG. 7 is an exemplary diagram illustrating a method for determining a time period during which a second element is acquired according to one embodiment.

[0125] Referring to FIG. 7, the calculation device (700) can obtain a time-dependent second element at a predetermined time interval. The calculation device (700) of FIG. 7 may be the same device as the calculation device (20) of FIG. 1.

[0126] In addition, the calculation device (700) can determine the clock frequency of the calculation device (700), the first calculation amount to be transmitted from the calculation device (700) to the edge (40), and the second calculation amount to be transmitted from the calculation device (700) to the cloud (30) based on a first element that is time-independent and a second element that is time-dependent, with a predetermined time interval as a cycle.

[0127] Additionally, the calculation device (700) can determine a predetermined time period based on the amount of change in the second element for each time period determination cycle (750).

[0128] For example, the operation unit (700) can obtain the second element and perform the second decision after a time equivalent to the first cycle (710) has elapsed from the first decision (730).

[0129] However, after the time interval decision period (750) has elapsed from the first decision, the first period (710), which was a predetermined time interval, may be changed to the second period (720).

[0130] For example, if the processing required computational amount (50) for the third decision is reduced by more than half compared to the first decision (730), the computational device (700) determines that the decision cycle needs to be reduced, and can determine a second cycle (720) longer than the first cycle (710) as a predetermined time period.

[0131] Accordingly, the calculation device (700) can perform the fourth decision (740) after the second cycle (720), not the first cycle (710), has elapsed from the third decision.

[0132]

[0133] FIG. 8 is a flowchart for explaining a method for distributing computational load within a vehicle by comparing energy consumption of the vehicle depending on whether or not offloading is performed according to one embodiment.

[0134] Referring to FIG. 8, the method for distributing the amount of computation within a vehicle (10) depending on whether offloading is performed is composed of steps that are processed in time series in the computational device (100) and / or the processor (110) illustrated in FIG. 2. Therefore, even if the content is omitted below, the content described above regarding the computational device (100) or the processor (110) illustrated in FIG. 2 can also be applied to the method for distributing the amount of computation within a vehicle (10) depending on whether offloading is performed in FIG. 8.

[0135] At step 810, the processor (110) can obtain a time-independent first element.

[0136] At step 820, the processor (110) can obtain a time-dependent second element at a predetermined time interval.

[0137] At step 830, the processor (110) can calculate a first objective function value of the vehicle (10) for a first case in which the computation is performed in the computation device (20) without transmitting the computation amount from the computation 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 the entire computation amount is transmitted from the computation device (20) to the edge (40), and a third objective function value of the vehicle (10) for a third case in which the entire computation amount is transmitted from the computation device (20) to the cloud (30), based on the first element and the second element. Here, the objective function value means a value calculated in consideration of the vehicle's energy consumption, queue length, and computation throughput.

[0138] As an example, the processor (110) can calculate the first objective function value, the second objective function value, and the third objective function value through the following mathematical expression 2.

[0139]

[0140]

[0141] Here, refers to the clock frequency of the computing device (20) in the vehicle (10). In addition, refers to a first function for energy consumed according to the clock frequency of the operating device (20).

[0142] also, refers to a second function for the energy consumed when the computational device (20) transmits the computational amount to the edge (40) and the energy consumed when the computational device (20) transmits the computational amount to the cloud (30).

[0143] For example, in the first case where the computation is performed in the computation device (20) without transferring the computation amount from the computation device (20) to the edge (40) and the cloud (30), the processor (110) is in mathematical expression 1. and The first objective function value can be calculated by substituting .

[0144] For example, the energy consumption of the vehicle (10) for the first case is as shown in mathematical expression 3 below.

[0145]

[0146]

[0147] For example, the processor (110) may be configured to operate at a clock frequency ( ) that minimizes the energy consumption of the vehicle (10). ) can be determined. In addition, the processor (110) can calculate the first objective function value by substituting the determined clock frequency into mathematical expression 3.

[0148] Also, in the second case where all computational amounts are transferred from the computational unit (20) to the edge (40), the processor (110) is in mathematical expression 1. and The second objective function value can be calculated by substituting .

[0149] Also, in the third case where all computational amounts are transferred from the computational unit (20) to the edge (40), the processor (110) is in mathematical expression 1. and The third objective function value can be calculated by substituting .

[0150] At step 840, the processor (110) can compare the values ​​of the first objective function value, the second objective function value, and the third objective function value.

[0151] If the first objective function value has a minimum value (851), in step 852, the processor (110) can perform the operation using the determined clock frequency without offloading the amount of computation required to be processed to the edge (40) and cloud (30).

[0152] If the second objective function value has a minimum value (861), in step 862, the processor (110) can offload all the computational amount required for processing to the edge (40).

[0153] If the third objective function value has a minimum value (871), in step 872, the processor (110) can offload all the computational amount required for processing to the cloud (30).

[0154] Embodiments of the present invention may be implemented in the form of a computer program that can be executed through various components on a computer, and such a computer program may 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 specifically configured to store and execute program instructions, such as ROMs, RAMs, and flash memories.

[0155] Meanwhile, the computer program may be specifically designed and constructed for the present invention, or may be one known and available to those skilled in the computer software field. Examples of computer programs may include not only machine language code, such as that generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.

[0156] According to one embodiment, the method according to various embodiments of the present disclosure may be provided as included in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read-only memory (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) through 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 temporarily stored or temporarily generated in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.

[0157] Unless the steps constituting the method according to the present invention are explicitly described in a specific order or are not described to the contrary, the steps may be performed in any appropriate order. 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., "for example," etc.) in the present invention is merely intended to illustrate the present invention in detail, and the scope of the present invention is not limited by the examples or exemplary terms unless otherwise defined by the claims. Furthermore, those skilled in the art will appreciate that various modifications, combinations, and variations can be configured according to design conditions and factors within the scope of the appended claims or their equivalents.

[0158] Therefore, the idea of ​​the present invention should not be limited to the embodiments described above, and all scopes equivalent to or equivalently modified from the following claims as well as the claims are considered to fall within the scope of the idea 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 by giving a predetermined time interval; A step of determining a clock frequency of an in-vehicle computing device that minimizes energy consumption of the vehicle based on at least one first element and at least one second element, 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; A step of transmitting the first computation amount to the edge and transmitting the second computation amount to the cloud; and A step of performing an operation based on the above clock frequency; A method for determining optimal load balancing of an in-vehicle computing device, including:

2. In paragraph 1, The first element is, Includes GPU usage according to the service required for processing in the above computing device, computing processing capability of the edge, and computing processing capability of the cloud. The second element is, A method including the amount of computation required to be processed by the above computational device, the computational amount transfer speed from the above computational device to the edge, the computational amount transfer speed from the above computational device to the cloud, the queue length of the above computational device, the queue length of the edge, and the queue length of the cloud.

3. In paragraph 1, The above decision step is, The clock frequency, the first computation amount and the second computation amount are determined with the average delay time as a constraint, The above average delay time is, A method comprising at least one of a first time delay on average in transmitting the computational amount from the computational device to the edge and the cloud and a second time delay on average in processing the computational amount by the computational device, the edge and the cloud.

4. In paragraph 3, The above average delay time is, A method wherein the length of the queue of the above-mentioned computing device, the edge, and the cloud is determined based on the length of the queue.

5. In paragraph 3, The above average delay time is, A method in which processing is set according to the service required by the above-mentioned computing device.

6. In paragraph 1, The above decision step is, A method using a first function for energy consumed according to the clock frequency of the above-mentioned computing device, a second function for energy consumed when the above-mentioned computing device transmits the amount of computation to the edge, and a second function for energy consumed when the above-mentioned computing device transmits the amount of computation to the cloud.

7. In paragraph 1, The above specified time period is, A method determined based on the amount of change in the second element.

8. In paragraph 1, The above decision step is, A method for determining the clock frequency, the first computation amount and the second computation amount by considering a parameter that determines a weight between the average delay time and the energy consumption of the vehicle.

9. In paragraph 1, The above decision step is, A method for determining the clock frequency, the first computational amount, and the second computational amount using a time-based dynamic optimization technique.

10. In paragraph 1, The above decision step is, A method for determining the clock frequency, the first computation amount, and the second computation amount by comparing a first objective function value of the vehicle when no computation amount is transmitted from the computation device to the edge and the cloud, a second objective function value of the vehicle when all computation amounts are transmitted from the computation device to the edge, and a third objective function value of the vehicle when all computation amounts are transmitted from the computation device to the cloud.

11. In paragraph 1, The above decision step is, A method for determining a clock frequency of an in-vehicle computing device, a first computation amount to be transmitted from the computing device to the edge, and a second computation amount 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; and comprising at least one processor; The above processor, A computing device that obtains at least one first element that is independent of time, obtains at least one second element that is dependent on time at predetermined time intervals, determines a clock frequency of an 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, 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 executing the method according to paragraph 1 on a computer.

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

  • Task unloading method based on bilateral matching under edge cloud collaboration

    CN113961266A

  • Heterogeneous Internet of Vehicles edge computing unloading scheduling method based on multi-objective optimization

    CN114863683A

  • Auto Repair LASER Processing Apparatus and System

    KR102420665B1