KR20220046812A - Reward-oriented task offloading under limited edge server power for mobile edge computing - Google Patents
Reward-oriented task offloading under limited edge server power for mobile edge computing Download PDFInfo
- Publication number
- KR20220046812A KR20220046812A KR1020200129920A KR20200129920A KR20220046812A KR 20220046812 A KR20220046812 A KR 20220046812A KR 1020200129920 A KR1020200129920 A KR 1020200129920A KR 20200129920 A KR20200129920 A KR 20200129920A KR 20220046812 A KR20220046812 A KR 20220046812A
- Authority
- KR
- South Korea
- 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
-
- H04L67/2861—
-
- 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
Abstract
Description
아래의 설명은 모바일 엣지 컴퓨팅에서 엣지 서버에게 작업을 오프로딩 하는 기술에 관한 것이다. The description below relates to techniques for offloading tasks from mobile edge computing to edge servers.
네트워크 및 시스템 기술의 향상은 무선 네트워크에 의존하는 애플리케이션의 실현 가능성을 증가시켰다. 센서, 스마트 개인용 기기, 운전자 없는 차량 등 연결된 사물인터넷(IoT) 기기를 기반으로 한 증강현실 및 스마트 교통 관제 시스템이 대표적이다. 스마트 IoT 디바이스는 빠르게 증가하고 있으며, 2030년까지는 스마트시티 애플리케이션에서 5000억대의 스마트 IoT 디바이스가 필요할 것으로 예측된다. 이러한 애플리케이션은 스마트 IoT 디바이스에 의해 생성될 방대한 양의 데이터를 처리해야 할 것이다.Advances in network and system technologies have increased the feasibility of applications that depend on wireless networks. 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. Smart 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.
일부 IoT 디바이스는 빠른 연산이 필요한 작업을 수행해야 한다. 또한 정기적으로 처리해야 하는 센서 데이터의 정기적인 수집을 수반한다. 컴퓨팅 기능이 제한되면 이러한 작업을 클라우드 서버로 오프로드해야 할 경우가 있다. 그러나 클라우드에서 중앙 서버를 중심으로 코어 네트워크가 부과하는 지연은 클라우드 기반 접근법이 적절하지 않을 수 있음을 의미한다. 신속한 처리가 필요한 IoT 기반 시스템을 위해서 엣지 컴퓨팅 서비스를 통해 문제를 해결한다. 클라우드 가장자리에 위치한 엣지 서버(ES)는 빠른 처리와 더불어 중앙 서버의 부하 감소 효과를 산출하므로, 엣지 컴퓨팅에 대한 수요는 빠르게 증가할 것으로 예상된다. 엣지 컴퓨팅 서비스는 각 기지국(BS)에 엣지 서버를 배치하거나 엣지 서버를 여러 기지국에 연결하여 구현할 수 있다. 이를 모바일 엣지 컴퓨팅(MEC)이라고 한다. 이러한 기지국의 범위 내에 위치한 IoT 장치는 기지국에서 엣지 서버로 작업을 오프로드하거나 액세스할 수 있다.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. For IoT-based systems that require rapid processing, we solve problems through edge computing services. 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.
EIP(Edge Infrastructure Providers)는 고객에게 엣지 컴퓨팅 서비스를 제공하기 시작했다. EIP는 클라우드 가장자리에 엣지 서버를 설치하고 이를 사용하여 고객에게 컴퓨팅 성능을 제공한다. 고객 간에 엣지 서버 공유 자원 활용을 개선하고 EIP에 대한 재정적 수익을 얻는다. EIP가 고객과 맺은 계약상 약정에 따라 서버에서 운영하는 우선순위가 결정된다. EIP 에 대한 총 보상의 최대화라는 맥락 안에서 어떤 작업이 오프로드 되는지를 결정할 필요가 있다.Edge Infrastructure Providers (EIPs) 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. Improve edge server shared resource utilization among customers and get financial return on EIP. 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.
엣지 서버는 원격지 마이크로 데이터센터로서 전력 소비량은 10kW급이 될 것으로 예상된다. 그러한 서버 수천 대가 EIP의 주요 관심사인 메가와트를 소비하게 되므로, 전력 제한이 반드시 필요하다. 엣지 서버에서 끌어온 전력이 사전 정의된 전력 제한치 미만을 유지한다. 서버가 소비하는 전력은 CPU 활용률에 따라 달라진다. 이는 서버의 작업량에 따라 결정되며, 엣지 서버가 수용하는 오프로드된 작업의 수에 따라 결정되는 것을 의미한다. 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.
이에 따라 작업 오프로딩 기술을 사용하여 모바일 기기에 의해 사용되는 에너지를 줄이기 위한 기술이 요구된다. Accordingly, there is a need for techniques to reduce the energy used by mobile devices using task offloading techniques.
엣지 서버에 의해 소비되는 전력을 제한하면서 발생한 이익과 관련된 보상을 최대화하는 방법 및 시스템을 제공할 수 있다. 상세하게는, 엣지 서버의 전력 특성을 검토하여 최적화 문제를 공식화하고, 각 오프로드된 작업을 실행할 엣지 서버를 결정함에 따라 설정된 각 엣지 서버의 최대 허용 CPU 활용률에 기초하여 각 엣지 서버 최대 허용 CPU 활용률과 관련된 전력 소비량을 고려하여 보상을 예측하고, 최소 비용 최대 흐름(MCMF) 그래프를 사용하여 작업 할당을 수행하는 방법 및 시스템을 제공할 수 있다. It is possible to provide a method and system for maximizing the rewards associated with the benefits accrued while limiting the power consumed by an edge server. In detail, 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. may include
상기 작업을 오프로딩하는 단계는, 상기 각각의 엣지 서버의 최대 허용 가능한 사용률을 결정하는 동시에 전력 요구량에 대한 엣지 서버 제공자의 보상 비율이 높은 작업의 오프로드에 높은 우선 순위를 부여하는 단계를 포함할 수 있다. 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. can
상기 작업을 오프로딩하는 단계는, 상기 각각의 엣지 서버의 전력 제약조건을 충족하면서 최대 허용 가능한 사용률의 값들을 탐색하는 단계를 포함할 수 있다.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 may include iteratively calculating the power increment and the reward increment from the task assignment, 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. When a flow exists between vertices and a path augmentation process that creates a path in the residual graph as a flow is derived and updates the flow, 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 least 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. By retrieving the highest reward and offloading tasks that are affected by server capacity, higher rewards can be achieved than alternative plans under the same power constraints.
도 1은 일 실시예에 따른 모바일 엣지 컴퓨팅 구조를 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 작업 오프로딩 시스템의 구성을 설명하기 위한 블록도이다.
도 3은 일 실시예에 따른 작업 오프로딩 시스템의 모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩 방법을 설명하기 위한 흐름도이다.
도 4는 일 실시예에 따른 작업 오프로딩 시스템에서 최대 허용 사용률 결정(maximum utilization determination: MUD) 알고리즘에 대한 의사 코드를 나타낸 도면이다.
도 5는 일 실시예에 따른 작업 오프로딩 시스템에서 엣지 서버 할당 문제를 흐름 네트워크로 모델링하는 것을 설명하기 위한 예이다.
도 6은 일 실시예에 따른 작업 오프로딩 시스템에서 사이의 흐름을 표현하기 위한 잔차 그래프의 예이다.
도 7은 일 실시예에 따른 작업 오프로딩 시스템에서 작업 분할이 허용된 경우의 엣지 서버 할당 알고리즘에 대한 의사 코드를 나타낸 도면이다.
도 8은 일 실시예에 따른 작업 오프로딩 시스템에서 작업 할당 없는 엣지 할당 알고리즘에 대한 의사 코드를 나타낸 도면이다.
도 9 내지 도 14는 일 실시예에 따른 작업 오프로딩 시스템의 실험 결과를 설명하기 위한 그래프이다. 1 is a diagram for explaining a mobile edge computing structure according to an embodiment.
2 is a block diagram illustrating the configuration of a work offloading system according to an embodiment.
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.
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.
6 is an example of a residual graph for representing a flow between tasks in a task offloading system according to an embodiment.
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.
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.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.
모바일 엣지 컴퓨팅에서 작업은 모바일 장치에서 네트워크 가장자리에 있는 서버로 오프로드됨으로써 중앙 서버에 도달하는 데 필요한 대기 시간을 발생시키지 않고 작업 처리 속도를 높인다. 단, 엣지 서버에 의해 사용되는 힘은 상당하며 비용이 효율적일 필요가 있다. 실시예에서는 제한된 전력 소모량, 서버 처리 용량, 무선 네트워크 커버리지 내에서 엣지 서버 제공자의 보상을 최대화할 목적으로 작업을 서버로 오프로드하는 방안을 설명하기로 한다. In mobile edge computing, jobs are offloaded from mobile devices to servers at the edge of the network, speeding up job processing without incurring the latency required to reach a central server. However, the power used by the edge server is significant and needs to be cost-effective. 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.
도 1은 일 실시예에 따른 모바일 엣지 컴퓨팅 구조를 설명하기 위한 도면이다.1 is a diagram for explaining a mobile edge computing structure according to an embodiment.
엣지 서버들은 기지국들의 커버리지 안에 있는 IoT 장비들에서 오프로드된 작업들을 처리하기 위해 적어도 하나 이상의 기지국으로 할당될 수 있다. 만약 한 작업이 엣지 서버에서 EIP('엣지 서버 제공자'로 기재하기로 함)로 오프로드 되면, 그 엣지 서버 제공자는 엣지 서버에 의해 수행된 계산량에 기반하여 보상을 받을 수 있다. 그렇지 않으면, 오프로드된 작업들은 클라우드의 중앙 서버로 넘겨진다. 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.
한편, SPEC 전력위원회는 엣지 서버들의 에너지 소비량을 측정하는 도구들과 표준들을 제공하고 있다. 2006년부터 엣지 서버들을 위한 에너지 측정값들을 수집했고 에너지 소비와 CPU사용률 사이의 관계에 대해 분석하였으며, 이는 서버 특성에 의해 강력히 좌우되는 것으로 밝혀졌다. Meanwhile, 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.
감시, 공기질 모니터링 및 교통량 모니터링과 같은 많은 IoT 애플리케이션들은 주기적으로 처리되어야 하는 센서 데이터의 주기적인 수집이 필요하다. 작업 오프로딩을 위해, 각각의 작업은 일정시간 동안 요구되는 계산량을 계산하고, 엣지 서버에서 제공하는 프로세서 용량의 일정 비율을 받을 수 있다. 작업 사용량은 작업에 필요한 계산량이 분자로, 일정시간 동안 엣지 서버에 의해 제공받은 총 계산량이 분모로 표현될 수 있다. 그 후, 각각의 작업은 각 주기 동안 할당된 프로세서 용량을 사용할 수 있다.Many IoT applications such as surveillance, air quality monitoring and traffic monitoring require periodic collection of sensor data that must be processed periodically. For job offloading, 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.
다른 엣지 서버들이 다른 처리용량을 가질 수 있기 때문에, 각 작업의 사용량을 최고 처리용량을 갖는 엣지 서버에 대하여 정규화할 수 있다. 만약, NES가 엣지 서버의 수라면, (i=1, ..., NES) 를 Ih igh 의 지수를 가진 최고 처리용량을 갖는 엣지 서버와 비교하여 최대 처리용량을 나타내기 위해 사용할 수 있다. 그 후, 작업 의 정규화 처리된 Ui(i=1, ..., Ntask)는 엣지 서버 Ih igh 에서 실행된다는 사실을 기반으로 결정될 수 있다. 여기서, Ntask는 총 작업 수를 나타낸다. 쉽게 설명하기 위하여, Ui와 가 정수 값을 갖는다고 가정하자. 이를 위해, 그레인 크기를 최소 할당 단위로 도입하고 와 Ui를 그레인의 배수로 표현할 수 있다. 예를 들면, 만약, 그레인의 크기가 0.01이면, =100이 된다. Because different edge servers may have different processing capacities, the usage of each job can be normalized to the edge server with the highest processing capacity. If NES is the number of edge servers, (i=1, ..., NES) can be used to represent the maximum throughput by comparing it with the edge server with the highest throughput with an exponent of I h igh . After that, work The normalized U i (i=1, ..., N task ) of can be determined based on the fact that it is executed on the edge server I h igh . Here, N task represents the total number of tasks. For ease of explanation, 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.
, 를 작업 ( i=1,..., Ntask)가 할당된 엣지 서버의 지수라고 하자. 어떠한 엣지 서버로도 할당되지 못하는 작업 을 처리하는 클라우드의 중앙 서버를 나타내기 위해 지수 0을 도입할 수 있다. 요약하자면, 만약 =0이면, 작업는 클라우드 중앙 서버에 의해 처리될 수 있다. 반면에, 만약 =j이면, 작업 는 엣지 서버 j에 의해 처리될 수 있다. 모든 작업에 대하여 합쳐친 총 사용량은 처리용량을 초과할 수 없으므로 가 된다. 이에 따라, 엣지 서버에서의 총 CPU 사용률 은 다음과 같이 표현될 수 있다. , work Let ( i=1,..., N task ) be the index of the assigned edge server. Tasks that cannot be assigned to any edge server An exponent of 0 can be introduced to indicate a central server in the cloud that handles In summary, if =0, work can be processed by a cloud central server. On the other hand, if If =j, work can be processed by edge server j. The total usage for all jobs cannot exceed the processing capacity. becomes Accordingly, the total CPU utilization on the edge server can be expressed as
수학식 1:Equation 1:
각 엣지 서버에 의해 소비되는 전력량을 제한하기 위하여, CPU 사용률을 제한할 수 있다. 이를 위해, 각 엣지 서버 j에 대해 최대 허용 가능한 CPU 사용률 Yj를 도입할 수 있다. 여기에서, CPU 사용률 Yj는 0과 사이의 정수이다. 이때, 각 엣지 서버 j에서 총 CPU 사용률 Yj을 초과해서는 안된다. 만약, CPU 사용률 Yj가 0이면, 각 엣지 서버 j는 어떠한 작업도 처리할 수 없다. 만약, Yj=라면, 각 엣지 서버 j의 처리용량을 완전히 사용할 수 있다.In order to limit the amount of power consumed by each edge server, CPU usage may be limited. To this end, a maximum allowable CPU utilization Y j can be introduced for each edge server j. Here, CPU utilization Y j is 0 and is an integer between At this time, the total CPU usage rate Y j in each edge server j must not be exceeded. If the CPU usage rate Y j is 0, each edge server j cannot process any tasks. If Y j = If so, the processing capacity of each edge server j can be fully used.
활성 전력은 엣지 서버가 연산 작업을 진행하고 있는 동안 소비된 전력이고, 이는 CPU 사용률에 따라 비선형적으로 달라진다. 연산이 진행되지 않을 경우에도, 엣지 서버는 고정된 유휴 전력을 사용한다. 이에 따라, 각 엣지 서버 j에서 사용률이 x일 때, 활성 전력 계수를 표현하기 위해 를 사용하고 각 엣지 서버 j의 유휴 전력 계수를 표현하기 위해 를 사용할 수 있다. 이에, 각 엣지 서버 j에 의해 도출된 전력 를 사용률 x에 따라 다음과 같이 정의될 수 있다.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, the utilization rate on each edge server j is x When , 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.
수학식 2: Equation 2:
도 2는 일 실시예에 따른 작업 오프로딩 시스템의 구성을 설명하기 위한 블록도이고, 도 3은 일 실시예에 따른 작업 오프로딩 시스템의 모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩 방법을 설명하기 위한 흐름도이다. 2 is a block diagram for explaining the configuration of a task offloading system according to an embodiment, and 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.
작업 오프로딩 시스템(100)의 프로세서는 서버 결정부(210) 및 작업 오프로딩부(220)를 포함할 수 있다. 이러한 프로세서의 구성요소들은 작업 오프로딩 시스템에 저장된 프로그램 코드가 제공하는 제어 명령에 따라 프로세서에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 프로세서 및 프로세서의 구성요소들은 도 3의 모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩 방법이 포함하는 단계들(310 내지 320)을 수행하도록 작업 오프로딩 시스템을 제어할 수 있다. 이때, 프로세서 및 프로세서의 구성요소들은 메모리가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다.The processor of the
프로세서는 모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩 방법을 위한 프로그램의 파일에 저장된 프로그램 코드를 메모리에 로딩할 수 있다. 예를 들면, 작업 오프로딩 시스템(100)에서 프로그램이 실행되면, 프로세서는 운영체제의 제어에 따라 프로그램의 파일로부터 프로그램 코드를 메모리에 로딩하도록 작업 오프로딩 시스템(100)을 제어할 수 있다. 이때, 프로세서 및 프로세서가 포함하는 서버 결정부(210) 및 작업 오프로딩부(220) 각각은 메모리에 로딩된 프로그램 코드 중 대응하는 부분의 명령을 실행하여 이후 단계들(310 내지 320)을 실행하기 위한 프로세서의 서로 다른 기능적 표현들일 수 있다.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
서버 결정부(210)는 각각의 엣지 서버의 전력 정보에 기초하여 오프로드된 작업을 실행할 엣지 서버를 결정할 수 있고(310), 작업 오프로딩부(220)는 결정된 엣지 서버에 설정된 할당 정보에 따라 작업을 오프로딩할 수 있다(320). 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 ).
실시예에서는 다음에서 설명하는 3가지 제약조건 하에서 전체 보상을 극대화하기 위하여 적절한 엣지 서버로 각각의 작업을 할당할 수 있다.In the embodiment, 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.
수학식 3:Equation 3:
엣지 서버 커버리지: 엣지 서버는 엣지 서버 영역 내에 존재하는 기기들에서 전송되는 작업만 수신할 수 있다. 그 작업이 엣지 서버에 의해 받아들여질 수 있는지 여부를 나타내는 이진 상수 H i,j 를 도입할 수 있다. 만약, H i,j =1이라면, 각 엣지 서버 j는 작업 를 오프로드 하는 요청을 받아들일 수 있다. 만약, H i,j =0이라면, 각 엣지 서버 j는 작업 를 오프로드 하는 요청을 받아들일 수 없다. 이에 따라, 작업 은 H i,j =1일 경우에만, 엣지 서버 X로 할당될 수 있다.Edge Server Coverage: The edge server can only receive jobs from devices that exist within the edge server area. You can introduce a binary constant H i,j that indicates whether the operation can be accepted by the edge server. If H i,j = 1, each edge server j can accept requests to offload If H i,j = 0, each edge server j Could not accept request to offload Accordingly, work can be assigned to the edge server X only when H i,j =1.
전력: Pl imit 는 사용이 허용되는 모든 엣지 서버의 최대 총 전력이다.Power: P l imit is the maximum total power of all edge servers allowed to be used.
수학식 4:Equation 4:
이에, 각 엣지 서버에서 작업 을 처리할 때, 엣지 서버 제공자에 의해 받은 보상인 R i,j 를 도입하기로 한다. 그리고 나서, 엣지 서버 할당 문제와 최대 허용 사용량 결정 문제를 공식화할 수 있다. 이는, 모든 엣지 서버의 보상들의 합계를 극대화하기 위한 목적으로 각각의 작업 에서의 값 , (=0, ??, NES)를 찾는 것과 모든 엣지 서버 j에서의 최대 허용 가능한 사용률 , (=0, ??, )를 찾는 것으로 구성될 수 있다. Therefore, work on each edge server When processing , we will introduce R i,j , which is the reward received by the edge server provider. Then, we can formulate the problem of allocating edge servers and determining the maximum allowable usage. This is done for the purpose of maximizing the sum of all edge server rewards. value at , ( =0, ??, N ES ) and the maximum allowable utilization on all edge servers j , ( =0, ??, ) can consist of finding
도 4를 참고하면, 최대 허용 사용률 결정(maximum utilization determination: MUD) 알고리즘에 대한 의사 코드를 나타낸 도면이다.Referring to FIG. 4 , a diagram illustrating a pseudo code for a maximum allowable utilization determination (MUD) algorithm.
작업 오프로딩 시스템은 최대 허용 가능한 사용률을 결정할 수 있다. 최적화 문제를 해결하기 위하여, 각각의 작업 에 대한 값 과 각각의 엣지 서버 j에 대한 최대 허용 가능한 사용률 을 결정해야 한다. 각각의 엣지 서버 j는 처리용량을 갖고 있으며, 와 의 모든 조합들을 고려하는 것은 비실용적이다. 이에 따라 이를 2개의 하위 문제로 나눈다. 사용률 결정 문제(UDP: utilization determination problem,)는 에너지 제약조건을 충족하면서 최대 허용 가능한 사용률 의 값들을 찾는 것이다. 엣지 서버 할당 문제(EAP: edge server allocation problem,)는 각각의 작업을 엣지 서버로 할당하는 값들을 찾는 것이다.The task offloading system may determine the maximum allowable utilization rate. To solve the optimization problem, each task value for and maximum allowable utilization for each edge server j have to decide Each edge server j is has a processing capacity, Wow 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 the energy constraint. to find the values of The edge server allocation problem (EAP) is to assign as an edge server to find values.
사용률 결정 문제에 대하여 설명하기로 한다. The problem of determining the utilization rate will be described.
엣지 서버 j에서 가능한 보상들 과 그에 해당하는 에너지 요구조건들이 제공된다면, 사용률 결정 문제는 다중 선택 배낭 문제(multiple-choice knapsack problem, MKCP)로 축소될 수 있다. 과부하 없이 아이템들을 배낭에 넣었을 때 얻는 총 이익을 극대화시키기 위해서, 다수의 아이템들을 포함하는 몇몇 클래스들의 각각에 대해 가중치와 이익이 있는 하나의 아이템을 선택해야 한다.Possible rewards on edge server j Provided and the corresponding energy requirements are provided, the problem of determining the utilization rate can be reduced to the multiple-choice knapsack problem (MKCP). In order to maximize the total benefit of putting items in the backpack without overloading them, you should choose one item with a weight and a benefit for each of several classes that contain multiple items.
사용률 결정 문제에서 클래스는 사용률 값을 각각 갖고 있는 엣지 서버이며, 각 사용률 값은 총합이 를 초과할 수 없는 전력과 극대화 되어야 하는 보상과 연관되어 있다. MCKP는 NP-난해 이다. 하지만 이익-가중치 비율에 기반을 둔 그리디 알고리즘(greedy algorithm)은 보통 잘 수행된다. 사용률 결정 문제는 작업 할당으로부터 전력과 보상 증가량을 반복적으로 계산하여 부등식 (4)에서의 전력 제약조건이 충족되고 각각의 엣지 서버 j에서 최대 허용 가능한 사용률 이 결정될 때까지 전력 비율에 더 높은 보상을 주는 사용률 값에 우선순위를 부여할 수 있다.In the utilization determination problem, 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. However, 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.
다음은, 엣지 서버 할당 문제에 대하여 설명하기로 한다. Next, the edge server allocation problem will be described.
작업 오프로딩 시스템은 최소 비용 최대 흐름 그래프(MCMF)를 사용하여 엣지 서버로의 작업 할당을 모델링할 수 있다. 실시예에서는 가능한 2가지 엣지 할당 알고리즘을 고려할 수 있다. 작업 분할을 허용하는 알고리즘과 허용하지 않는 알고리즘이다. 만약 작업 분할이 허용된다면, 생성된 하위작업들이 다른 엣지 서버에 할당될 수 있다. 모델링을 통해 작업 는 개의 하위 작업 으로 분할될 수 있다. 작업 오프로딩 시스템은 각각의 하위 작업의 CPU 사용이 정수 값을 갖도록 조건화 하였고(작업의 사용률 값과 마찬가지로), 따라서 작업 가 분할될 수 있는 최대 하위 작업 수는 이다. ()이 하위 작업 이 할당된 엣지 서버의 지수라고 하자. 최소 비용 최대 흐름 그래프 그래프에서 최적의 정수 기반 흐름 집합을 찾을 수 있고, 이는 최대 가능한 흐름 전달 비용을 최소화한다. 이러한 흐름들에 부합하는 값들을 결정하기 위해 이 알고리즘을 사용할 수 있다.A job offloading system can model the assignment of jobs to an edge server using a minimum cost maximum flow graph (MCMF). In an embodiment, 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는 이익을 극대화시키기 위해서 다른 가중치와 이익을 갖는 아이템들이 제한된 용량을 갖는 배낭으로 할당되어야 하는 다수 배낭 문제(MKP)로 축소될 수 있다. 다수 배낭 문제에서 아이템들은 작업이고, 엣지 서버 할당 문제의 목적은 각각의 엣지 서버 에서 처리용량에 따른 총 보상을 극대화시키는 것이다. 다중 선택 배낭 문제(MKCP)처럼 다수 배낭 문제(MKP)는 NP난해이다. 작업 오프로딩 시스템은 처리용량이 남지 않을 때까지 최대 보상값을 기반으로 하여 작업들을 엣지 서버로 할당하는 그리디 알고리즘을 다시 사용할 수 있다. When task splitting is not allowed and each task has to be executed on a single edge server, 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 In the multiple backpack 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. Like the multiple-choice knapsack problem (MKCP), the multiple knapsack problem (MKP) is NP-hard. 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.
다음으로, 최대 허용 사용률 결정 알고리즘에 대하여 설명하기로 한다. Next, an algorithm for determining the maximum allowable usage rate will be described.
3가지 새로운 변수를 필요로 하는 값을 결정해야 한다. 먼저 알고리즘이 진행되는 동안 의 값들을 저장하기 위해 각 작업 에서 일시적인 변수 를 도입한다. 그리고 는 엣지 서버 j에 의해 도출된 전력 증가량을 나타내고, 새로운 작업 가 여기에 할당될 때 이는 다음과 같이 표현된다. requires 3 new variables value must be determined. First, while the algorithm is running Each operation to store the values of temporary variable in introduce And represents the power increase derived by edge server j, and When is assigned here, it is expressed as
수학식 5:Equation 5:
여기에서 는 작업 이 각 엣지 서버 j에게 할당되기 전에, 엣지 서버 j에 의해 도출된 전력이고, 는 그 후에 엣지 서버 j에 의해 도출된 전력이다.From here work This is the power drawn by the edge server j before being allocated to each edge server j, is then the power derived by edge server j.
는 작업 을 엣지 서버 j에게 할당함으로써 발생하는 보상의 증가량과 수학식 5의 증가량 간의 비율을 나타내는 특정 보상이다. 이 특정 보상은 다음과 같이 표현될 수 있다. work It is a specific reward representing the ratio between the increase amount of the reward generated by allocating to the edge server j and the increase amount of
수학식 6: Equation 6:
도 4의 최대 허용 사용률 결정(maximum utilization determination: MUD) 알고리즘의 목적은 적은 전력 소비량으로 큰 보상을 얻는 것이다. 최대 허용 사용률 결정 알고리즘은 각 i와 j에서의 전력 필요량 과 특정 보상 을 계산한다. 그리고 나서 i=M이고j=H 일 때의 최대값 을 결정한다. 그리고 임시 변수 를 1로 설정하여 을 할당된 것으로 표시하고 총 전력 요구량 를 갱신한다. 이 과정은 최대 전력 조건이 충족되지 않을 때 혹은 작업이 더 이상 남지 않을 때까지 반복된다. 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. The algorithm for determining the maximum allowable utilization rate is the amount of power required at each i and j. and specific rewards to calculate Then the maximum value when i=M and j=H to decide and temporary variables set to 1 mark as allocated and total power demand update This process is repeated until either the maximum power condition is not met or there are no more jobs left.
도 5는 일 실시예에 따른 작업 오프로딩 시스템에서 엣지 서버 할당 문제를 흐름 네트워크로 모델링하는 것을 설명하기 위한 예이다. 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.
엣지 서버 할당에 대하여 설명하기로 한다. Edge server allocation will be described.
작업 오프로딩 시스템은 최소 비용 최대 흐름 그래프(MCMF)를 작성할 수 있다. 엣지 서버 할당 문제(EAP)는 최소 비용 최대 흐름 문제로 효과적으로 표현될 수 있다. 이는 직접적으로 엣지에 연결되었고 소스, 싱크 그리고 중계 노드가 있는 흐름 네트워크인 최대 비용 최대 흐름 그래프를 생성함으로써 설명될 수 있다. 소스 노드는 외부로 향하는 엣지만 있으며 싱크 노드는 내부로 향하는 엣지만 있다. 노드 a에서 노드 b로의 엣지는 용량과 비용이 있다. 최소 비용 최대 흐름 그래프의 문제는 적은 비용에서 총 흐름을 극대화시키는 소스 노드에서 싱크 노드로 가는 흐름들의 집합을 찾는 것이다. The task offloading system can create a Minimum Cost Maximum Flow Graph (MCMF). The edge server allocation problem (EAP) can be effectively expressed as a minimum cost maximum flow problem. This can be explained by creating a max cost max flow graph, which is a flow network with source, sink and relay nodes directly connected to the edge. A source node has only an outward-facing edge, and 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.
일례로, 엣지 서버 할당 문제는 도 5에서 제시된 것처럼 다음과 같은 4가지 종류의 정점을 갖는 흐름 네트워크로 모델링될 수 있다. 단일 소스 정점 가 작업 에 상응하는 작업 정점 가 엣지 서버 j에 상응하는 엣지 서버의 정점 , 가 엣지 서버 j에 상응하는 엣지 서버의 정점 , 그리고 단일 싱크 정점 t이다. 이제, 엣지 서버 j에서 사용된 처리용량 단위당 보상을 다음과 같이 정의할 수 있다.As an example, 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 , and a single sink vertex t. Now, the reward per unit of processing capacity used in edge server j can be defined as follows.
이 경우, 흐름 네트워크를 생성할 때의 규칙은 다음과 같이 묘사할 수 있다.In this case, the rules for creating a flow network can be described as follows.
소스 정점 s는 모든 작업 정점에 연결된다. 각 엣지()는 용량 과 비용 0을 가진다.The source vertex s is connected to all working vertices. Each edge ( ) is the capacity and
각 정점 , (i=1,...,Ntask)는 =1일 때, 정점 에 연결된다. 각 엣지는 용량 와 비용 을 가진다.each vertex , (i=1,...,N task ) is When =1, the vertex is connected to Each edge has a capacity and cost have
각 정점 , (j=1,...,NES) 는 싱크 정점 t에 연결된다. 각 엣지 ()는 용량 와 비용 0을 가진다.each vertex , (j=1,...,N ES ) is connected to the sink vertex t. each edge ( ) is the capacity and
엣지 서버 할당 문제는 각 엣지 서버에서의 사용 조건을 만족하면서 총 보상을 극대화시키는 것을 목적으로 하며, 작업 분할이 허용될 때는 값 을 결정하고, 작업 분할이 허용되지 않을 때는 를 결정하여 해결할 수 있다. 총 보상을 극대화시키는 것은 총 비용 을 최소화시키는 것에 해당된다.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 to decide, and when division of work is not allowed can be resolved by determining Maximizing the total reward is the total cost is to minimize the
만약 소스 노드에서 싱크 노드로의 작업 에 대한 흐름 용량이 라면, 각 엣지 서버의 정점 에서 싱크 정점으로의 총 흐름은 엣지 서버 j의 용량 제약조건인 를 초과할 수 없다. =1인 경우에만 와 사이의 엣지가 존재하기 때문에 엣지 서버 커버리지 제약조건은 최소 비용 최대 흐름 그래프에 표현될 수 있다.If the operation from the source node to the sink node is flow capacity for Ramen, the vertex of each edge server The total flow from to the sink vertex is the capacity constraint of edge server j. cannot exceed only if =1 Wow Because there is an edge between them, the edge server coverage constraint can be expressed in the minimum cost maximum flow graph.
도 7은 일 실시예에 따른 작업 오프로딩 시스템에서 작업 분할이 허용된 경우의 엣지 서버 할당 알고리즘에 대한 의사 코드를 나타낸 도면이다.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)은 알고리즘은 도 7에 제시되어 있다. EAA-TS는 감소하는 비용으로 소스에서 싱크로의 길을 찾고, 이는 또한 최단 경로 빠른 알고리즘(shortest path faster algorithm: SPFA)을 사용하여 용량 조건을 만족하며 이는 잘 알려진 벨만-포드 알고리즘의 개선된 형태이다. The Edge Server Allocation Algorithm (EAA-TS) when task partitioning is allowed is presented in FIG. 7 . EAA-TS finds a path from source to synchro at a reduced cost, which also uses the shortest path faster algorithm (SPFA) to satisfy the capacity condition, which is an improved form of the well-known Bellman-Ford algorithm. .
실시예에서는 정점(노드) a와 b 사이의 흐름을 표현하기 위해서 이진 함수 f(a, b)를 도입하기로 한다. f(a, b) 값이 1이라면, 흐름이 존재한다. 알고리즘 실행 시 선택된 경로는 최종 흐름의 일부분이 아니기 때문에 최단 경로 빠른 알고리즘은 역방향 경로가 필요하며 이는 취소될 수 있다. 따라서 각 엣지가 2개의 정점 사이에 허용될 수 있는 추가적인 흐름을 나타내고 역방향 경로가 허용되는 잔차 그래프를 작성해야 한다.In the embodiment, 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.
예를 들어, v1에서 w1으로 흐름이 있도록 하기 위해 f(v1,w1) = 1 이라고 가정해보자. 이에 해당하는 잔차 그래프가 도6에 표시되어 있다. 모든 엣지들 에 대한 용량 값은 1만큼 감소했지만, 역방향 경로의 엣지들의 용량은 1만큼 증가했다. 이 역방향 경로 에 대한 비용 은 로 설정된다. 역방향 경로는 알고리즘에 의해 선택될 수 있고, 이 경우 최초의 경로 선정은 취소된다. 최단 경로 빠른 알고리즘은 가능한 흐름이 없어질 때까지 잔차 그래프에서 작동한다.For example, suppose f(v1,w1) = 1 to flow from v1 to w1. A corresponding residual graph is shown in FIG. 6 . all the edges The capacitance value for α was decreased by 1, but the capacitance of the edges of the reverse path increased by 1. this reverse path cost for silver is set to The reverse path may be selected by an algorithm, in which case the initial path selection is cancelled. The shortest path fast algorithm operates on the residual graph until there are no possible flows.
EAA-TS는 최단 경로 빠른 알고리즘 이전과 이후에 작동하는 초기화, 경로 증강 그리고 마무리 과정을 포함한다. EAA-TS includes initialization, path augmentation, and finalization processes that operate before and after the shortest path fast algorithm.
초기화: 잔차 그래프가 최소 비용 최대 흐름 그래프(라인 1)에서 생성되고 흐름 의 값과 비용 이 초기화 된다(라인5-9). Initialization: Residual graph is created from min-cost max flow graph (line 1) and flow value and cost of is initialized (lines 5-9).
경로 증강: 최소 비용 최대 흐름 그래프를 사용해서 최소 비용 흐름을 구한다(라인 11). 이에 해당하는 경로가 잔차 그래프에 생성된다(라인 15). 그리고 흐름이 갱신된다(라인 17-18). 이 과정은 에 생성되는 증강 경로 p가 없어질 때까지 반복된다(라인 12). 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 It is repeated until there is no augmentation path p being created in (line 12).
마무리: 와 사이에 흐름이 있으면, 에 있는 하위 작업 중 하나를 처리하기 위해 엣지 서버 j가 선정되고, 값은 이에 따라 갱신된다(라인 21-29).finish: Wow If there is a flow between Edge server j is chosen to process one of the subtasks in The value is updated accordingly (lines 21-29).
도 8은 일 실시예에 따른 작업 오프로딩 시스템에서 작업 할당 없는 엣지 할당 알고리즘에 대한 의사 코드를 나타낸 도면이다. 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)은 다음과 같이 최소 비용 최대 흐름 그래프에서 작동된다. The Edge Allocation Algorithm without Work Partitioning (EAA-NTS) operates on the minimum cost maximum flow graph as follows.
최소 비용 흐름: 소스 정점에서 싱크 정점으로 최소 비용 흐름 f가 계산된다(라인5). Minimum cost flow: The minimum cost flow f from the source vertex to the sink vertex is computed (line 5).
갱신 및 제거: 최소 비용 흐름과 연관된 작업 정점이 제거되고, 용량 사용량 과 지수 가 갱신되며 흐름과 연관된 엣지들이 제거된다(라인 6-16). 예를 들어, 최소 비용 흐름이 도5에서 라고 가정하자. 그렇다면 에 해당되는 정점은 들어오는 엣지 및 나가는 엣지와 함께 제거된다. 이 엣지 서버 2로 할당되었기 때문에 값은 2로 갱신된다. 엣지 서버 2에 의해 증가된 처리 사용량을 기록하기 위해서 임시 변수 는 만큼 증가되며 이는 Yj를 초과해서는 안된다. 이러한 2가지 과정은 모든 작업들이 검토될 때까지 반복된다.Renew and Purge: Work vertices associated with the least cost flow are removed, capacity usage and exponent is updated and the edges associated with the flow are removed (lines 6-16). For example, the minimum cost flow is shown in FIG. Let's assume if so The corresponding vertices are removed along with the incoming and outgoing edges. Because it was assigned to
도 9 내지 도 14는 일 실시예에 따른 작업 오프로딩 시스템의 실험 결과를 설명하기 위한 그래프이다. 9 to 14 are graphs for explaining the experimental results of the work offloading system according to an embodiment.
1. 시뮬레이션 설정1. Simulation Settings
전력 소비량과 총 보상에 대한 우리의 스킴을 평가하기 위해서 시뮬레이션이 진행될 수 있다. 이를 위해서 2019년과 2020년 사이에 공개된 4개의 상업용 서버의 에너지 특성을 모델링할 수 있다. 이들 상업용 서버의 특성들 중 하나가 각 엣지 서버로 무작위 할당되었다.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.
일례로, 호주 멜버른에서 핸드폰 네트워크 장소 데이터의 데이터베이스를 사용하여 엣지 서버와 IoT 장비 사이의 공간 관계를 모델링 했다. 이는 815개의 무선 액세스 포인트 (WAPs)와 125개의 기지국의 위도, 경도, 그리고 IP 주소를 포함하며 이를 사용하여 WAPs와 각 기지국 사이의 거리를 계산할 수 있다.As an example, in Melbourne, Australia, 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의 위치정보를 취득하여 IoT 장비의 위치를 나타낼 것이다. 만약 작업을 오프로드 하고 싶어하는 장비에 연결된 WAP가 ES에 연결된 기지국(BS)의 커버리지 안에 있다면, =1 이다 (그렇지 않으면 0). 각 BS의 커버리지는 450m와 750m사이에 무작위로 선정된 거리로 표현된다.We will assume that each base station has a single edge server capable of performing tasks within edge server coverage. And the location information of the WAPs in the Melbourne database will be obtained to indicate the location of the IoT device. If the WAP connected to the equipment that wants to offload the work is within the coverage of the base station (BS) connected to the ES, =1 (otherwise 0). The coverage of each BS is expressed as a randomly selected distance between 450m and 750m.
다양한 변수의 효과를 살펴보기 위해, 우리는 작업, 보상 및 작업 사용량을 변화시켰고, 이들은 표 1에 나타난 것처럼 서로 다른 범위를 갖고 있다. 각 WAP는 와 사이의 임의의 작업 수를 생성하는 IoT 장비들로 연결될 수 있다. 모든 엣지 서버 j에 대하여 동일하게, 작업 에 대한 기본 보상은 과 사이에 임의로 선정된 정수값이고, 작업 에 의해 요구되는 사용량 는 와 사이에 임의로 선정된 정수값이다. 다르게 서술되지 않는 경우에, 각 변수에 대한 기본 범위는 표1과 같다.To examine the effects of various variables, we varied work, reward, and work usage, which have different ranges, as shown in Table 1. Each WAP is Wow It can be connected to IoT devices that create any number of tasks in between. Same for all edge server j, work The basic reward for class It is an integer value randomly selected between Usage Required by Is Wow An integer value randomly selected between Unless otherwise stated, the default ranges for each variable are shown in Table 1.
표 1 매개변수 설정Table 1 Parameter Settings
도 8을 참고하면, 2가지 스킴, 즉, EAA-TS (알고리즘 (도면 7)) 그리고 EAA-NTS (알고리즘 (도면 8))를 평가한다. 둘 다 각 엣지 서버에서 최대 허용 가능한 사용을 결정하기 위해 최대 허용 사용률 결정 알고리즘을 사용했다. 부등식 (4)를 만족시키기 위해 전력 소비량을 제한하면서 엣지 서버에 작업을 할당하는 다음과 같은 4가지 방식으로 이들 스킴을 비교한다.Referring to FIG. 8 , two schemes are evaluated, namely, EAA-TS (algorithm ( FIG. 7 )) and EAA-NTS (algorithm ( FIG. 8 )). Both used a maximum allowable utilization determination algorithm to determine the maximum allowable usage on each edge server. To satisfy inequality (4), these schemes are compared in the following four ways of allocating tasks to edge servers while limiting power consumption.
RR + HR(라운드-로빈 할당 + 최대 보상)은 라운드 로빈 방식으로 작업을 할당하며 부등식 (4)가 충족되지 않을 때까지 최고 보상을 산출하는 작업을 연속적으로 선정한다.RR + HR (Round-Robin Allocation + Maximum Reward) allocates tasks in a round-robin manner and successively selects the task that yields the highest reward until inequality (4) is not satisfied.
RA+HR(임의 작업 할당 + 최대 보상)은 부등식 (4)가 충족 되지 않을 때까지 임의로 선정된 작업들에 대해 높은 보상을 갖는 할당을 연속적으로 선정한다.RA+HR (random task assignment + maximum reward) continuously selects the assignment with high reward for randomly selected tasks until inequality (4) is not satisfied.
MUD+HR(MUD+높은 보상)은 높은 보상을 산출하는 작업 할당이 먼저 수행되도록 값이 설정되는 것을 제외하고 최대 허용 사용률 결정 알고리즘과 유사하다. 값들은 부등식 (4)가 충족되지 않을 때까지 연속적으로 갱신 된다.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 + 높은 기본 보상)은 값이 설정된 것을 제외하고 MUD+HR과 유사하다. 값들은 부등식 (4)가 충족되지 않을 때까지 연속적으로 갱신된다.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.
첫 2가지 스킴은 균형을 선호하고, MUD+HR은 높은 보상을 목적으로 하며, MUD+HUR은 사용량에 따른 높은 보상 비율을 목적으로 한다.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.
2. 작업 분할 효과2. Work Split Effect
모든 엣지 서버가 완전히 사용 될 때 총 전력 소비량의 비율로 전력 한계 값들을 표현한다. 총 보상에 대한 작업 분할 효과를 살펴보기 위해 40%, 60%, 80%라는 3가지 합계 보상을 살펴보면서 표 1의 각각의 변수에 대한 다양한 범위 값들의 모든 조합들에 대해 EAA-TS와 EAA-NTS를 비교할 수 있다.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.
표 1은 ()과 의 다른 값들에 대한 EAA-TS와 EAA-NTS 의 결과 간의 평균 비율 차이를 나타낸다. EAA-TS와 EAA-NTS 결과 간의 비율 차이가 다른 매개변수들의 값에 상관없이 무시할 수 있음을 발견할 수 있다. 예를 들어 =12일 때 0.33%를 넘지 않았고, =6일 때 0.48%를 넘지 않았다. 하지만, 이 증가함에 따라 차이가 커져가는 것을 확인할 수 있다. 그 이유를 다음과 같이 설명될 수 있다. EAA-NTS는 하나의 작업 전체를 처리하기 위해 남은 용량이 부족한 경우 엣지 서버에 작업을 할당할 수 없으므로, 사용률이 낮으며, 이는 주로 최소 작업 사용량 크기가 1을 초과할 때 발생한다. 이 증가함에 따라, 이 둘 사이의 차이는 줄어들고, 이는 가용 전력이 낮을 때 작업 분할이 효과적이라는 것을 의미한다.Table 1 ( )class Shows the average ratio difference between the results of EAA-TS and EAA-NTS for different values of . It can be found that the ratio difference between the EAA-TS and EAA-NTS results is negligible regardless of the values of the other parameters. for example =12 did not exceed 0.33%, =6 did not exceed 0.48%. However, It can be seen that the difference increases as this increases. The reason can be explained as follows. EAA-NTS cannot allocate a job to an edge server when the remaining capacity is insufficient to process one entire job, so the utilization rate is low, which mainly occurs when the minimum job usage size exceeds 1. As α increases, the difference between the two decreases, which means that task splitting is effective when available power is low.
표 2: () 과 의 다른 값들에 대한 EAA-NTS와 EAA-TS 비교Table 2: ( ) class Comparison of EAA-NTS and EAA-TS for different values of
3. 총 보상에 대한 전력 제한 효과3. Power Limiting Effect on Total Rewards
총 보상에 대한 전력 제한 효과를 살펴보았다. 이제부터 작업 분할을 허용하지 다른 스킴들(RR+HR, RA+HR, MUD+HR 및 MUD+HUR)과 비교할 때 EAA-NTS를 기본 스킴으로 사용할 것이다. 도9는 표 1의 각 매개변수에 대한 기본 범위가 사용되었을 때 모든 5개 스킴에 대한 보상을 나타내고, 도면10은 EAA-NTS를 기준으로 정규화된 결과를 나타낸다.The effect of power limiting on total compensation was examined. From now on, we will use EAA-NTS as the default scheme when comparing other schemes (RR+HR, RA+HR, MUD+HR and MUD+HUR) that do not allow work division. 9 shows the compensation for all five schemes when the default ranges for each parameter in Table 1 are used, and FIG. 10 shows the normalized results based on EAA-NTS.
전력 제한이 더 높아지면 더 큰 보상을 제공한다. 또한, EAA-NTS는 모든 전력 제한과 관련하여 높은 보상을 산출한다. 이 보상들은 다른 스킴에 비교해서 7%에서 80%까지 높다. 이러한 차이는 더 낮은 전력 제한에서 더 크게 나타난다. MUD+HUR 스킴은 MUD+HR 보다 높은 보상을 산출하며 이는 높은 값을 갖는 작업이 먼저 할당되어야 한다는 것을 의미한다. 하지만 MUD+HUR 작업은 엣지 서버 특성을 고려하지 않는다. 이는 평균적으로 EAA-NTS 보상의 70%, 그리고 최소 전력 제한에서는 40% 수준만 산출할 뿐이다.Higher power limits provide greater rewards. Additionally, 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.
4.작업 수에 대한 총 보상4.Total compensation for the number of tasks
총 보상이 어떻게 각 WAP내 에서 생성된 작업 수에 의존하는지 알아볼 수 있다. 도 11은 3가지 값의 평균 보상 결과인 40%, 60%, 80% 를 보여준다. 다시 EAA-NTS가 다른 스킴에 비해 좋은 성과를 보여주었고, 작업의 수가 증가할 수록 차이가 커지는 경향을 보였다. 이를 초기 선정 시에 높은 보상을 갖는 작업이 더 많이 가능하다는 것으로 해석할 수 있다. 예를 들어, 작업 수 범위가 (3,6)에서 (9,18)로 변화했을 때 EAA-NTS에 의한 보상이 5060만큼 증가한 반면에, MUD+HUR로 얻은 보상은 2684만큼 증가함을 확인할 수 있다. We can see how the total reward depends on the number of tasks generated within each WAP. 11 shows three It shows the average compensation result of 40%, 60%, and 80% of the values. Again, EAA-NTS showed better performance than other schemes, and the difference tends to increase as the number of tasks increases. This can be interpreted as that more tasks with high rewards are possible at the time of initial selection. For example, when the number of tasks range is changed from (3,6) to (9,18), it can be seen that the reward obtained by EAA-NTS increases by 5060, while the reward obtained by MUD+HUR increases by 2684. there is.
5. 보상 범위의 효과5. Effect of Coverage
다양한 보상 범위 ()의 효과를 살펴보았다. 도12는 40%, 60% 그리고 80%일 때 평균 보상 결과를 나타낸다. 다시 EAA-NTS가 과 간의 차이가 커지면서 마진이 증가하여 다른 스킴들보다 우수한 성능을 나타내는 것을 확인할 수 있다. 작업들에 대해 넓은 보상 범위를 갖는 것이 더 큰 최적화 범위를 부여하며, EAA-NTS이 이를 잘 활용하는 것으로 보여진다.Various compensation ranges ( ) was examined. 12 shows the average compensation results at 40%, 60% and 80%. EAA-NTS again class As the difference between the two schemes increases, the margin increases, and it can be seen that the performance is superior to that of other schemes. Having a wide compensation range for tasks gives a larger optimization range, and EAA-NTS appears to make good use of this.
6. 작업 사용량 범위 효과6. Task Usage Range Effect
작업 사용량 값의 범위에 따라 총 보상이 어떻게 달라지는지 확인할 수 있다. 도 13은 다수의 다른 범위()에 대한 총 보상과 3가지 값 40%, 60% 그리고 80%에 대한 평균값을 나타낸다. 더 적은 수의 작업이 엣지 서버로 할당될 수 있기 때문에, 총 보상은 범위가 (1,6)에서 (3,8)로 증가했을 때 약간 증가한다. 하지만 이 작업들은 더 높은 보상을 받는다. 하지만, 그 범위 밖에서 의 값은 보상 결과에 거의 영향을 주지 못한다. You can see how the total reward varies depending on the range of work usage values. 13 shows a number of different ranges ( ) and 3 Average values for
7. EAA-NTS와 같은 보상을 얻기 위해 다른 스킴이 필요로 하는 전력 소비량7. Power consumption required by other schemes to get rewards like 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와 같은 보상을 산출하지 못함을 확인할 수 있다. It is possible to determine the total reward obtained when using EAA-NTS for various values of . You can find the power needed by different schemes to get the same reward. 14 shows the results of normalizing each case to the power derived by EAA-NTS. It can be seen that other schemes require 13% and 75% higher power than EAA-NTS to achieve the same reward. For example, MUD+HUR required 13% to 29% more power than EAA-NTS, and MUD+HR required 19% to 30% more power. When =60%, 70% and 80%, it can be seen that RR+HR and RA+HR do not yield the same compensation as EAA-NTS, even though all edge servers are fully used.
일 실시예에 따르면, 엣지 서버가 소비하는 전력을 제한하면서, 엣지 서버에 의해 획득되는 총 보상을 극대화하는 스킴을 제안할 수 있다. 상세하게는, 먼저 각각의 엣지 서버의 프로세서 용량과 사용량에 기반하여 엣지 서버가 산출하는 전력을 조사하고, 총 보상을 극대화 하기 위한 목적을 가지고 각 엣지 서버의 최대 허용 가능한 사용률과 작업 할당을 결정하는 최적화 문제를 공식화 할 수 있다. 최대 허용 가능한 사용률을 결정하기 위해서, 엣지 서버에서 최소의 총 전력 소비량으로 최고 보상을 얻으려고 하는 그리디 알고리즘을 사용할 수 있다. 작업 할당 문제를 최소 비용 최대 흐름 그래프로 공식화하고 그래프에서 최고 보상 경로를 탐색하는 2가지 알고리즘을 제안하였다. 하나의 알고리즘은 작업 분할을 허용하고, 다른 하나의 알고리즘은 작업 분할을 허용하지 않는다. According to an embodiment, 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. In detail, first, 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. To determine the maximum allowable usage rate, you can use a greedy algorithm that tries to get the highest reward with the lowest total power consumption on the edge server. 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.
또한, 작업 수, 전력 제한 값, 보상과 작업 사용량 범위, 그리고 전력 소비량에 대한 보상 비율을 다양화 하면서 총 보상에 대한 우리 스킴을 평가하기 위해 시뮬레이션을 실시할 수 있다. 실험 결과는 실시예에서 제안된 스킴이 큰 보상을 획득하기 위해 가용 전력을 잘 활용하는 것으로 나타났다. 제안된 스킴의 보상은 다른 스킴들을 사용하여 얻어진 보상보다 7%에서 80%만큼 높았고, 다른 스킴들은 같은 보상을 얻기 위해서 제안된 스킴보다 13% 에서 75% 정도 더 많은 전력이 필요했다. 실시예에서 제안된 스킴은 가용 전력이 감소되었을 때, 각 작업에 할당된 보상이 매우 가변적일 때, 그리고 많은 작업들이 있을 때 특히 효과적이다. 작업 분할은 최소 작업 사용량 크기가 1일 때는 큰 차이가 없지만, 평균 작업이 높은 CPU 처리용량을 필요로 할 때 효과적이다.We can also run simulations to evaluate our scheme for total compensation, varying the number of jobs, power limit values, ranges of compensation and job usage, and compensation ratios for power consumption. Experimental results show that the scheme proposed in the example utilizes the available power well to obtain a large reward. The reward of the proposed scheme was 7% to 80% higher than that obtained using other schemes, and the other schemes required 13% to 75% more power than the proposed scheme to achieve the same reward. The scheme proposed in the embodiment is particularly effective when the available power is reduced, when the reward assigned to each task is highly variable, and when there are many tasks. Task splitting does not make a big difference when the minimum task usage size is 1, but it is effective when the average task requires high CPU processing capacity.
증가하는 IoT 작업 수를 지원하기 위해서 엣지 컴퓨팅에 대한 요구가 급격하게 증가하며 엣지 서버에 의한 전력 소비량을 증가시키는 결과를 초래했다. 실시예에서 제시한 실험 결과는 제안된 스킴이 엣지 서버의 효과적인 전력 관리에 기여할 수 있다는 것을 나타낸다.To support the growing number of IoT tasks, the demand for edge computing is rapidly increasing, resulting in increased power consumption by edge servers. Experimental results presented in the examples indicate that the proposed scheme can contribute to effective power management of edge servers.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.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. For example, 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. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that 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.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.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.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 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.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited embodiments and drawings, various modifications and variations are possible from the above description by those skilled in the art. For example, the described techniques are performed in an order different from the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
Claims (10)
각각의 엣지 서버의 전력 정보에 기초하여 오프로드된 작업을 실행할 엣지 서버를 결정하는 단계; 및
상기 결정된 엣지 서버에 설정된 할당 정보에 따라 작업을 오프로딩하는 단계
를 포함하는 작업 오프로딩 방법. A work offloading method performed by a computer-implemented task offloading system, the method comprising:
determining an edge server to execute an offloaded task based on power information of each edge server; and
Offloading the job according to the assignment information set in the determined edge server
A method of offloading work that includes
상기 작업을 오프로딩하는 단계는,
상기 각각의 엣지 서버의 한도 전력 하에서 엣지 서버 제공자의 보상을 최대화하기 위한 상기 각각의 엣지 서버의 최대 허용 가능한 사용률과 작업 할당을 포함하는 할당 정보를 결정하는 단계
를 포함하는 작업 오프로딩 방법. According to claim 1,
The step of offloading the task is:
determining allocation information including a maximum allowable utilization rate of each edge server and a job allocation for maximizing an edge server provider's compensation under the power limit of each edge server;
A method of offloading work that includes
상기 작업을 오프로딩하는 단계는,
상기 각각의 엣지 서버의 최대 허용 가능한 사용률을 결정하는 동시에 전력 요구량에 대한 엣지 서버 제공자의 보상 비율이 높은 작업의 오프로드에 높은 우선 순위를 부여하는 단계
를 포함하는 작업 오프로딩 방법. According to claim 1,
The step of offloading the task is:
Determining the maximum allowable utilization rate of each of the edge servers while giving high priority to offloading jobs with a high compensation ratio of the edge server provider for the power demand
A method of offloading work that includes
상기 작업을 오프로딩하는 단계는,
상기 각각의 엣지 서버의 전력 제약조건을 충족하면서 최대 허용 가능한 사용률의 값들을 탐색하는 단계
를 포함하는 작업 오프로딩 방법. According to claim 1,
The step of offloading the task is:
Searching for values of the maximum allowable usage rate while satisfying the power constraint of each edge server
A method of offloading work that includes
상기 작업을 오프로딩하는 단계는,
작업 할당으로부터 전력 증가량과 보상 증가량을 반복적으로 계산하여 전력 제약조건이 충족되고, 각각의 엣지 서버에서 최대 허용 가능한 사용률이 결정될 때까지 전력 비율에 더 높은 보상을 주는 최대 허용 가능한 사용률 값에 우선순위를 부여하는 단계
를 포함하는 작업 오프로딩 방법. 5. The method of claim 4,
The step of offloading the task is:
By iteratively calculating power increments and reward increments from task assignments, priority is given to the maximum allowable utilization value that gives a higher reward to the power ratio until the power constraint is met and the maximum allowable utilization is determined on each edge server. step to grant
A method of offloading work that includes
상기 작업을 오프로딩하는 단계는,
상기 각각의 엣지 서버로 작업 할당하기 위한 각각의 작업에 대한 값을 탐색하는 단계
를 포함하는 작업 오프로딩 방법. According to claim 1,
The step of offloading the task is:
Searching for a value for each job for allocating a job to each edge server
A method of offloading work that includes
상기 작업을 오프로딩하는 단계는,
최소 비용 최대 흐름 그래프를 사용하여 작업 분할을 허용하는 방법 또는 작업 분할을 허용하지 않는 방법 중 어느 하나의 방법을 이용하여 엣지 서버로의 작업 할당을 수행하는 단계
를 포함하는 작업 오프로딩 방법. 7. The method of claim 6,
The step of offloading the task is:
Performing task assignment to the edge server using either a method that allows work splitting or a method that does not allow work splitting using the minimum cost maximum flow graph.
A method of offloading work that includes
상기 작업 분할을 허용하는 방법은,
잔차 그래프가 상기 최소 비용 최대 흐름 그래프에서 생성되고 각 노드 사이의 흐름을 표현하기 위한 이진 함수의 값과 비용을 초기화하는 과정, 최단 경로 빠른 알고리즘을 사용하여 최소 비용 흐름을 도출함에 따라 상기 잔차 그래프에 경로를 생성하고, 상기 흐름을 갱신하는 경로 증강 과정 및 정점 사이에 흐름이 존재할 경우, 작업을 구성하는 하위 작업 중 하나를 처리하기 위해 엣지 서버를 선정함으로써 상기 하위 작업이 할당된 엣지 서버의 지수값을 갱신하는 마무리 과정을 수행하는
작업 오프로딩 방법. 8. The method of claim 7,
The method to allow the splitting of work is:
A residual graph is generated from the minimum cost and maximum flow graph, and the process of initializing the value and cost of a binary function to express the flow between each node, and the process of deriving the minimum cost flow using the shortest path fast algorithm to the residual graph The index value of the edge server to which the sub-task is assigned by selecting an edge server to process one of the sub-tasks constituting the task when there is a flow between the vertex and the path augmentation process of creating a route and updating the flow to perform the finishing process to update
How to offload work.
상기 작업 분할을 허용하지 않는 방법은,
상기 최소 비용 최대 흐름 그래프에 작동되고, 소스 정점에서 싱크 정점으로 최소 비용 흐름을 계산하는 최소 비용 흐름 과정, 상기 최소 비용 흐름과 연관된 작업 정점을 제거하고 용량 사용량과 작업이 할당된 엣지 서버의 지수값을 갱신하고 흐름과 연관된 엣지들을 제거하는 과정을 수행하는
작업 오프로딩 방법.8. The method of claim 7,
The method that does not allow the above work division is,
A minimum cost flow process that operates on the minimum cost maximum flow graph and calculates a minimum cost flow from a source vertex to a sink vertex, removes the task vertex associated with the minimum cost flow, and the capacity usage and the index value of the edge server to which the task is assigned to update and remove the edges associated with the flow.
How to offload work.
각각의 엣지 서버의 전력 정보에 기초하여 오프로드된 작업을 실행할 엣지 서버를 결정하는 서버 결정부; 및
상기 결정된 엣지 서버에 설정된 할당 정보에 따라 작업을 오프로딩하는 작업 오프로딩부
를 포함하는 작업 오프로딩 시스템.
In the computer-implemented task offloading system,
a server determining unit that determines an edge server to execute an offloaded task based on power information of each edge server; and
A job offloading unit for offloading a job according to the assignment information set in the determined edge server
A work offloading system comprising a.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200129920A KR102432007B1 (en) | 2020-10-08 | 2020-10-08 | Reward-oriented task offloading under limited edge server power for mobile edge computing |
PCT/KR2020/017849 WO2022075528A1 (en) | 2020-10-08 | 2020-12-08 | Task offloading for maximizing rewards under edge server limit power in mobile edge computing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200129920A KR102432007B1 (en) | 2020-10-08 | 2020-10-08 | Reward-oriented task offloading under limited edge server power for mobile edge computing |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220046812A true KR20220046812A (en) | 2022-04-15 |
KR102432007B1 KR102432007B1 (en) | 2022-08-12 |
Family
ID=81126531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200129920A KR102432007B1 (en) | 2020-10-08 | 2020-10-08 | Reward-oriented task offloading under limited edge server power for mobile edge computing |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102432007B1 (en) |
WO (1) | WO2022075528A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116112976A (en) * | 2022-12-20 | 2023-05-12 | 暨南大学 | Equipment calculation migration method, device, equipment and storage medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110002809A (en) * | 2009-07-02 | 2011-01-10 | 삼성전자주식회사 | Execution allocation cost assessment for computing systems and environments including elastic computing systems and environments |
KR20170021338A (en) * | 2014-08-22 | 2017-02-27 | 인텔 코포레이션 | A power aware job scheduler and manager for a data processing system |
KR20190046877A (en) * | 2016-09-15 | 2019-05-07 | 레이스포인트 에너지, 엘엘씨 | Systems and methods for aggregating electric power consumers to create dynamic nanogrids and participate in the energy market |
KR20200017589A (en) * | 2018-07-27 | 2020-02-19 | 한국전자통신연구원 | Cloud server for offloading task of mobile node and therefor method in wireless communication system |
US20200076875A1 (en) * | 2016-12-28 | 2020-03-05 | Intel IP Corporation | Application computation offloading for mobile edge computing |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020023115A1 (en) * | 2018-07-27 | 2020-01-30 | Futurewei Technologies, Inc. | Task offloading and routing in mobile edge cloud networks |
US11271994B2 (en) * | 2018-12-28 | 2022-03-08 | Intel Corporation | Technologies for providing selective offload of execution to the edge |
EP3854063A4 (en) * | 2019-03-12 | 2021-12-01 | Samsung Electronics Co., Ltd. | Methods and systems for optimizing processing of application requests |
-
2020
- 2020-10-08 KR KR1020200129920A patent/KR102432007B1/en active IP Right Grant
- 2020-12-08 WO PCT/KR2020/017849 patent/WO2022075528A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110002809A (en) * | 2009-07-02 | 2011-01-10 | 삼성전자주식회사 | Execution allocation cost assessment for computing systems and environments including elastic computing systems and environments |
KR20170021338A (en) * | 2014-08-22 | 2017-02-27 | 인텔 코포레이션 | A power aware job scheduler and manager for a data processing system |
KR20190046877A (en) * | 2016-09-15 | 2019-05-07 | 레이스포인트 에너지, 엘엘씨 | Systems and methods for aggregating electric power consumers to create dynamic nanogrids and participate in the energy market |
US20200076875A1 (en) * | 2016-12-28 | 2020-03-05 | Intel IP Corporation | Application computation offloading for mobile edge computing |
KR20200017589A (en) * | 2018-07-27 | 2020-02-19 | 한국전자통신연구원 | Cloud server for offloading task of mobile node and therefor method in wireless communication system |
Non-Patent Citations (1)
Title |
---|
HAITAO YUAN 외 1인."Profit-Maximized Collaborative Computation Offloading and Resource Allocation in Distributed Cloud and Edge Computing Systems".IEEE Transactions on Automation Science and Engineering* * |
Also Published As
Publication number | Publication date |
---|---|
KR102432007B1 (en) | 2022-08-12 |
WO2022075528A1 (en) | 2022-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | Energy-efficient and quality-aware VM consolidation method | |
EP3335119B1 (en) | Multi-priority service instance allocation within cloud computing platforms | |
US7702784B2 (en) | Distributing and geographically load balancing location aware communication device client-proxy applications | |
US8695009B2 (en) | Allocating tasks to machines in computing clusters | |
JP4621087B2 (en) | System and method for operating load balancer for multiple instance applications | |
JP7061693B2 (en) | Task scheduling methods, devices, programs and equipment based on graph data | |
US7203747B2 (en) | Load balancing system and method in a multiprocessor system | |
CN113169990A (en) | Segmentation of deep learning inference with dynamic offload | |
WO2004084069A2 (en) | Load balancing and taskdistribution system | |
Ghetas | A multi-objective Monarch Butterfly Algorithm for virtual machine placement in cloud computing | |
CN112579286B (en) | Method, apparatus and storage medium for light source mask optimization | |
CN112148492A (en) | Service deployment and resource allocation method considering multi-user mobility | |
Ashok Kumar et al. | FDLA: fractional dragonfly based load balancing algorithm in cluster cloud model | |
Yao et al. | A network-aware virtual machine allocation in cloud datacenter | |
KR102432007B1 (en) | Reward-oriented task offloading under limited edge server power for mobile edge computing | |
Kumar et al. | C-FDLA: Crow search with integrated fractional dragonfly algorithm for load balancing in cloud computing environments | |
KR102027682B1 (en) | System and method for load balancing in mobile cloud network for partial computation offloading | |
US9021094B1 (en) | Allocation of resources for tiers of a multi-tiered system based on selecting items from respective sets | |
Lu et al. | Cost-efficient resource provisioning in delay-sensitive cooperative fog computing | |
Phi et al. | Load balancing algorithm on cloud computing for optimize response time | |
CN115190121B (en) | Cross-region-based micro-service overload scheduling system, method and equipment | |
KR100478346B1 (en) | Load balancing method based on graph-partitioning for cluster sever and the system | |
Yassir et al. | Graph-based model and algorithm for minimising big data movement in a cloud environment | |
Zedan et al. | Load balancing based active monitoring load balancer in cloud computing | |
Panigrahi et al. | Optimization policy for different arrival modes in iot assisted geospatial fog computing environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |