WO2022075528A1 - 모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩 - Google Patents
모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩 Download PDFInfo
- Publication number
- WO2022075528A1 WO2022075528A1 PCT/KR2020/017849 KR2020017849W WO2022075528A1 WO 2022075528 A1 WO2022075528 A1 WO 2022075528A1 KR 2020017849 W KR2020017849 W KR 2020017849W WO 2022075528 A1 WO2022075528 A1 WO 2022075528A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- edge server
- offloading
- task
- work
- power
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/289—Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/59—Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
Definitions
- the description below relates to techniques for offloading tasks from mobile edge computing to edge servers.
- Augmented reality and smart traffic control systems based on connected Internet of Things (IoT) devices such as sensors, smart personal devices, and driverless vehicles are representative examples.
- IoT devices are growing rapidly, and it is predicted that by 2030, 500 billion smart IoT devices will be needed in smart city applications. These applications will have to deal with the vast amount of data that will be generated by smart IoT devices.
- Some IoT devices need to perform tasks that require fast computation. It also entails regular collection of sensor data that must be processed regularly. When computing capabilities are limited, these tasks may need to be offloaded to cloud servers. However, the latency imposed by the core network around a central server in the cloud means that a cloud-based approach may not be appropriate.
- the edge server (ES) located at the edge of the cloud produces the effect of reducing the load on the central server along with fast processing, so the demand for edge computing is expected to increase rapidly.
- Edge computing service can be implemented by placing an edge server at each base station (BS) or connecting the edge server to multiple base stations. This is called mobile edge computing (MEC). IoT devices located within range of these base stations can offload or access tasks from the base stations to edge servers.
- Edge Infrastructure Providers have started offering edge computing services to their customers.
- EIP installs edge servers at the edge of the cloud and uses them to deliver computing power to customers.
- the priority of operation on the server is determined according to the contractual agreement between EIP and the customer. It is necessary to determine which tasks are offloaded within the context of maximizing the total reward for EIP.
- the edge server is a remote micro data center, and the power consumption is expected to be 10kW. Thousands of such servers will consume megawatts, a major concern for EIP, so power limits are essential. The power drawn from the edge server remains below the predefined power limit. The power consumed by the server depends on the CPU utilization. This is determined by the workload of the server, which means it is determined by the number of offloaded operations that the edge server accepts.
- the maximum allowable CPU utilization rate of each edge server is based on the maximum allowable CPU utilization rate of each edge server set by examining the power characteristics of the edge server to formulate the optimization problem, and determining the edge server to execute each offloaded task It is possible to provide a method and system for estimating a reward in consideration of the power consumption associated with
- a task offloading method performed by a computer-implemented task offloading system includes the steps of: determining an edge server to execute an offloaded task based on power information of each edge server; and offloading the job according to the determined assignment information set in the edge server.
- the step of offloading the task comprises: determining allocation information including the maximum allowable utilization rate of each edge server and task allocation for maximizing the compensation of the edge server provider under the power limit of each edge server.
- the step of offloading the job may include determining the maximum allowable utilization rate of each edge server while giving high priority to offloading jobs with a high compensation ratio of the edge server provider for the power demand.
- the step of offloading the task may include searching for values of a maximum allowable utilization rate while satisfying a power constraint of each edge server.
- the step of offloading the task is to iteratively calculate the power increment and the reward increment from the task allocation, giving a higher reward to the power ratio until the power constraint is satisfied and the maximum allowable usage rate is determined at each edge server. and prioritizing the maximum allowable utilization value.
- the step of offloading the job may include searching for a value for each job for allocating the job to each edge server.
- the step of offloading the job includes the step of performing job assignment to the edge server using either a method that allows job partitioning using a minimum cost maximum flow graph or a method that does not allow job partitioning. may include
- the method for allowing the work partitioning is a process in which a residual graph is generated from the minimum cost maximum flow graph and the value and cost of a binary function to represent the flow between each node is initialized, using a shortest path and fastest algorithm to minimize the cost.
- an edge server is selected to process one of the sub-tasks constituting the job. The finishing process of updating the index value of the edge server to which the job is assigned can be performed.
- the method that does not allow partitioning of work operates on the minimum cost maximum flow graph, a minimum cost flow process that computes a minimum cost flow from a source vertex to a sink vertex, removes the work vertex associated with the minimum cost flow and uses capacity usage
- the process of updating the index value of the edge server to which the task is assigned and removing the edges associated with the flow can be performed.
- the computer-implemented job offloading system includes: a server determining unit configured to determine an edge server to execute an offloaded job based on power information of each edge server; and a job offloading unit for offloading a job according to the determined assignment information set in the edge server.
- the present invention determines the maximum utilization rate of each server, while giving high priority to offloading tasks with a high compensation ratio of the edge server provider to the power demand, and modeling the task allocation problem using the minimum cost maximum flow graph.
- FIG. 1 is a diagram for explaining a mobile edge computing structure according to an embodiment.
- FIG. 2 is a block diagram illustrating the configuration of a work offloading system according to an embodiment.
- FIG. 3 is a flowchart illustrating a task offloading method for maximizing compensation under an edge server limit power in mobile edge computing of a task offloading system according to an embodiment.
- FIG. 4 is a diagram illustrating a pseudo code for a maximum allowable utilization determination (MUD) algorithm in a work offloading system according to an embodiment.
- 5 is an example for explaining modeling an edge server allocation problem as a flow network in the task offloading system according to an embodiment.
- FIG. 6 is an example of a residual graph for representing a flow between tasks in a task offloading system according to an embodiment.
- FIG. 7 is a diagram illustrating a pseudo code for an edge server allocation algorithm when job division is permitted in the job offloading system according to an embodiment.
- FIG. 8 is a diagram illustrating a pseudo code for an edge assignment algorithm without job assignment in a job offloading system according to an embodiment.
- 9 to 14 are graphs for explaining the experimental results of the work offloading system according to an embodiment.
- the embodiment describes a method of offloading tasks to a server for the purpose of maximizing the compensation of an edge server provider within limited power consumption, server processing capacity, and wireless network coverage.
- FIG. 1 is a diagram for explaining a mobile edge computing structure according to an embodiment.
- Edge servers may be assigned to at least one or more base stations to handle tasks offloaded from IoT devices within the coverage of the base stations. If a job is offloaded from an edge server to an EIP (referred to as an 'edge server provider'), that edge server provider may be rewarded based on the amount of computation performed by the edge server. Otherwise, offloaded tasks are handed over to a central server in the cloud.
- EIP EIP
- the SPEC Power Committee provides tools and standards for measuring the energy consumption of edge servers. Energy measurements for edge servers have been collected since 2006 and the relationship between energy consumption and CPU utilization has been analyzed, and it has been found that this is strongly influenced by server characteristics.
- each job may calculate the amount of computation required for a certain time and receive a certain percentage of the processor capacity provided by the edge server. Job usage can be expressed as the numerator of the amount of calculation required for the job, and the total amount of calculation provided by the edge server for a certain period of time as the denominator. Each task can then use the processor capacity allocated for each cycle.
- N task represents the total number of tasks.
- U i and Assume that is an integer value. For this, we introduce the grain size as the smallest allocation unit and and U i can be expressed as multiples of grain. For example, if the grain size is 0.01, 100.
- CPU usage may be limited.
- a maximum allowable CPU utilization Y j can be introduced for each edge server j.
- Active power is the power consumed while the edge server is performing computational tasks, and it varies non-linearly with CPU utilization. Even when computation is not in progress, the edge server uses fixed idle power. Accordingly, when the usage rate in each edge server j is x (0 ⁇ x ⁇ 1), in order to express the active power factor, and to express the idle power factor of each edge server j can be used Accordingly, the power derived by each edge server j can be defined as follows according to the usage rate x.
- FIG. 2 is a block diagram for explaining the configuration of a task offloading system according to an embodiment
- FIG. 3 is a task off maximizing compensation under the edge server limit power in mobile edge computing of the task offloading system according to an embodiment. It is a flowchart for explaining the loading method.
- the processor of the task offloading system 100 may include a server determining unit 210 and a task offloading unit 220 . These processor components may be representations of different functions performed by the processor according to control instructions provided by program code stored in the task offloading system.
- the processor and components of the processor may control the task offloading system to perform steps 310 to 320 included in the task offloading method for maximizing compensation under the edge server limit power in the mobile edge computing of FIG. 3 .
- the processor and the components of the processor may be implemented to execute instructions according to the code of the operating system included in the memory and the code of at least one program.
- the processor may load into memory the program code stored in the program's file for a task offloading method that maximizes compensation under edge server limit power in mobile edge computing. For example, when a program is executed in the task offloading system 100 , the processor may control the task offloading system 100 to load a program code from a file of the program into the memory according to the control of the operating system. At this time, each of the processor and the server determining unit 210 and the task offloading unit 220 included in the processor executes the instruction of the corresponding part of the program code loaded in the memory to execute the subsequent steps 310 to 320 . may be different functional representations of the processor for
- the server determining unit 210 may determine an edge server to execute an offloaded job based on power information of each edge server ( 310 ), and the job offloading unit 220 may be configured according to allocation information set in the determined edge server.
- the task may be offloaded ( 320 ).
- each task may be assigned to an appropriate edge server in order to maximize the overall reward under the three constraints described below.
- Edge Server Processing Capacity The total usage of each edge server must not exceed the maximum allowed usage.
- P limit is the maximum total power of all edge servers allowed to be used.
- FIG. 4 a diagram illustrating a pseudo code for a maximum allowable utilization determination (MUD) algorithm.
- the task offloading system may determine the maximum allowable utilization rate. To solve the optimization problem, each task The value for X i and the maximum allowable utilization for each edge server j have to decide Each edge server j is It has a processing capacity, and X i and It is impractical to consider all combinations of Accordingly, we divide it into two subproblems.
- the utilization determination problem (UDP) is the maximum allowable utilization rate while satisfying energy constraints.
- to find the values of The edge server allocation problem (EAP) is It is to find X i values that assign to as an edge server.
- the class is Each edge server has a utilization value, and each utilization value is the sum of It is related to the power that cannot be exceeded and the compensation that must be maximized.
- MCKP is NP-complex.
- greedy algorithms based on profit-weight ratios usually perform well.
- the utilization determination problem is to iteratively calculate the power and compensation increments from the task allocation so that the power constraint in inequality (4) is satisfied and the maximum allowable utilization rate at each edge server j Priority may be given to utilization values that give higher rewards to power ratios until this is determined.
- a job offloading system can model the assignment of jobs to an edge server using a minimum cost maximum flow graph (MCMF).
- MCMF minimum cost maximum flow graph
- two possible edge allocation algorithms can be considered. Algorithms that allow task partitioning and those that do not. If task partitioning is allowed, the created subtasks can be assigned to different edge servers. work through modeling Is sub-tasks can be divided into The task offloading system conditioned the CPU usage of each subtask to have an integer value (just like the task's utilization value), so the task The maximum number of subtasks that can be partitioned is am. ( ) this subtask Let this be the index of allotted edge servers. Minimum Cost Maximum Flow Graph An optimal integer-based flow set can be found in the graph, which minimizes the maximum possible flow delivery cost. in line with these trends You can use this algorithm to determine the values.
- EAP becomes the multiple knapsack problem (MKP), in which items with different weights and profits must be assigned to knapsacks with limited capacity in order to maximize profits. can be reduced
- MKP multiple knapsack problem
- items are tasks, and the purpose of the edge server allocation problem is to maximize the total reward based on processing capacity on each edge server.
- MKCP multiple-choice knapsack problem
- MKP multiple knapsack problem
- the job offloading system can reuse a greedy algorithm that allocates jobs to edge servers based on the maximum reward value until no processing capacity is left.
- the purpose of the maximum allowable utilization determination (MUD) algorithm of FIG. 4 is to obtain a large reward with a small amount of power consumption.
- 5 is an example for explaining modeling an edge server allocation problem as a flow network in the task offloading system according to an embodiment.
- the task offloading system can create a Minimum Cost Maximum Flow Graph (MCMF).
- MCMF Minimum Cost Maximum Flow Graph
- EAP edge server allocation problem
- MCMF Minimum Cost Maximum Flow Graph
- max cost max flow graph is a flow network with source, sink and relay nodes connected directly to the edge.
- a source node has only an outward-facing edge
- a sink node has only an inward-facing edge.
- the edge from node a to node b has capacity and cost.
- the problem with the min-cost max flow graph is to find the set of flows from the source node to the sink node that maximizes the total flow at a low cost.
- the edge server allocation problem can be modeled as a flow network having the following four types of vertices as shown in FIG. 5 .
- single source vertex autumn work corresponding work vertex is the vertex of the edge server corresponding to edge server j is the vertex of the edge server corresponding to edge server j
- a single sink vertex t is the reward per unit of processing capacity used in edge server j.
- the source vertex s is connected to all working vertices.
- Each edge ( ) is the capacity and cost 0.
- each edge ( ) is the capacity and cost 0.
- the edge server allocation problem aims to maximize the total reward while satisfying the usage conditions on each edge server, and when division of work is allowed, the value , and when task division is not allowed, it can be solved by determining X i . Maximizing the total reward is the total cost is to minimize the
- FIG. 7 is a diagram illustrating a pseudo code for an edge server allocation algorithm when job division is permitted in the job offloading system according to an embodiment.
- EAA-TS Edge Server Allocation Algorithm
- SPFA shortest path faster algorithm
- a binary function f(a, b) is introduced to express the flow between vertices (nodes) a and b. If the value of f(a, b) is 1, then a flow exists.
- the shortest path fast algorithm requires a reverse path, since the path chosen at the time of algorithm execution is not part of the final flow, which can be reversed. Therefore, it is necessary to build a residual graph where each edge represents an allowable additional flow between two vertices and a reverse path is allowed.
- EAA-TS includes initialization, path augmentation, and finalization processes that operate before and after the shortest path fast algorithm.
- a residual graph is created from the minimum cost maximum flow graph (line 1) and the values of flow f(a, b) and cost C(a, b) are initialized (lines 5-9).
- Path Augmentation Use the minimum cost maximum flow graph to find the minimum cost flow (line 11). A corresponding path is created in the residual graph (line 15). And the flow is updated (lines 17-18). This process is repeated until the enhancement pathway p produced in GR is gone (line 12).
- FIG. 8 is a diagram illustrating a pseudo code for an edge assignment algorithm without job assignment in a job offloading system according to an embodiment.
- EAA-NTS Edge Allocation Algorithm without Work Partitioning
- Minimum cost flow The minimum cost flow f from the source vertex to the sink vertex is computed (line 5).
- 9 to 14 are graphs for explaining the experimental results of the work offloading system according to an embodiment.
- Simulations can be run to evaluate our scheme for power consumption and total compensation. To this end, it is possible to model the energy characteristics of four commercial servers released between 2019 and 2020. One of the characteristics of these commercial servers was randomly assigned to each edge server.
- a database of cell phone network location data was used to model the spatial relationship between edge servers and IoT devices. It contains the latitude, longitude, and IP addresses of 815 wireless access points (WAPs) and 125 base stations, which can be used to calculate the distance between WAPs and each base station.
- WAPs wireless access points
- EAA-TS algorithm ( FIG. 7 )
- EAA-NTS algorithm ( FIG. 8 )
- Both used a maximum allowable utilization determination algorithm to determine the maximum allowable usage on each edge server.
- these schemes are compared in the following four ways of allocating tasks to edge servers while limiting power consumption.
- RR + HR Red-Robin Allocation + Maximum Reward
- RA+HR random task assignment + maximum reward
- MUD+HR (MUD+High Reward) is similar to the Maximum Allowable Utilization Determination Algorithm except that the value is set so that the assignment of work that yields a higher reward is performed first. The values are continuously updated until the inequality (4) is not satisfied.
- MUD+HUR (MUD + high base reward) is similar to MUD+HR except that the value is set. The values are continuously updated until inequality (4) is not satisfied.
- the first two schemes favor balance, MUD+HR aims for a high reward, and MUD+HUR aims for a high reward ratio based on usage.
- Power limit values are expressed as a percentage of total power consumption when all edge servers are fully used.
- EAA-TS and EAA-NTS for all combinations of various range values for each variable in Table 1, looking at the three sum rewards of 40%, 60%, and 80% to examine the effect of dividing the work on the total reward. can be compared.
- EAA-NTS yields high compensation with respect to all power limits. These rewards are 7% to 80% higher compared to other schemes. This difference is greater at lower power limits.
- the MUD+HUR scheme yields higher rewards than MUD+HR, which means that tasks with higher values should be assigned first. However, MUD+HUR operation does not consider edge server characteristics. This yields, on average, only 70% of EAA-NTS compensation and 40% of the minimum power limit.
- the edge server it is possible to propose a scheme for maximizing the total compensation obtained by the edge server while limiting the power consumed by the edge server.
- the power generated by the edge server based on the processor capacity and usage of each edge server is investigated, and the maximum allowable utilization rate and task allocation of each edge server are determined with the purpose of maximizing the total compensation. Optimization problems can be formulated.
- Two algorithms were proposed to formulate the task allocation problem as a minimum-cost-maximum flow graph and to explore the highest reward path in the graph. One algorithm allows task partitioning, and the other algorithm does not allow task partitioning.
- the device described above may be implemented as a hardware component, a software component, and/or a combination of the hardware component and the software component.
- devices and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA). , a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions, may be implemented using one or more general purpose or special purpose computers.
- the processing device may execute an operating system (OS) and one or more software applications running on the operating system.
- a processing device may also access, store, manipulate, process, and generate data in response to execution of the software.
- OS operating system
- a processing device may also access, store, manipulate, process, and generate data in response to execution of the software.
- the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.
- Software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device.
- the software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or apparatus, to be interpreted by or to provide instructions or data to the processing device. may be embodied in The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.
- the method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium.
- the computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination.
- the program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software.
- Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks.
- - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
- Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Sources (AREA)
Abstract
모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩이 개시된다. 일 실시예에 따른 컴퓨터로 구현되는 작업 오프로딩 시스템에 의해 수행되는 작업 오프로딩 방법은, 각각의 엣지 서버의 전력 정보에 기초하여 오프로드된 작업을 실행할 엣지 서버를 결정하는 단계; 및 상기 결정된 엣지 서버에 설정된 할당 정보에 따라 작업을 오프로딩하는 단계를 포함할 수 있다.
Description
아래의 설명은 모바일 엣지 컴퓨팅에서 엣지 서버에게 작업을 오프로딩 하는 기술에 관한 것이다.
네트워크 및 시스템 기술의 향상은 무선 네트워크에 의존하는 애플리케이션의 실현 가능성을 증가시켰다. 센서, 스마트 개인용 기기, 운전자 없는 차량 등 연결된 사물인터넷(IoT) 기기를 기반으로 한 증강현실 및 스마트 교통 관제 시스템이 대표적이다. 스마트 IoT 디바이스는 빠르게 증가하고 있으며, 2030년까지는 스마트시티 애플리케이션에서 5000억대의 스마트 IoT 디바이스가 필요할 것으로 예측된다. 이러한 애플리케이션은 스마트 IoT 디바이스에 의해 생성될 방대한 양의 데이터를 처리해야 할 것이다.
일부 IoT 디바이스는 빠른 연산이 필요한 작업을 수행해야 한다. 또한 정기적으로 처리해야 하는 센서 데이터의 정기적인 수집을 수반한다. 컴퓨팅 기능이 제한되면 이러한 작업을 클라우드 서버로 오프로드해야 할 경우가 있다. 그러나 클라우드에서 중앙 서버를 중심으로 코어 네트워크가 부과하는 지연은 클라우드 기반 접근법이 적절하지 않을 수 있음을 의미한다. 신속한 처리가 필요한 IoT 기반 시스템을 위해서 엣지 컴퓨팅 서비스를 통해 문제를 해결한다. 클라우드 가장자리에 위치한 엣지 서버(ES)는 빠른 처리와 더불어 중앙 서버의 부하 감소 효과를 산출하므로, 엣지 컴퓨팅에 대한 수요는 빠르게 증가할 것으로 예상된다. 엣지 컴퓨팅 서비스는 각 기지국(BS)에 엣지 서버를 배치하거나 엣지 서버를 여러 기지국에 연결하여 구현할 수 있다. 이를 모바일 엣지 컴퓨팅(MEC)이라고 한다. 이러한 기지국의 범위 내에 위치한 IoT 장치는 기지국에서 엣지 서버로 작업을 오프로드하거나 액세스할 수 있다.
EIP(Edge Infrastructure Providers)는 고객에게 엣지 컴퓨팅 서비스를 제공하기 시작했다. EIP는 클라우드 가장자리에 엣지 서버를 설치하고 이를 사용하여 고객에게 컴퓨팅 성능을 제공한다. 고객 간에 엣지 서버 공유 자원 활용을 개선하고 EIP에 대한 재정적 수익을 얻는다. EIP가 고객과 맺은 계약상 약정에 따라 서버에서 운영하는 우선순위가 결정된다. EIP 에 대한 총 보상의 최대화라는 맥락 안에서 어떤 작업이 오프로드 되는지를 결정할 필요가 있다.
엣지 서버는 원격지 마이크로 데이터센터로서 전력 소비량은 10kW급이 될 것으로 예상된다. 그러한 서버 수천 대가 EIP의 주요 관심사인 메가와트를 소비하게 되므로, 전력 제한이 반드시 필요하다. 엣지 서버에서 끌어온 전력이 사전 정의된 전력 제한치 미만을 유지한다. 서버가 소비하는 전력은 CPU 활용률에 따라 달라진다. 이는 서버의 작업량에 따라 결정되며, 엣지 서버가 수용하는 오프로드된 작업의 수에 따라 결정되는 것을 의미한다.
이에 따라 작업 오프로딩 기술을 사용하여 모바일 기기에 의해 사용되는 에너지를 줄이기 위한 기술이 요구된다.
엣지 서버에 의해 소비되는 전력을 제한하면서 발생한 이익과 관련된 보상을 최대화하는 방법 및 시스템을 제공할 수 있다. 상세하게는, 엣지 서버의 전력 특성을 검토하여 최적화 문제를 공식화하고, 각 오프로드된 작업을 실행할 엣지 서버를 결정함에 따라 설정된 각 엣지 서버의 최대 허용 CPU 활용률에 기초하여 각 엣지 서버 최대 허용 CPU 활용률과 관련된 전력 소비량을 고려하여 보상을 예측하고, 최소 비용 최대 흐름(MCMF) 그래프를 사용하여 작업 할당을 수행하는 방법 및 시스템을 제공할 수 있다.
컴퓨터로 구현되는 작업 오프로딩 시스템에 의해 수행되는 작업 오프로딩 방법은, 각각의 엣지 서버의 전력 정보에 기초하여 오프로드된 작업을 실행할 엣지 서버를 결정하는 단계; 및 상기 결정된 엣지 서버에 설정된 할당 정보에 따라 작업을 오프로딩하는 단계를 포함할 수 있다.
상기 작업을 오프로딩하는 단계는, 상기 각각의 엣지 서버의 한도 전력 하에서 엣지 서버 제공자의 보상을 최대화하기 위한 상기 각각의 엣지 서버의 최대 허용 가능한 사용률과 작업 할당을 포함하는 할당 정보를 결정하는 단계를 포함할 수 있다.
상기 작업을 오프로딩하는 단계는, 상기 각각의 엣지 서버의 최대 허용 가능한 사용률을 결정하는 동시에 전력 요구량에 대한 엣지 서버 제공자의 보상 비율이 높은 작업의 오프로드에 높은 우선 순위를 부여하는 단계를 포함할 수 있다.
상기 작업을 오프로딩하는 단계는, 상기 각각의 엣지 서버의 전력 제약조건을 충족하면서 최대 허용 가능한 사용률의 값들을 탐색하는 단계를 포함할 수 있다.
상기 작업을 오프로딩하는 단계는, 작업 할당으로부터 전력 증가량과 보상 증가량을 반복적으로 계산하여 전력 제약조건이 충족되고, 각각의 엣지 서버에서 최대 허용 가능한 사용률이 결정될 때까지 전력 비율에 더 높은 보상을 주는 최대 허용 가능한 사용률 값에 우선순위를 부여하는 단계를 포함할 수 있다.
상기 작업을 오프로딩하는 단계는, 상기 각각의 엣지 서버로 작업 할당하기 위한 각각의 작업에 대한 값을 탐색하는 단계를 포함할 수 있다.
상기 작업을 오프로딩하는 단계는, 최소 비용 최대 흐름 그래프를 사용하여 작업 분할을 허용하는 방법 또는 작업 분할을 허용하지 않는 방법 중 어느 하나의 방법을 이용하여 엣지 서버로의 작업 할당을 수행하는 단계를 포함할 수 있다.
상기 작업 분할을 허용하는 방법은, 잔차 그래프가 상기 최소 비용 최대 흐름 그래프에서 생성되고 각 노드 사이의 흐름을 표현하기 위한 이진 함수의 값과 비용을 초기화하는 과정, 최단 경로 빠른 알고리즘을 사용하여 최소 비용 흐름을 도출함에 따라 상기 잔차 그래프에 경로를 생성하고, 상기 흐름을 갱신하는 경로 증강 과정 및 정점 사이에 흐름이 존재할 경우, 작업을 구성하는 하위 작업 중 하나를 처리하기 위해 엣지 서버를 선정함으로써 상기 하위 작업이 할당된 엣지 서버의 지수값을 갱신하는 마무리 과정을 수행할 수 있다.
상기 작업 분할을 허용하지 않는 방법은, 상기 최소 비용 최대 흐름 그래프에 작동되고, 소스 정점에서 싱크 정점으로 최소 비용 흐름을 계산하는 최소 비용 흐름 과정, 상기 최소 비용 흐름과 연관된 작업 정점을 제거하고 용량 사용량과 작업이 할당된 엣지 서버의 지수값을 갱신하고 흐름과 연관된 엣지들을 제거하는 과정을 수행할 수 있다.
컴퓨터로 구현되는 작업 오프로딩 시스템은, 각각의 엣지 서버의 전력 정보에 기초하여 오프로드된 작업을 실행할 엣지 서버를 결정하는 서버 결정부; 및 상기 결정된 엣지 서버에 설정된 할당 정보에 따라 작업을 오프로딩하는 작업 오프로딩부를 포함할 수 있다.
본 발명은 각 서버의 최대 활용률을 결정하는 동시에 전력 요구량에 대한 엣지 서버 제공자의 보상 비율이 높은 작업의 오프로드에 높은 우선 순위를 두고, 최소 비용 최대 흐름 그래프를 사용하여 작업 할당 문제를 모델링함에 따라 가장 높은 보상을 검색하여 서버 용량의 영향을 받는 작업을 오프로드함으로써 동일한 전력 제약 조건 하에서 대체 계획보다 더 높은 보상을 달성할 수 있다.
도 1은 일 실시예에 따른 모바일 엣지 컴퓨팅 구조를 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 작업 오프로딩 시스템의 구성을 설명하기 위한 블록도이다.
도 3은 일 실시예에 따른 작업 오프로딩 시스템의 모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩 방법을 설명하기 위한 흐름도이다.
도 4는 일 실시예에 따른 작업 오프로딩 시스템에서 최대 허용 사용률 결정(maximum utilization determination: MUD) 알고리즘에 대한 의사 코드를 나타낸 도면이다.
도 5는 일 실시예에 따른 작업 오프로딩 시스템에서 엣지 서버 할당 문제를 흐름 네트워크로 모델링하는 것을 설명하기 위한 예이다.
도 6은 일 실시예에 따른 작업 오프로딩 시스템에서 사이의 흐름을 표현하기 위한 잔차 그래프의 예이다.
도 7은 일 실시예에 따른 작업 오프로딩 시스템에서 작업 분할이 허용된 경우의 엣지 서버 할당 알고리즘에 대한 의사 코드를 나타낸 도면이다.
도 8은 일 실시예에 따른 작업 오프로딩 시스템에서 작업 할당 없는 엣지 할당 알고리즘에 대한 의사 코드를 나타낸 도면이다.
도 9 내지 도 14는 일 실시예에 따른 작업 오프로딩 시스템의 실험 결과를 설명하기 위한 그래프이다.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
모바일 엣지 컴퓨팅에서 작업은 모바일 장치에서 네트워크 가장자리에 있는 서버로 오프로드됨으로써 중앙 서버에 도달하는 데 필요한 대기 시간을 발생시키지 않고 작업 처리 속도를 높인다. 단, 엣지 서버에 의해 사용되는 힘은 상당하며 비용이 효율적일 필요가 있다. 실시예에서는 제한된 전력 소모량, 서버 처리 용량, 무선 네트워크 커버리지 내에서 엣지 서버 제공자의 보상을 최대화할 목적으로 작업을 서버로 오프로드하는 방안을 설명하기로 한다.
도 1은 일 실시예에 따른 모바일 엣지 컴퓨팅 구조를 설명하기 위한 도면이다.
엣지 서버들은 기지국들의 커버리지 안에 있는 IoT 장비들에서 오프로드된 작업들을 처리하기 위해 적어도 하나 이상의 기지국으로 할당될 수 있다. 만약 한 작업이 엣지 서버에서 EIP('엣지 서버 제공자'로 기재하기로 함)로 오프로드 되면, 그 엣지 서버 제공자는 엣지 서버에 의해 수행된 계산량에 기반하여 보상을 받을 수 있다. 그렇지 않으면, 오프로드된 작업들은 클라우드의 중앙 서버로 넘겨진다.
한편, SPEC 전력위원회는 엣지 서버들의 에너지 소비량을 측정하는 도구들과 표준들을 제공하고 있다. 2006년부터 엣지 서버들을 위한 에너지 측정값들을 수집했고 에너지 소비와 CPU사용률 사이의 관계에 대해 분석하였으며, 이는 서버 특성에 의해 강력히 좌우되는 것으로 밝혀졌다.
감시, 공기질 모니터링 및 교통량 모니터링과 같은 많은 IoT 애플리케이션들은 주기적으로 처리되어야 하는 센서 데이터의 주기적인 수집이 필요하다. 작업 오프로딩을 위해, 각각의 작업은 일정시간 동안 요구되는 계산량을 계산하고, 엣지 서버에서 제공하는 프로세서 용량의 일정 비율을 받을 수 있다. 작업 사용량은 작업에 필요한 계산량이 분자로, 일정시간 동안 엣지 서버에 의해 제공받은 총 계산량이 분모로 표현될 수 있다. 그 후, 각각의 작업은 각 주기 동안 할당된 프로세서 용량을 사용할 수 있다.
다른 엣지 서버들이 다른 처리용량을 가질 수 있기 때문에, 각 작업의 사용량을 최고 처리용량을 갖는 엣지 서버에 대하여 정규화할 수 있다. 만약, NES가 엣지 서버의 수라면,
(i=1, ..., NES) 를 I
high의 지수를 가진 최고 처리용량을 갖는 엣지 서버와 비교하여 최대 처리용량을 나타내기 위해 사용할 수 있다. 그 후, 작업
의 정규화 처리된 U
i(i=1, ..., N
task)는 엣지 서버 I
high에서 실행된다는 사실을 기반으로 결정될 수 있다. 여기서, N
task는 총 작업 수를 나타낸다. 쉽게 설명하기 위하여, U
i와
가 정수 값을 갖는다고 가정하자. 이를 위해, 그레인 크기를 최소 할당 단위로 도입하고
와 U
i를 그레인의 배수로 표현할 수 있다. 예를 들면, 만약, 그레인의 크기가 0.01이면,
=100이 된다.
X
i,
를 작업
( i=1,..., N
task)가 할당된 엣지 서버의 지수라고 하자. 어떠한 엣지 서버로도 할당되지 못하는 작업
을 처리하는 클라우드의 중앙 서버를 나타내기 위해 지수 0을 도입할 수 있다. 요약하자면, 만약 X
i=0이면, 작업
는 클라우드 중앙 서버에 의해 처리될 수 있다. 반면에, 만약 X
i=j이면, 작업
는 엣지 서버 j에 의해 처리될 수 있다. 모든 작업에 대하여 합쳐친 총 사용량은 처리용량을 초과할 수 없으므로
가 된다. 이에 따라, 엣지 서버에서의 총 CPU 사용률
은 다음과 같이 표현될 수 있다.
수학식 1:
각 엣지 서버에 의해 소비되는 전력량을 제한하기 위하여, CPU 사용률을 제한할 수 있다. 이를 위해, 각 엣지 서버 j에 대해 최대 허용 가능한 CPU 사용률 Y
j를 도입할 수 있다. 여기에서, CPU 사용률 Y
j는 0과
사이의 정수이다. 이때, 각 엣지 서버 j에서 총 CPU 사용률 Y
j을 초과해서는 안된다. 만약, CPU 사용률 Y
j가 0이면, 각 엣지 서버 j는 어떠한 작업도 처리할 수 없다. 만약, Y
j=
라면, 각 엣지 서버 j의 처리용량을 완전히 사용할 수 있다.
활성 전력은 엣지 서버가 연산 작업을 진행하고 있는 동안 소비된 전력이고, 이는 CPU 사용률에 따라 비선형적으로 달라진다. 연산이 진행되지 않을 경우에도, 엣지 서버는 고정된 유휴 전력을 사용한다. 이에 따라, 각 엣지 서버 j에서 사용률이 x(0≤x≤1)일 때, 활성 전력 계수를 표현하기 위해
를 사용하고 각 엣지 서버 j의 유휴 전력 계수를 표현하기 위해
를 사용할 수 있다. 이에, 각 엣지 서버 j에 의해 도출된 전력
를 사용률 x에 따라 다음과 같이 정의될 수 있다.
수학식 2:
도 2는 일 실시예에 따른 작업 오프로딩 시스템의 구성을 설명하기 위한 블록도이고, 도 3은 일 실시예에 따른 작업 오프로딩 시스템의 모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩 방법을 설명하기 위한 흐름도이다.
작업 오프로딩 시스템(100)의 프로세서는 서버 결정부(210) 및 작업 오프로딩부(220)를 포함할 수 있다. 이러한 프로세서의 구성요소들은 작업 오프로딩 시스템에 저장된 프로그램 코드가 제공하는 제어 명령에 따라 프로세서에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 프로세서 및 프로세서의 구성요소들은 도 3의 모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩 방법이 포함하는 단계들(310 내지 320)을 수행하도록 작업 오프로딩 시스템을 제어할 수 있다. 이때, 프로세서 및 프로세서의 구성요소들은 메모리가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다.
프로세서는 모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩 방법을 위한 프로그램의 파일에 저장된 프로그램 코드를 메모리에 로딩할 수 있다. 예를 들면, 작업 오프로딩 시스템(100)에서 프로그램이 실행되면, 프로세서는 운영체제의 제어에 따라 프로그램의 파일로부터 프로그램 코드를 메모리에 로딩하도록 작업 오프로딩 시스템(100)을 제어할 수 있다. 이때, 프로세서 및 프로세서가 포함하는 서버 결정부(210) 및 작업 오프로딩부(220) 각각은 메모리에 로딩된 프로그램 코드 중 대응하는 부분의 명령을 실행하여 이후 단계들(310 내지 320)을 실행하기 위한 프로세서의 서로 다른 기능적 표현들일 수 있다.
서버 결정부(210)는 각각의 엣지 서버의 전력 정보에 기초하여 오프로드된 작업을 실행할 엣지 서버를 결정할 수 있고(310), 작업 오프로딩부(220)는 결정된 엣지 서버에 설정된 할당 정보에 따라 작업을 오프로딩할 수 있다(320).
실시예에서는 다음에서 설명하는 3가지 제약조건 하에서 전체 보상을 극대화하기 위하여 적절한 엣지 서버로 각각의 작업을 할당할 수 있다.
엣지 서버 처리용량: 각각의 엣지 서버에서의 총 사용합계는 최대 허용 사용량은 넘어서는 안된다.
수학식 3:
엣지 서버 커버리지: 엣지 서버는 엣지 서버 영역 내에 존재하는 기기들에서 전송되는 작업만 수신할 수 있다. 그 작업이 엣지 서버에 의해 받아들여질 수 있는지 여부를 나타내는 이진 상수 H
i,j를 도입할 수 있다. 만약, H
i,j=1이라면, 각 엣지 서버 j는 작업
를 오프로드 하는 요청을 받아들일 수 있다. 만약, H
i,j=0이라면, 각 엣지 서버 j는 작업
를 오프로드 하는 요청을 받아들일 수 없다. 이에 따라, 작업
은 H
i,j=1일 경우에만, 엣지 서버 X로 할당될 수 있다.
전력: P
limit는 사용이 허용되는 모든 엣지 서버의 최대 총 전력이다.
수학식 4:
이에, 각 엣지 서버에서 작업
을 처리할 때, 엣지 서버 제공자에 의해 받은 보상인 R
i,j를 도입하기로 한다. 그리고 나서, 엣지 서버 할당 문제와 최대 허용 사용량 결정 문제를 공식화할 수 있다. 이는, 모든 엣지 서버의 보상들의 합계를 극대화하기 위한 목적으로 각각의 작업
에서의 값 X
i, (X
i=0, ..., N
ES)를 찾는 것과 모든 엣지 서버 j에서의 최대 허용 가능한 사용률
, (
=0, ...,
)를 찾는 것으로 구성될 수 있다.
도 4를 참고하면, 최대 허용 사용률 결정(maximum utilization determination: MUD) 알고리즘에 대한 의사 코드를 나타낸 도면이다.
작업 오프로딩 시스템은 최대 허용 가능한 사용률을 결정할 수 있다. 최적화 문제를 해결하기 위하여, 각각의 작업
에 대한 값 X
i과 각각의 엣지 서버 j에 대한 최대 허용 가능한 사용률
을 결정해야 한다. 각각의 엣지 서버 j는
처리용량을 갖고 있으며, X
i와
의 모든 조합들을 고려하는 것은 비실용적이다. 이에 따라 이를 2개의 하위 문제로 나눈다. 사용률 결정 문제(UDP: utilization determination problem,)는 에너지 제약조건을 충족하면서 최대 허용 가능한 사용률
의 값들을 찾는 것이다. 엣지 서버 할당 문제(EAP: edge server allocation problem,)는 각각의 작업
을 엣지 서버로 할당하는 X
i 값들을 찾는 것이다.
사용률 결정 문제에 대하여 설명하기로 한다.
엣지 서버 j에서 가능한 보상들
과 그에 해당하는 에너지 요구조건들이 제공된다면, 사용률 결정 문제는 다중 선택 배낭 문제(multiple-choice knapsack problem, MKCP)로 축소될 수 있다. 과부하 없이 아이템들을 배낭에 넣었을 때 얻는 총 이익을 극대화시키기 위해서, 다수의 아이템들을 포함하는 몇몇 클래스들의 각각에 대해 가중치와 이익이 있는 하나의 아이템을 선택해야 한다.
사용률 결정 문제에서 클래스는
사용률 값을 각각 갖고 있는 엣지 서버이며, 각 사용률 값은 총합이
를 초과할 수 없는 전력과 극대화 되어야 하는 보상과 연관되어 있다. MCKP는 NP-난해 이다. 하지만 이익-가중치 비율에 기반을 둔 그리디 알고리즘(greedy algorithm)은 보통 잘 수행된다. 사용률 결정 문제는 작업 할당으로부터 전력과 보상 증가량을 반복적으로 계산하여 부등식 (4)에서의 전력 제약조건이 충족되고 각각의 엣지 서버 j에서 최대 허용 가능한 사용률
이 결정될 때까지 전력 비율에 더 높은 보상을 주는 사용률 값에 우선순위를 부여할 수 있다.
다음은, 엣지 서버 할당 문제에 대하여 설명하기로 한다.
작업 오프로딩 시스템은 최소 비용 최대 흐름 그래프(MCMF)를 사용하여 엣지 서버로의 작업 할당을 모델링할 수 있다. 실시예에서는 가능한 2가지 엣지 할당 알고리즘을 고려할 수 있다. 작업 분할을 허용하는 알고리즘과 허용하지 않는 알고리즘이다. 만약 작업 분할이 허용된다면, 생성된 하위작업들이 다른 엣지 서버에 할당될 수 있다. 모델링을 통해 작업
는
개의 하위 작업
으로 분할될 수 있다. 작업 오프로딩 시스템은 각각의 하위 작업의 CPU 사용이 정수 값을 갖도록 조건화 하였고(작업의 사용률 값과 마찬가지로), 따라서 작업
가 분할될 수 있는 최대 하위 작업 수는
이다.
(
)이 하위 작업
이 할당된 엣지 서버의 지수라고 하자. 최소 비용 최대 흐름 그래프 그래프에서 최적의 정수 기반 흐름 집합을 찾을 수 있고, 이는 최대 가능한 흐름 전달 비용을 최소화한다. 이러한 흐름들에 부합하는
값들을 결정하기 위해 이 알고리즘을 사용할 수 있다.
작업 분할이 허용되지 않아 각각의 작업이 단일 엣지 서버에서 실행되어야 할 때, EAP는 이익을 극대화시키기 위해서 다른 가중치와 이익을 갖는 아이템들이 제한된 용량을 갖는 배낭으로 할당되어야 하는 다수 배낭 문제(MKP)로 축소될 수 있다. 다수 배낭 문제에서 아이템들은 작업이고, 엣지 서버 할당 문제의 목적은 각각의 엣지 서버 에서 처리용량에 따른 총 보상을 극대화시키는 것이다. 다중 선택 배낭 문제(MKCP)처럼 다수 배낭 문제(MKP)는 NP난해이다. 작업 오프로딩 시스템은 처리용량이 남지 않을 때까지 최대 보상값을 기반으로 하여 작업들을 엣지 서버로 할당하는 그리디 알고리즘을 다시 사용할 수 있다.
다음으로, 최대 허용 사용률 결정 알고리즘에 대하여 설명하기로 한다.
3가지 새로운 변수를 필요로 하는
값을 결정해야 한다. 먼저 알고리즘이 진행되는 동안 X
i의 값들을 저장하기 위해 각 작업
에서 일시적인 변수
를 도입한다. 그리고
는 엣지 서버 j에 의해 도출된 전력 증가량을 나타내고, 새로운 작업
가 여기에 할당될 때 이는 다음과 같이 표현된다.
수학식 5:
수학식 6:
도 4의 최대 허용 사용률 결정(maximum utilization determination: MUD) 알고리즘의 목적은 적은 전력 소비량으로 큰 보상을 얻는 것이다. 최대 허용 사용률 결정 알고리즘은 각 i와 j에서의 전력 필요량
과 특정 보상
을 계산한다. 그리고 나서 i=M이고 j=H 일 때의 최대값
을 결정한다. 그리고 임시 변수
를 1로 설정하여
을 할당된 것으로 표시하고 총 전력 요구량
를 갱신한다. 이 과정은 최대 전력 조건이 충족되지 않을 때 혹은 작업이 더 이상 남지 않을 때까지 반복된다.
도 5는 일 실시예에 따른 작업 오프로딩 시스템에서 엣지 서버 할당 문제를 흐름 네트워크로 모델링하는 것을 설명하기 위한 예이다.
엣지 서버 할당에 대하여 설명하기로 한다.
작업 오프로딩 시스템은 최소 비용 최대 흐름 그래프(MCMF)를 작성할 수 있다. 엣지 서버 할당 문제(EAP)는 최소 비용 최대 흐름 문제로 효과적으로 표현될 수 있다. 이는 직접적으로 엣지에 연결되었고 소스, 싱크 그리고 중계 노드가 있는 흐름 네트워크인 최대 비용 최대 흐름 그래프를 생성함으로써 설명될 수 있다. 소스 노드는 외부로 향하는 엣지만 있으며 싱크 노드는 내부로 향하는 엣지만 있다. 노드 a에서 노드 b로의 엣지는 용량과 비용이 있다. 최소 비용 최대 흐름 그래프의 문제는 적은 비용에서 총 흐름을 극대화시키는 소스 노드에서 싱크 노드로 가는 흐름들의 집합을 찾는 것이다.
일례로, 엣지 서버 할당 문제는 도 5에서 제시된 것처럼 다음과 같은 4가지 종류의 정점을 갖는 흐름 네트워크로 모델링될 수 있다. 단일 소스 정점
가 작업
에 상응하는 작업 정점
가 엣지 서버 j에 상응하는 엣지 서버의 정점
가 엣지 서버 j에 상응하는 엣지 서버의 정점
, 그리고 단일 싱크 정점 t이다. 이제, 엣지 서버 j에서 사용된 처리용량 단위당 보상을 다음과 같이 정의할 수 있다.
이 경우, 흐름 네트워크를 생성할 때의 규칙은 다음과 같이 묘사할 수 있다.
엣지 서버 할당 문제는 각 엣지 서버에서의 사용 조건을 만족하면서 총 보상을 극대화시키는 것을 목적으로 하며, 작업 분할이 허용될 때는 값
을 결정하고, 작업 분할이 허용되지 않을 때는 X
i를 결정하여 해결할 수 있다. 총 보상을 극대화시키는 것은 총 비용
을 최소화시키는 것에 해당된다.
만약 소스 노드에서 싱크 노드로의 작업
에 대한 흐름 용량이
라면, 각 엣지 서버의 정점
에서 싱크 정점으로의 총 흐름은 엣지 서버 j의 용량 제약조건인
를 초과할 수 없다.
=1인 경우에만 V
i와
사이의 엣지가 존재하기 때문에 엣지 서버 커버리지 제약조건은 최소 비용 최대 흐름 그래프에 표현될 수 있다.
도 7은 일 실시예에 따른 작업 오프로딩 시스템에서 작업 분할이 허용된 경우의 엣지 서버 할당 알고리즘에 대한 의사 코드를 나타낸 도면이다.
작업 분할이 허용될 때의 엣지 서버 할당 알고리즘(EAA-TS)은 알고리즘은 도 7에 제시되어 있다. EAA-TS는 감소하는 비용으로 소스에서 싱크로의 길을 찾고, 이는 또한 최단 경로 빠른 알고리즘(shortest path faster algorithm: SPFA)을 사용하여 용량 조건을 만족하며 이는 잘 알려진 벨만-포드 알고리즘의 개선된 형태이다.
실시예에서는 정점(노드) a와 b 사이의 흐름을 표현하기 위해서 이진 함수 f(a, b)를 도입하기로 한다. f(a, b) 값이 1이라면, 흐름이 존재한다. 알고리즘 실행 시 선택된 경로는 최종 흐름의 일부분이 아니기 때문에 최단 경로 빠른 알고리즘은 역방향 경로가 필요하며 이는 취소될 수 있다. 따라서 각 엣지가 2개의 정점 사이에 허용될 수 있는 추가적인 흐름을 나타내고 역방향 경로가 허용되는 잔차 그래프를 작성해야 한다.
예를 들어, v1에서 w1으로 흐름이 있도록 하기 위해 f(v1,w1) = 1 이라고 가정해보자. 이에 해당하는 잔차 그래프가 도6에 표시되어 있다. 모든 엣지들
에 대한 용량 값은 1만큼 감소했지만, 역방향 경로의 엣지들의 용량은 1만큼 증가했다. 이 역방향 경로
에 대한 비용
은
로 설정된다. 역방향 경로는 알고리즘에 의해 선택될 수 있고, 이 경우 최초의 경로 선정은 취소된다. 최단 경로 빠른 알고리즘은 가능한 흐름이 없어질 때까지 잔차 그래프에서 작동한다.
EAA-TS는 최단 경로 빠른 알고리즘 이전과 이후에 작동하는 초기화, 경로 증강 그리고 마무리 과정을 포함한다.
초기화: 잔차 그래프가 최소 비용 최대 흐름 그래프(라인 1)에서 생성되고 흐름 f(a, b)의 값과 비용 C(a, b)이 초기화 된다(라인5-9).
경로 증강: 최소 비용 최대 흐름 그래프를 사용해서 최소 비용 흐름을 구한다(라인 11). 이에 해당하는 경로가 잔차 그래프에 생성된다(라인 15). 그리고 흐름이 갱신된다(라인 17-18). 이 과정은 G
R에 생성되는 증강 경로 p가 없어질 때까지 반복된다(라인 12).
도 8은 일 실시예에 따른 작업 오프로딩 시스템에서 작업 할당 없는 엣지 할당 알고리즘에 대한 의사 코드를 나타낸 도면이다.
작업 분할 없는 엣지 할당 알고리즘(EAA-NTS)은 다음과 같이 최소 비용 최대 흐름 그래프에서 작동된다.
최소 비용 흐름: 소스 정점에서 싱크 정점으로 최소 비용 흐름 f가 계산된다(라인5).
갱신 및 제거: 최소 비용 흐름과 연관된 작업 정점이 제거되고, 용량 사용량
과 지수 X
i가 갱신되며 흐름과 연관된 엣지들이 제거된다(라인 6-16). 예를 들어, 최소 비용 흐름이 도5에서
라고 가정하자. 그렇다면
에 해당되는 정점은 들어오는 엣지 및 나가는 엣지와 함께 제거된다.
이 엣지 서버 2로 할당되었기 때문에 X
1값은 2로 갱신된다. 엣지 서버 2에 의해 증가된 처리 사용량을 기록하기 위해서 임시 변수
는 U
1만큼 증가되며 이는 Y
j를 초과해서는 안된다. 이러한 2가지 과정은 모든 작업들이 검토될 때까지 반복된다.
도 9 내지 도 14는 일 실시예에 따른 작업 오프로딩 시스템의 실험 결과를 설명하기 위한 그래프이다.
1. 시뮬레이션 설정
전력 소비량과 총 보상에 대한 우리의 스킴을 평가하기 위해서 시뮬레이션이 진행될 수 있다. 이를 위해서 2019년과 2020년 사이에 공개된 4개의 상업용 서버의 에너지 특성을 모델링할 수 있다. 이들 상업용 서버의 특성들 중 하나가 각 엣지 서버로 무작위 할당되었다.
일례로, 호주 멜버른에서 핸드폰 네트워크 장소 데이터의 데이터베이스를 사용하여 엣지 서버와 IoT 장비 사이의 공간 관계를 모델링 했다. 이는 815개의 무선 액세스 포인트 (WAPs)와 125개의 기지국의 위도, 경도, 그리고 IP 주소를 포함하며 이를 사용하여 WAPs와 각 기지국 사이의 거리를 계산할 수 있다.
각 기지국이 엣지 서버 커버리지 안에서 작업을 수행할 수 있는 단일 엣지 서버를 갖고 있다고 가정할 것이다. 그리고 멜버른 데이터베이스의 WAPs의 위치정보를 취득하여 IoT 장비의 위치를 나타낼 것이다. 만약 작업을 오프로드 하고 싶어하는 장비에 연결된 WAP가 ES에 연결된 기지국(BS)의 커버리지 안에 있다면,
=1 이다 (그렇지 않으면 0). 각 BS의 커버리지는 450m와 750m사이에 무작위로 선정된 거리로 표현된다.
다양한 변수의 효과를 살펴보기 위해, 우리는 작업, 보상 및 작업 사용량을 변화시켰고, 이들은 표 1에 나타난 것처럼 서로 다른 범위를 갖고 있다. 각 WAP는
와
사이의 임의의 작업 수를 생성하는 IoT 장비들로 연결될 수 있다. 모든 엣지 서버 j에 대하여 동일하게, 작업
에 대한 기본 보상은
과
사이에 임의로 선정된 정수값이고, 작업
에 의해 요구되는 사용량
는
와
사이에 임의로 선정된 정수값이다. 다르게 서술되지 않는 경우에, 각 변수에 대한 기본 범위는 표1과 같다.
표 1 매개변수 설정
도 8을 참고하면, 2가지 스킴, 즉, EAA-TS (알고리즘 (도면 7)) 그리고 EAA-NTS (알고리즘 (도면 8))를 평가한다. 둘 다 각 엣지 서버에서 최대 허용 가능한 사용을 결정하기 위해 최대 허용 사용률 결정 알고리즘을 사용했다. 부등식 (4)를 만족시키기 위해 전력 소비량을 제한하면서 엣지 서버에 작업을 할당하는 다음과 같은 4가지 방식으로 이들 스킴을 비교한다.
RR + HR(라운드-로빈 할당 + 최대 보상)은 라운드 로빈 방식으로 작업을 할당하며 부등식 (4)가 충족되지 않을 때까지 최고 보상을 산출하는 작업을 연속적으로 선정한다.
RA+HR(임의 작업 할당 + 최대 보상)은 부등식 (4)가 충족 되지 않을 때까지 임의로 선정된 작업들에 대해 높은 보상을 갖는 할당을 연속적으로 선정한다.
MUD+HR(MUD+높은 보상)은 높은 보상을 산출하는 작업 할당이 먼저 수행되도록 값이 설정되는 것을 제외하고 최대 허용 사용률 결정 알고리즘과 유사하다. 값들은 부등식 (4)가 충족되지 않을 때까지 연속적으로 갱신 된다.
MUD+HUR(MUD + 높은 기본 보상)은 값이 설정된 것을 제외하고 MUD+HR과 유사하다. 값들은 부등식 (4)가 충족되지 않을 때까지 연속적으로 갱신된다.
첫 2가지 스킴은 균형을 선호하고, MUD+HR은 높은 보상을 목적으로 하며, MUD+HUR은 사용량에 따른 높은 보상 비율을 목적으로 한다.
2. 작업 분할 효과
모든 엣지 서버가 완전히 사용 될 때 총 전력 소비량의 비율로 전력 한계 값들을 표현한다. 총 보상에 대한 작업 분할 효과를 살펴보기 위해 40%, 60%, 80%라는 3가지 합계 보상을 살펴보면서 표 1의 각각의 변수에 대한 다양한 범위 값들의 모든 조합들에 대해 EAA-TS와 EAA-NTS를 비교할 수 있다.
표 1은 (
,
)과
의 다른 값들에 대한 EAA-TS와 EAA-NTS 의 결과 간의 평균 비율 차이를 나타낸다. EAA-TS와 EAA-NTS 결과 간의 비율 차이가 다른 매개변수들의 값에 상관없이 무시할 수 있음을 발견할 수 있다. 예를 들어
=12일 때 0.33%를 넘지 않았고,
=6일 때 0.48%를 넘지 않았다. 하지만,
이 증가함에 따라 차이가 커져가는 것을 확인할 수 있다. 그 이유를 다음과 같이 설명될 수 있다. EAA-NTS는 하나의 작업 전체를 처리하기 위해 남은 용량이 부족한 경우 엣지 서버에 작업을 할당할 수 없으므로, 사용률이 낮으며, 이는 주로 최소 작업 사용량 크기가 1을 초과할 때 발생한다.
이 증가함에 따라, 이 둘 사이의 차이는 줄어들고, 이는 가용 전력이 낮을 때 작업 분할이 효과적이라는 것을 의미한다.
3. 총 보상에 대한 전력 제한 효과
총 보상에 대한 전력 제한 효과를 살펴보았다. 이제부터 작업 분할을 허용하지 다른 스킴들(RR+HR, RA+HR, MUD+HR 및 MUD+HUR)과 비교할 때 EAA-NTS를 기본 스킴으로 사용할 것이다. 도9는 표 1의 각 매개변수에 대한 기본 범위가 사용되었을 때 모든 5개 스킴에 대한 보상을 나타내고, 도면10은 EAA-NTS를 기준으로 정규화된 결과를 나타낸다.
전력 제한이 더 높아지면 더 큰 보상을 제공한다. 또한, EAA-NTS는 모든 전력 제한과 관련하여 높은 보상을 산출한다. 이 보상들은 다른 스킴에 비교해서 7%에서 80%까지 높다. 이러한 차이는 더 낮은 전력 제한에서 더 크게 나타난다. MUD+HUR 스킴은 MUD+HR 보다 높은 보상을 산출하며 이는 높은 값을 갖는 작업이 먼저 할당되어야 한다는 것을 의미한다. 하지만 MUD+HUR 작업은 엣지 서버 특성을 고려하지 않는다. 이는 평균적으로 EAA-NTS 보상의 70%, 그리고 최소 전력 제한에서는 40% 수준만 산출할 뿐이다.
4.작업 수에 대한 총 보상
총 보상이 어떻게 각 WAP내 에서 생성된 작업 수에 의존하는지 알아볼 수 있다. 도 11은 3가지
값의 평균 보상 결과인 40%, 60%, 80% 를 보여준다. 다시 EAA-NTS가 다른 스킴에 비해 좋은 성과를 보여주었고, 작업의 수가 증가할 수록 차이가 커지는 경향을 보였다. 이를 초기 선정 시에 높은 보상을 갖는 작업이 더 많이 가능하다는 것으로 해석할 수 있다. 예를 들어, 작업 수 범위가 (3,6)에서 (9,18)로 변화했을 때 EAA-NTS에 의한 보상이 5060만큼 증가한 반면에, MUD+HUR로 얻은 보상은 2684만큼 증가함을 확인할 수 있다.
5. 보상 범위의 효과
다양한 보상 범위 (
,
)의 효과를 살펴보았다. 도12는 40%, 60% 그리고 80%일 때 평균 보상 결과를 나타낸다. 다시 EAA-NTS가
과
간의 차이가 커지면서 마진이 증가하여 다른 스킴들보다 우수한 성능을 나타내는 것을 확인할 수 있다. 작업들에 대해 넓은 보상 범위를 갖는 것이 더 큰 최적화 범위를 부여하며, EAA-NTS이 이를 잘 활용하는 것으로 보여진다.
6. 작업 사용량 범위 효과
작업 사용량 값의 범위에 따라 총 보상이 어떻게 달라지는지 확인할 수 있다. 도 13은 다수의 다른 범위(
,
)에 대한 총 보상과 3가지
값 40%, 60% 그리고 80%에 대한 평균값을 나타낸다. 더 적은 수의 작업이 엣지 서버로 할당될 수 있기 때문에, 총 보상은 범위가 (1,6)에서 (3,8)로 증가했을 때 약간 증가한다. 하지만 이 작업들은 더 높은 보상을 받는다. 하지만, 그 범위 밖에서
의 값은 보상 결과에 거의 영향을 주지 못한다.
7. EAA-NTS와 같은 보상을 얻기 위해 다른 스킴이 필요로 하는 전력 소비량
의 다양한 값들에 대해서 EAA-NTS를 사용했을 때 얻어지는 총 보상을 결정할 수 있다. 동일한 보상을 얻기 위해서 다른 스킴들이 필요로 하는 전력을 찾을 수 있다. 도 14는 각각의 경우를 EAA-NTS에 의해 도출된 전력으로 정규화한 결과를 나타낸다. 동일한 보상을 얻기 위해서 다른 스킴들은 EAA-NTS보다 13%과 75% 더 높은 전력을 필요로 하는 것을 확인할 수 있다. 예를 들어, MUD+HUR은 EAA-NTS보다 13%에서 29% 많은 전력을 필요로 했고, MUD+HR은 19%에서 30% 더 많은 전력을 필요로 했다.
=60%, 70% 및 80%일 때, RR+HR과 RA+HR은 모든 엣지 서버들이 완전히 사용되었음에도 불구하고 EAA-NTS와 같은 보상을 산출하지 못함을 확인할 수 있다.
일 실시예에 따르면, 엣지 서버가 소비하는 전력을 제한하면서, 엣지 서버에 의해 획득되는 총 보상을 극대화하는 스킴을 제안할 수 있다. 상세하게는, 먼저 각각의 엣지 서버의 프로세서 용량과 사용량에 기반하여 엣지 서버가 산출하는 전력을 조사하고, 총 보상을 극대화 하기 위한 목적을 가지고 각 엣지 서버의 최대 허용 가능한 사용률과 작업 할당을 결정하는 최적화 문제를 공식화 할 수 있다. 최대 허용 가능한 사용률을 결정하기 위해서, 엣지 서버에서 최소의 총 전력 소비량으로 최고 보상을 얻으려고 하는 그리디 알고리즘을 사용할 수 있다. 작업 할당 문제를 최소 비용 최대 흐름 그래프로 공식화하고 그래프에서 최고 보상 경로를 탐색하는 2가지 알고리즘을 제안하였다. 하나의 알고리즘은 작업 분할을 허용하고, 다른 하나의 알고리즘은 작업 분할을 허용하지 않는다.
또한, 작업 수, 전력 제한 값, 보상과 작업 사용량 범위, 그리고 전력 소비량에 대한 보상 비율을 다양화 하면서 총 보상에 대한 우리 스킴을 평가하기 위해 시뮬레이션을 실시할 수 있다. 실험 결과는 실시예에서 제안된 스킴이 큰 보상을 획득하기 위해 가용 전력을 잘 활용하는 것으로 나타났다. 제안된 스킴의 보상은 다른 스킴들을 사용하여 얻어진 보상보다 7%에서 80%만큼 높았고, 다른 스킴들은 같은 보상을 얻기 위해서 제안된 스킴보다 13% 에서 75% 정도 더 많은 전력이 필요했다. 실시예에서 제안된 스킴은 가용 전력이 감소되었을 때, 각 작업에 할당된 보상이 매우 가변적일 때, 그리고 많은 작업들이 있을 때 특히 효과적이다. 작업 분할은 최소 작업 사용량 크기가 1일 때는 큰 차이가 없지만, 평균 작업이 높은 CPU 처리용량을 필요로 할 때 효과적이다.
증가하는 IoT 작업 수를 지원하기 위해서 엣지 컴퓨팅에 대한 요구가 급격하게 증가하며 엣지 서버에 의한 전력 소비량을 증가시키는 결과를 초래했다. 실시예에서 제시한 실험 결과는 제안된 스킴이 엣지 서버의 효과적인 전력 관리에 기여할 수 있다는 것을 나타낸다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (10)
- 컴퓨터로 구현되는 작업 오프로딩 시스템에 의해 수행되는 작업 오프로딩 방법에 있어서,각각의 엣지 서버의 전력 정보에 기초하여 오프로드된 작업을 실행할 엣지 서버를 결정하는 단계; 및상기 결정된 엣지 서버에 설정된 할당 정보에 따라 작업을 오프로딩하는 단계를 포함하는 작업 오프로딩 방법.
- 제1항에 있어서,상기 작업을 오프로딩하는 단계는,상기 각각의 엣지 서버의 한도 전력 하에서 엣지 서버 제공자의 보상을 최대화하기 위한 상기 각각의 엣지 서버의 최대 허용 가능한 사용률과 작업 할당을 포함하는 할당 정보를 결정하는 단계를 포함하는 작업 오프로딩 방법.
- 제1항에 있어서,상기 작업을 오프로딩하는 단계는,상기 각각의 엣지 서버의 최대 허용 가능한 사용률을 결정하는 동시에 전력 요구량에 대한 엣지 서버 제공자의 보상 비율이 높은 작업의 오프로드에 높은 우선 순위를 부여하는 단계를 포함하는 작업 오프로딩 방법.
- 제1항에 있어서,상기 작업을 오프로딩하는 단계는,상기 각각의 엣지 서버의 전력 제약조건을 충족하면서 최대 허용 가능한 사용률의 값들을 탐색하는 단계를 포함하는 작업 오프로딩 방법.
- 제4항에 있어서,상기 작업을 오프로딩하는 단계는,작업 할당으로부터 전력 증가량과 보상 증가량을 반복적으로 계산하여 전력 제약조건이 충족되고, 각각의 엣지 서버에서 최대 허용 가능한 사용률이 결정될 때까지 전력 비율에 더 높은 보상을 주는 최대 허용 가능한 사용률 값에 우선순위를 부여하는 단계를 포함하는 작업 오프로딩 방법.
- 제1항에 있어서,상기 작업을 오프로딩하는 단계는,상기 각각의 엣지 서버로 작업 할당하기 위한 각각의 작업에 대한 값을 탐색하는 단계를 포함하는 작업 오프로딩 방법.
- 제6항에 있어서,상기 작업을 오프로딩하는 단계는,최소 비용 최대 흐름 그래프를 사용하여 작업 분할을 허용하는 방법 또는 작업 분할을 허용하지 않는 방법 중 어느 하나의 방법을 이용하여 엣지 서버로의 작업 할당을 수행하는 단계를 포함하는 작업 오프로딩 방법.
- 제7항에 있어서,상기 작업 분할을 허용하는 방법은,잔차 그래프가 상기 최소 비용 최대 흐름 그래프에서 생성되고 각 노드 사이의 흐름을 표현하기 위한 이진 함수의 값과 비용을 초기화하는 과정, 최단 경로 빠른 알고리즘을 사용하여 최소 비용 흐름을 도출함에 따라 상기 잔차 그래프에 경로를 생성하고, 상기 흐름을 갱신하는 경로 증강 과정 및 정점 사이에 흐름이 존재할 경우, 작업을 구성하는 하위 작업 중 하나를 처리하기 위해 엣지 서버를 선정함으로써 상기 하위 작업이 할당된 엣지 서버의 지수값을 갱신하는 마무리 과정을 수행하는작업 오프로딩 방법.
- 제7항에 있어서,상기 작업 분할을 허용하지 않는 방법은,상기 최소 비용 최대 흐름 그래프에 작동되고, 소스 정점에서 싱크 정점으로 최소 비용 흐름을 계산하는 최소 비용 흐름 과정, 상기 최소 비용 흐름과 연관된 작업 정점을 제거하고 용량 사용량과 작업이 할당된 엣지 서버의 지수값을 갱신하고 흐름과 연관된 엣지들을 제거하는 과정을 수행하는작업 오프로딩 방법.
- 컴퓨터로 구현되는 작업 오프로딩 시스템에 있어서,각각의 엣지 서버의 전력 정보에 기초하여 오프로드된 작업을 실행할 엣지 서버를 결정하는 서버 결정부; 및상기 결정된 엣지 서버에 설정된 할당 정보에 따라 작업을 오프로딩하는 작업 오프로딩부를 포함하는 작업 오프로딩 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0129920 | 2020-10-08 | ||
KR1020200129920A KR102432007B1 (ko) | 2020-10-08 | 2020-10-08 | 모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022075528A1 true WO2022075528A1 (ko) | 2022-04-14 |
Family
ID=81126531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2020/017849 WO2022075528A1 (ko) | 2020-10-08 | 2020-12-08 | 모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102432007B1 (ko) |
WO (1) | WO2022075528A1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115242650A (zh) * | 2022-08-03 | 2022-10-25 | 缀初网络技术(上海)有限公司 | 一种降低网络成本的带宽分配方法及系统 |
CN116112976A (zh) * | 2022-12-20 | 2023-05-12 | 暨南大学 | 设备计算迁移方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190141120A1 (en) * | 2018-12-28 | 2019-05-09 | Intel Corporation | Technologies for providing selective offload of execution to the edge |
WO2020023115A1 (en) * | 2018-07-27 | 2020-01-30 | Futurewei Technologies, Inc. | Task offloading and routing in mobile edge cloud networks |
US20200076875A1 (en) * | 2016-12-28 | 2020-03-05 | Intel IP Corporation | Application computation offloading for mobile edge computing |
KR20200109272A (ko) * | 2019-03-12 | 2020-09-22 | 삼성전자주식회사 | 애플리케이션 요청의 처리를 최적화하는 방법 및 시스템 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8560465B2 (en) * | 2009-07-02 | 2013-10-15 | Samsung Electronics Co., Ltd | Execution allocation cost assessment for computing systems and environments including elastic computing systems and environments |
US10289183B2 (en) * | 2014-08-22 | 2019-05-14 | Intel Corporation | Methods and apparatus to manage jobs that can and cannot be suspended when there is a change in power allocation to a distributed computer system |
JP7280180B2 (ja) * | 2016-09-15 | 2023-05-23 | サバント システムズ インコーポレイテッド | 動的ナノグリッドを作成し、電力消費者を集合化して、エネルギー市場に参加するシステム及び方法 |
KR20200017589A (ko) * | 2018-07-27 | 2020-02-19 | 한국전자통신연구원 | 무선 통신 시스템에서 모바일 노드의 태스크를 오프로딩하기 위한 클라우드 서버 및 그의 동작 방법 |
-
2020
- 2020-10-08 KR KR1020200129920A patent/KR102432007B1/ko active IP Right Grant
- 2020-12-08 WO PCT/KR2020/017849 patent/WO2022075528A1/ko active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200076875A1 (en) * | 2016-12-28 | 2020-03-05 | Intel IP Corporation | Application computation offloading for mobile edge computing |
WO2020023115A1 (en) * | 2018-07-27 | 2020-01-30 | Futurewei Technologies, Inc. | Task offloading and routing in mobile edge cloud networks |
US20190141120A1 (en) * | 2018-12-28 | 2019-05-09 | Intel Corporation | Technologies for providing selective offload of execution to the edge |
KR20200109272A (ko) * | 2019-03-12 | 2020-09-22 | 삼성전자주식회사 | 애플리케이션 요청의 처리를 최적화하는 방법 및 시스템 |
Non-Patent Citations (1)
Title |
---|
YUAN HAITAO; ZHOU MENGCHU: "Profit-Maximized Collaborative Computation Offloading and Resource Allocation in Distributed Cloud and Edge Computing Systems", IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, IEEE SERVICE CENTER, NEW YORK, NY, US, vol. 18, no. 3, 14 July 2020 (2020-07-14), US , pages 1277 - 1287, XP011864344, ISSN: 1545-5955, DOI: 10.1109/TASE.2020.3000946 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115242650A (zh) * | 2022-08-03 | 2022-10-25 | 缀初网络技术(上海)有限公司 | 一种降低网络成本的带宽分配方法及系统 |
CN116112976A (zh) * | 2022-12-20 | 2023-05-12 | 暨南大学 | 设备计算迁移方法、装置、设备及存储介质 |
CN116112976B (zh) * | 2022-12-20 | 2024-05-03 | 暨南大学 | 设备计算迁移方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
KR102432007B1 (ko) | 2022-08-12 |
KR20220046812A (ko) | 2022-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022075528A1 (ko) | 모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩 | |
Maleki et al. | Mobility-aware computation offloading in edge computing using machine learning | |
WO2014126322A1 (ko) | 클라우드 컴퓨팅을 위한 효율적인 자원 배분 장치 | |
WO2019132299A1 (ko) | 클라우드 시스템에서의 우선 순위 기반 자원 스케일링 시스템, 장치 및 방법 | |
CN112148492B (zh) | 一种考虑多用户移动性的服务部署和资源分配方法 | |
CN111835849A (zh) | 增强接入网服务能力的方法和装置 | |
US9959290B2 (en) | Method for the continuous processing of two-level data on a system with a plurality of nodes | |
KR20230035024A (ko) | 클라우드 무선 접속 네트워크의 동적 리소스를 할당하는 장치 및 방법 | |
US7664858B2 (en) | Method for balancing load between processors in a multi-processor environment | |
US8468041B1 (en) | Using reinforcement learning to facilitate dynamic resource allocation | |
CN116681245A (zh) | 一种众包系统中工人选择和任务分派方法及装置 | |
CN114693141B (zh) | 一种基于端边协同的变电站巡检方法 | |
KR100478346B1 (ko) | 그래프 파티션을 이용한 클러스터 서버 환경에서의 로드밸런싱 방법 및 그 시스템 | |
CN113015109B (zh) | 一种车辆雾计算中无线虚拟网络准入控制方法 | |
Panigrahi et al. | Optimization policy for different arrival modes in IoT assisted geospatial fog computing environment | |
Kontos et al. | Cloud-Native Applications' Workload Placement over the Edge-Cloud Continuum. | |
Jain et al. | A systematic review of workflow scheduling techniques in a fog environment | |
Hluchý et al. | Hybrid approach to task allocation in distributed systems | |
Кучук | Comprehensive performance criterion for hyper-converged infrastructure | |
KR102491934B1 (ko) | 분산 에지 컴퓨팅 환경에서 작업 할당 방법 | |
Mjihil et al. | Optimized security as a service platforms via stochastic modeling and dynamic programming | |
Abedin et al. | A Transport Theoretic Approach for Computational Task Migration in Multi-Access Edge Computing | |
US20240121190A1 (en) | Design device, design method, and design program | |
WO2024143839A1 (ko) | 실시간 엣지 컴퓨팅 사용률을 반영한 동적 서비스 캐싱 시스템 및 방법 | |
WO2024181010A1 (ja) | 情報処理装置、情報処理方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20956843 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20956843 Country of ref document: EP Kind code of ref document: A1 |