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 PDF

Info

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
Application number
KR1020200129920A
Other languages
Korean (ko)
Other versions
KR102432007B1 (en
Inventor
송민석
Original Assignee
인하대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인하대학교 산학협력단 filed Critical 인하대학교 산학협력단
Priority to KR1020200129920A priority Critical patent/KR102432007B1/en
Priority to PCT/KR2020/017849 priority patent/WO2022075528A1/en
Publication of KR20220046812A publication Critical patent/KR20220046812A/en
Application granted granted Critical
Publication of KR102432007B1 publication Critical patent/KR102432007B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5038Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • H04L67/2861
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable

Abstract

Disclosed is an offloading task to maximize a reward under an edge server limit power in a mobile edge computing. An offloading task method performed by a computer-implemented offloading task system according to one embodiment may comprise: a step of determining an edge server to execute an offloaded task based on the power information of each edge server; and a step of offloading the task according to the allocation information set in the determined edge server.

Description

모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩{REWARD-ORIENTED TASK OFFLOADING UNDER LIMITED EDGE SERVER POWER FOR MOBILE EDGE COMPUTING}{REWARD-ORIENTED TASK OFFLOADING UNDER LIMITED EDGE SERVER POWER FOR MOBILE EDGE COMPUTING}

아래의 설명은 모바일 엣지 컴퓨팅에서 엣지 서버에게 작업을 오프로딩 하는 기술에 관한 것이다. 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가 엣지 서버의 수라면,

Figure pat00001
(i=1, ..., NES) 를 Ih igh 의 지수를 가진 최고 처리용량을 갖는 엣지 서버와 비교하여 최대 처리용량을 나타내기 위해 사용할 수 있다. 그 후, 작업
Figure pat00002
의 정규화 처리된 Ui(i=1, ..., Ntask)는 엣지 서버 Ih igh 에서 실행된다는 사실을 기반으로 결정될 수 있다. 여기서, Ntask는 총 작업 수를 나타낸다. 쉽게 설명하기 위하여, Ui
Figure pat00003
가 정수 값을 갖는다고 가정하자. 이를 위해, 그레인 크기를 최소 할당 단위로 도입하고
Figure pat00004
와 Ui를 그레인의 배수로 표현할 수 있다. 예를 들면, 만약, 그레인의 크기가 0.01이면,
Figure pat00005
=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,
Figure pat00001
(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
Figure pat00002
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
Figure pat00003
Assume that is an integer value. For this, we introduce the grain size as the smallest allocation unit and
Figure pat00004
and U i can be expressed as multiples of grain. For example, if the grain size is 0.01,
Figure pat00005
= 100.

Figure pat00006
,
Figure pat00007
를 작업
Figure pat00008
( i=1,..., Ntask)가 할당된 엣지 서버의 지수라고 하자. 어떠한 엣지 서버로도 할당되지 못하는 작업
Figure pat00009
을 처리하는 클라우드의 중앙 서버를 나타내기 위해 지수 0을 도입할 수 있다. 요약하자면, 만약
Figure pat00010
=0이면, 작업
Figure pat00011
는 클라우드 중앙 서버에 의해 처리될 수 있다. 반면에, 만약
Figure pat00012
=j이면, 작업
Figure pat00013
는 엣지 서버 j에 의해 처리될 수 있다. 모든 작업에 대하여 합쳐친 총 사용량은 처리용량을 초과할 수 없으므로
Figure pat00014
가 된다. 이에 따라, 엣지 서버에서의 총 CPU 사용률
Figure pat00015
은 다음과 같이 표현될 수 있다.
Figure pat00006
,
Figure pat00007
work
Figure pat00008
Let ( i=1,..., N task ) be the index of the assigned edge server. Tasks that cannot be assigned to any edge server
Figure pat00009
An exponent of 0 can be introduced to indicate a central server in the cloud that handles In summary, if
Figure pat00010
=0, work
Figure pat00011
can be processed by a cloud central server. On the other hand, if
Figure pat00012
If =j, work
Figure pat00013
can be processed by edge server j. The total usage for all jobs cannot exceed the processing capacity.
Figure pat00014
becomes Accordingly, the total CPU utilization on the edge server
Figure pat00015
can be expressed as

수학식 1:Equation 1:

Figure pat00016
Figure pat00016

각 엣지 서버에 의해 소비되는 전력량을 제한하기 위하여, CPU 사용률을 제한할 수 있다. 이를 위해, 각 엣지 서버 j에 대해 최대 허용 가능한 CPU 사용률 Yj를 도입할 수 있다. 여기에서, CPU 사용률 Yj는 0과

Figure pat00017
사이의 정수이다. 이때, 각 엣지 서버 j에서 총 CPU 사용률 Yj을 초과해서는 안된다. 만약, CPU 사용률 Yj가 0이면, 각 엣지 서버 j는 어떠한 작업도 처리할 수 없다. 만약, Yj=
Figure pat00018
라면, 각 엣지 서버 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
Figure pat00017
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 =
Figure pat00018
If so, the processing capacity of each edge server j can be fully used.

활성 전력은 엣지 서버가 연산 작업을 진행하고 있는 동안 소비된 전력이고, 이는 CPU 사용률에 따라 비선형적으로 달라진다. 연산이 진행되지 않을 경우에도, 엣지 서버는 고정된 유휴 전력을 사용한다. 이에 따라, 각 엣지 서버 j에서 사용률이 x

Figure pat00019
일 때, 활성 전력 계수를 표현하기 위해
Figure pat00020
를 사용하고 각 엣지 서버 j의 유휴 전력 계수를 표현하기 위해
Figure pat00021
를 사용할 수 있다. 이에, 각 엣지 서버 j에 의해 도출된 전력
Figure pat00022
를 사용률 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
Figure pat00019
When , to express the active power factor
Figure pat00020
and to express the idle power factor of each edge server j
Figure pat00021
can be used Accordingly, the power derived by each edge server j
Figure pat00022
can be defined as follows according to the usage rate x.

수학식 2: Equation 2:

Figure pat00023
Figure pat00023

도 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 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 . In this case, 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.

프로세서는 모바일 엣지 컴퓨팅에서 엣지 서버 한도 전력 하에서 보상을 최대화하는 작업 오프로딩 방법을 위한 프로그램의 파일에 저장된 프로그램 코드를 메모리에 로딩할 수 있다. 예를 들면, 작업 오프로딩 시스템(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 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

서버 결정부(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:

Figure pat00024
Figure pat00024

엣지 서버 커버리지: 엣지 서버는 엣지 서버 영역 내에 존재하는 기기들에서 전송되는 작업만 수신할 수 있다. 그 작업이 엣지 서버에 의해 받아들여질 수 있는지 여부를 나타내는 이진 상수 H i,j 를 도입할 수 있다. 만약, H i,j =1이라면, 각 엣지 서버 j는 작업

Figure pat00025
를 오프로드 하는 요청을 받아들일 수 있다. 만약, H i,j =0이라면, 각 엣지 서버 j는 작업
Figure pat00026
를 오프로드 하는 요청을 받아들일 수 없다. 이에 따라, 작업
Figure pat00027
은 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
Figure pat00025
can accept requests to offload If H i,j = 0, each edge server j
Figure pat00026
Could not accept request to offload Accordingly, work
Figure pat00027
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:

Figure pat00028
Figure pat00028

이에, 각 엣지 서버에서 작업

Figure pat00029
을 처리할 때, 엣지 서버 제공자에 의해 받은 보상인 R i,j 를 도입하기로 한다. 그리고 나서, 엣지 서버 할당 문제와 최대 허용 사용량 결정 문제를 공식화할 수 있다. 이는, 모든 엣지 서버의 보상들의 합계를 극대화하기 위한 목적으로 각각의 작업
Figure pat00030
에서의 값
Figure pat00031
, (
Figure pat00032
=0, ??, NES)를 찾는 것과 모든 엣지 서버 j에서의 최대 허용 가능한 사용률
Figure pat00033
, (
Figure pat00034
=0, ??,
Figure pat00035
)를 찾는 것으로 구성될 수 있다. Therefore, work on each edge server
Figure pat00029
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.
Figure pat00030
value at
Figure pat00031
, (
Figure pat00032
=0, ??, N ES ) and the maximum allowable utilization on all edge servers j
Figure pat00033
, (
Figure pat00034
=0, ??,
Figure pat00035
) can consist of finding

Figure pat00036
Figure pat00036

도 4를 참고하면, 최대 허용 사용률 결정(maximum utilization determination: MUD) 알고리즘에 대한 의사 코드를 나타낸 도면이다.Referring to FIG. 4 , a diagram illustrating a pseudo code for a maximum allowable utilization determination (MUD) algorithm.

작업 오프로딩 시스템은 최대 허용 가능한 사용률을 결정할 수 있다. 최적화 문제를 해결하기 위하여, 각각의 작업

Figure pat00037
에 대한 값
Figure pat00038
과 각각의 엣지 서버 j에 대한 최대 허용 가능한 사용률
Figure pat00039
을 결정해야 한다. 각각의 엣지 서버 j는
Figure pat00040
처리용량을 갖고 있으며,
Figure pat00041
Figure pat00042
의 모든 조합들을 고려하는 것은 비실용적이다. 이에 따라 이를 2개의 하위 문제로 나눈다. 사용률 결정 문제(UDP: utilization determination problem,)는 에너지 제약조건을 충족하면서 최대 허용 가능한 사용률
Figure pat00043
의 값들을 찾는 것이다. 엣지 서버 할당 문제(EAP: edge server allocation problem,)는 각각의 작업
Figure pat00044
을 엣지 서버로 할당하는
Figure pat00045
값들을 찾는 것이다.The task offloading system may determine the maximum allowable utilization rate. To solve the optimization problem, each task
Figure pat00037
value for
Figure pat00038
and maximum allowable utilization for each edge server j
Figure pat00039
have to decide Each edge server j is
Figure pat00040
has a processing capacity,
Figure pat00041
Wow
Figure pat00042
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.
Figure pat00043
to find the values of The edge server allocation problem (EAP) is
Figure pat00044
to assign as an edge server
Figure pat00045
to find values.

사용률 결정 문제에 대하여 설명하기로 한다. The problem of determining the utilization rate will be described.

엣지 서버 j에서 가능한 보상들

Figure pat00046
과 그에 해당하는 에너지 요구조건들이 제공된다면, 사용률 결정 문제는 다중 선택 배낭 문제(multiple-choice knapsack problem, MKCP)로 축소될 수 있다. 과부하 없이 아이템들을 배낭에 넣었을 때 얻는 총 이익을 극대화시키기 위해서, 다수의 아이템들을 포함하는 몇몇 클래스들의 각각에 대해 가중치와 이익이 있는 하나의 아이템을 선택해야 한다.Possible rewards on edge server j
Figure pat00046
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.

사용률 결정 문제에서 클래스는

Figure pat00047
사용률 값을 각각 갖고 있는 엣지 서버이며, 각 사용률 값은 총합이
Figure pat00048
를 초과할 수 없는 전력과 극대화 되어야 하는 보상과 연관되어 있다. MCKP는 NP-난해 이다. 하지만 이익-가중치 비율에 기반을 둔 그리디 알고리즘(greedy algorithm)은 보통 잘 수행된다. 사용률 결정 문제는 작업 할당으로부터 전력과 보상 증가량을 반복적으로 계산하여 부등식 (4)에서의 전력 제약조건이 충족되고 각각의 엣지 서버 j에서 최대 허용 가능한 사용률
Figure pat00049
이 결정될 때까지 전력 비율에 더 높은 보상을 주는 사용률 값에 우선순위를 부여할 수 있다.In the utilization determination problem, the class is
Figure pat00047
Each edge server has a utilization value, and each utilization value is the sum of
Figure pat00048
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
Figure pat00049
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가지 엣지 할당 알고리즘을 고려할 수 있다. 작업 분할을 허용하는 알고리즘과 허용하지 않는 알고리즘이다. 만약 작업 분할이 허용된다면, 생성된 하위작업들이 다른 엣지 서버에 할당될 수 있다. 모델링을 통해 작업

Figure pat00050
Figure pat00051
개의 하위 작업
Figure pat00052
으로 분할될 수 있다. 작업 오프로딩 시스템은 각각의 하위 작업의 CPU 사용이 정수 값을 갖도록 조건화 하였고(작업의 사용률 값과 마찬가지로), 따라서 작업
Figure pat00053
가 분할될 수 있는 최대 하위 작업 수는
Figure pat00054
이다.
Figure pat00055
(
Figure pat00056
)이 하위 작업
Figure pat00057
이 할당된 엣지 서버의 지수라고 하자. 최소 비용 최대 흐름 그래프 그래프에서 최적의 정수 기반 흐름 집합을 찾을 수 있고, 이는 최대 가능한 흐름 전달 비용을 최소화한다. 이러한 흐름들에 부합하는
Figure pat00058
값들을 결정하기 위해 이 알고리즘을 사용할 수 있다.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
Figure pat00050
Is
Figure pat00051
sub-tasks
Figure pat00052
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
Figure pat00053
The maximum number of subtasks that can be partitioned is
Figure pat00054
am.
Figure pat00055
(
Figure pat00056
) this subtask
Figure pat00057
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
Figure pat00058
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가지 새로운 변수를 필요로 하는

Figure pat00059
값을 결정해야 한다. 먼저 알고리즘이 진행되는 동안
Figure pat00060
의 값들을 저장하기 위해 각 작업
Figure pat00061
에서 일시적인 변수
Figure pat00062
를 도입한다. 그리고
Figure pat00063
는 엣지 서버 j에 의해 도출된 전력 증가량을 나타내고, 새로운 작업
Figure pat00064
가 여기에 할당될 때 이는 다음과 같이 표현된다. requires 3 new variables
Figure pat00059
value must be determined. First, while the algorithm is running
Figure pat00060
Each operation to store the values of
Figure pat00061
temporary variable in
Figure pat00062
introduce And
Figure pat00063
represents the power increase derived by edge server j, and
Figure pat00064
When is assigned here, it is expressed as

수학식 5:Equation 5:

Figure pat00065
Figure pat00065

여기에서

Figure pat00066
는 작업
Figure pat00067
이 각 엣지 서버 j에게 할당되기 전에, 엣지 서버 j에 의해 도출된 전력이고,
Figure pat00068
는 그 후에 엣지 서버 j에 의해 도출된 전력이다.From here
Figure pat00066
work
Figure pat00067
This is the power drawn by the edge server j before being allocated to each edge server j,
Figure pat00068
is then the power derived by edge server j.

Figure pat00069
는 작업
Figure pat00070
을 엣지 서버 j에게 할당함으로써 발생하는 보상의 증가량과 수학식 5의 증가량 간의 비율을 나타내는 특정 보상이다. 이 특정 보상은 다음과 같이 표현될 수 있다.
Figure pat00069
work
Figure pat00070
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 Equation 5. This particular reward can be expressed as

수학식 6: Equation 6:

Figure pat00071
Figure pat00071

도 4의 최대 허용 사용률 결정(maximum utilization determination: MUD) 알고리즘의 목적은 적은 전력 소비량으로 큰 보상을 얻는 것이다. 최대 허용 사용률 결정 알고리즘은 각 i와 j에서의 전력 필요량

Figure pat00072
과 특정 보상
Figure pat00073
을 계산한다. 그리고 나서 i=M이고j=H 일 때의 최대값
Figure pat00074
을 결정한다. 그리고 임시 변수
Figure pat00075
를 1로 설정하여
Figure pat00076
을 할당된 것으로 표시하고 총 전력 요구량
Figure pat00077
를 갱신한다. 이 과정은 최대 전력 조건이 충족되지 않을 때 혹은 작업이 더 이상 남지 않을 때까지 반복된다. 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.
Figure pat00072
and specific rewards
Figure pat00073
to calculate Then the maximum value when i=M and j=H
Figure pat00074
to decide and temporary variables
Figure pat00075
set to 1
Figure pat00076
mark as allocated and total power demand
Figure pat00077
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가지 종류의 정점을 갖는 흐름 네트워크로 모델링될 수 있다. 단일 소스 정점

Figure pat00078
가 작업
Figure pat00079
에 상응하는 작업 정점
Figure pat00080
가 엣지 서버 j에 상응하는 엣지 서버의 정점
Figure pat00081
,
Figure pat00082
가 엣지 서버 j에 상응하는 엣지 서버의 정점
Figure pat00083
, 그리고 단일 싱크 정점 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
Figure pat00078
autumn work
Figure pat00079
corresponding work vertex
Figure pat00080
is the vertex of the edge server corresponding to edge server j
Figure pat00081
,
Figure pat00082
is the vertex of the edge server corresponding to edge server j
Figure pat00083
, and a single sink vertex t. Now, the reward per unit of processing capacity used in edge server j can be defined as follows.

Figure pat00084
Figure pat00084

이 경우, 흐름 네트워크를 생성할 때의 규칙은 다음과 같이 묘사할 수 있다.In this case, the rules for creating a flow network can be described as follows.

소스 정점 s는 모든 작업 정점에 연결된다. 각 엣지(

Figure pat00085
)는 용량
Figure pat00086
과 비용 0을 가진다.The source vertex s is connected to all working vertices. Each edge (
Figure pat00085
) is the capacity
Figure pat00086
and cost 0.

각 정점

Figure pat00087
, (i=1,...,Ntask)는
Figure pat00088
=1일 때, 정점
Figure pat00089
에 연결된다. 각 엣지는 용량
Figure pat00090
와 비용
Figure pat00091
을 가진다.each vertex
Figure pat00087
, (i=1,...,N task ) is
Figure pat00088
When =1, the vertex
Figure pat00089
is connected to Each edge has a capacity
Figure pat00090
and cost
Figure pat00091
have

각 정점

Figure pat00092
, (j=1,...,NES) 는 싱크 정점 t에 연결된다. 각 엣지 (
Figure pat00093
)는 용량
Figure pat00094
와 비용 0을 가진다.each vertex
Figure pat00092
, (j=1,...,N ES ) is connected to the sink vertex t. each edge (
Figure pat00093
) is the capacity
Figure pat00094
and cost 0.

엣지 서버 할당 문제는 각 엣지 서버에서의 사용 조건을 만족하면서 총 보상을 극대화시키는 것을 목적으로 하며, 작업 분할이 허용될 때는 값

Figure pat00095
을 결정하고, 작업 분할이 허용되지 않을 때는
Figure pat00096
를 결정하여 해결할 수 있다. 총 보상을 극대화시키는 것은 총 비용
Figure pat00097
을 최소화시키는 것에 해당된다.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
Figure pat00095
to decide, and when division of work is not allowed
Figure pat00096
can be resolved by determining Maximizing the total reward is the total cost
Figure pat00097
is to minimize the

만약 소스 노드에서 싱크 노드로의 작업

Figure pat00098
에 대한 흐름 용량이
Figure pat00099
라면, 각 엣지 서버의 정점
Figure pat00100
에서 싱크 정점으로의 총 흐름은 엣지 서버 j의 용량 제약조건인
Figure pat00101
를 초과할 수 없다.
Figure pat00102
=1인 경우에만
Figure pat00103
Figure pat00104
사이의 엣지가 존재하기 때문에 엣지 서버 커버리지 제약조건은 최소 비용 최대 흐름 그래프에 표현될 수 있다.If the operation from the source node to the sink node is
Figure pat00098
flow capacity for
Figure pat00099
Ramen, the vertex of each edge server
Figure pat00100
The total flow from to the sink vertex is the capacity constraint of edge server j.
Figure pat00101
cannot exceed
Figure pat00102
only if =1
Figure pat00103
Wow
Figure pat00104
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에 표시되어 있다. 모든 엣지들

Figure pat00105
에 대한 용량 값은 1만큼 감소했지만, 역방향 경로의 엣지들의 용량은 1만큼 증가했다. 이 역방향 경로
Figure pat00106
에 대한 비용
Figure pat00107
Figure pat00108
로 설정된다. 역방향 경로는 알고리즘에 의해 선택될 수 있고, 이 경우 최초의 경로 선정은 취소된다. 최단 경로 빠른 알고리즘은 가능한 흐름이 없어질 때까지 잔차 그래프에서 작동한다.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
Figure pat00105
The capacitance value for α was decreased by 1, but the capacitance of the edges of the reverse path increased by 1. this reverse path
Figure pat00106
cost for
Figure pat00107
silver
Figure pat00108
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)에서 생성되고 흐름

Figure pat00109
의 값과 비용
Figure pat00110
이 초기화 된다(라인5-9). Initialization: Residual graph is created from min-cost max flow graph (line 1) and flow
Figure pat00109
value and cost of
Figure pat00110
is initialized (lines 5-9).

경로 증강: 최소 비용 최대 흐름 그래프를 사용해서 최소 비용 흐름을 구한다(라인 11). 이에 해당하는 경로가 잔차 그래프에 생성된다(라인 15). 그리고 흐름이 갱신된다(라인 17-18). 이 과정은

Figure pat00111
에 생성되는 증강 경로 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
Figure pat00111
It is repeated until there is no augmentation path p being created in (line 12).

마무리:

Figure pat00112
Figure pat00113
사이에 흐름이 있으면,
Figure pat00114
에 있는 하위 작업 중 하나를 처리하기 위해 엣지 서버 j가 선정되고,
Figure pat00115
값은 이에 따라 갱신된다(라인 21-29).finish:
Figure pat00112
Wow
Figure pat00113
If there is a flow between
Figure pat00114
Edge server j is chosen to process one of the subtasks in
Figure pat00115
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).

갱신 및 제거: 최소 비용 흐름과 연관된 작업 정점이 제거되고, 용량 사용량

Figure pat00116
과 지수
Figure pat00117
가 갱신되며 흐름과 연관된 엣지들이 제거된다(라인 6-16). 예를 들어, 최소 비용 흐름이 도5에서
Figure pat00118
라고 가정하자. 그렇다면
Figure pat00119
에 해당되는 정점은 들어오는 엣지 및 나가는 엣지와 함께 제거된다.
Figure pat00120
이 엣지 서버 2로 할당되었기 때문에
Figure pat00121
값은 2로 갱신된다. 엣지 서버 2에 의해 증가된 처리 사용량을 기록하기 위해서 임시 변수
Figure pat00122
Figure pat00123
만큼 증가되며 이는 Yj를 초과해서는 안된다. 이러한 2가지 과정은 모든 작업들이 검토될 때까지 반복된다.Renew and Purge: Work vertices associated with the least cost flow are removed, capacity usage
Figure pat00116
and exponent
Figure pat00117
is updated and the edges associated with the flow are removed (lines 6-16). For example, the minimum cost flow is shown in FIG.
Figure pat00118
Let's assume if so
Figure pat00119
The corresponding vertices are removed along with the incoming and outgoing edges.
Figure pat00120
Because it was assigned to Edge Server 2
Figure pat00121
The value is updated to 2. Temporary variable to record increased processing usage by Edge Server 2
Figure pat00122
Is
Figure pat00123
, and it must not exceed Y j . These two processes are repeated until all tasks have been reviewed.

도 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)의 커버리지 안에 있다면,

Figure pat00124
=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,
Figure pat00124
=1 (otherwise 0). The coverage of each BS is expressed as a randomly selected distance between 450m and 750m.

다양한 변수의 효과를 살펴보기 위해, 우리는 작업, 보상 및 작업 사용량을 변화시켰고, 이들은 표 1에 나타난 것처럼 서로 다른 범위를 갖고 있다. 각 WAP는

Figure pat00125
Figure pat00126
사이의 임의의 작업 수를 생성하는 IoT 장비들로 연결될 수 있다. 모든 엣지 서버 j에 대하여 동일하게, 작업
Figure pat00127
에 대한 기본 보상은
Figure pat00128
Figure pat00129
사이에 임의로 선정된 정수값이고, 작업
Figure pat00130
에 의해 요구되는 사용량
Figure pat00131
Figure pat00132
Figure pat00133
사이에 임의로 선정된 정수값이다. 다르게 서술되지 않는 경우에, 각 변수에 대한 기본 범위는 표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
Figure pat00125
Wow
Figure pat00126
It can be connected to IoT devices that create any number of tasks in between. Same for all edge server j, work
Figure pat00127
The basic reward for
Figure pat00128
class
Figure pat00129
It is an integer value randomly selected between
Figure pat00130
Usage Required by
Figure pat00131
Is
Figure pat00132
Wow
Figure pat00133
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

Figure pat00134
Figure pat00134

도 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은 (

Figure pat00135
)과
Figure pat00136
의 다른 값들에 대한 EAA-TS와 EAA-NTS 의 결과 간의 평균 비율 차이를 나타낸다. EAA-TS와 EAA-NTS 결과 간의 비율 차이가 다른 매개변수들의 값에 상관없이 무시할 수 있음을 발견할 수 있다. 예를 들어
Figure pat00137
=12일 때 0.33%를 넘지 않았고,
Figure pat00138
=6일 때 0.48%를 넘지 않았다. 하지만,
Figure pat00139
이 증가함에 따라 차이가 커져가는 것을 확인할 수 있다. 그 이유를 다음과 같이 설명될 수 있다. EAA-NTS는 하나의 작업 전체를 처리하기 위해 남은 용량이 부족한 경우 엣지 서버에 작업을 할당할 수 없으므로, 사용률이 낮으며, 이는 주로 최소 작업 사용량 크기가 1을 초과할 때 발생한다.
Figure pat00140
이 증가함에 따라, 이 둘 사이의 차이는 줄어들고, 이는 가용 전력이 낮을 때 작업 분할이 효과적이라는 것을 의미한다.Table 1 (
Figure pat00135
)class
Figure pat00136
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
Figure pat00137
=12 did not exceed 0.33%,
Figure pat00138
=6 did not exceed 0.48%. However,
Figure pat00139
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.
Figure pat00140
As α increases, the difference between the two decreases, which means that task splitting is effective when available power is low.

표 2: (

Figure pat00141
) 과
Figure pat00142
의 다른 값들에 대한 EAA-NTS와 EAA-TS 비교Table 2: (
Figure pat00141
) class
Figure pat00142
Comparison of EAA-NTS and EAA-TS for different values of

Figure pat00143
Figure pat00143

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가지

Figure pat00144
값의 평균 보상 결과인 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
Figure pat00144
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

다양한 보상 범위 (

Figure pat00145
)의 효과를 살펴보았다. 도12는 40%, 60% 그리고 80%일 때 평균 보상 결과를 나타낸다. 다시 EAA-NTS가
Figure pat00146
Figure pat00147
간의 차이가 커지면서 마진이 증가하여 다른 스킴들보다 우수한 성능을 나타내는 것을 확인할 수 있다. 작업들에 대해 넓은 보상 범위를 갖는 것이 더 큰 최적화 범위를 부여하며, EAA-NTS이 이를 잘 활용하는 것으로 보여진다.Various compensation ranges (
Figure pat00145
) was examined. 12 shows the average compensation results at 40%, 60% and 80%. EAA-NTS again
Figure pat00146
class
Figure pat00147
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은 다수의 다른 범위(

Figure pat00148
)에 대한 총 보상과 3가지
Figure pat00149
값 40%, 60% 그리고 80%에 대한 평균값을 나타낸다. 더 적은 수의 작업이 엣지 서버로 할당될 수 있기 때문에, 총 보상은 범위가 (1,6)에서 (3,8)로 증가했을 때 약간 증가한다. 하지만 이 작업들은 더 높은 보상을 받는다. 하지만, 그 범위 밖에서
Figure pat00150
의 값은 보상 결과에 거의 영향을 주지 못한다. You can see how the total reward varies depending on the range of work usage values. 13 shows a number of different ranges (
Figure pat00148
) and 3
Figure pat00149
Average values for values 40%, 60% and 80% are shown. Because fewer jobs can be assigned to edge servers, the total reward increases slightly when the range is increased from (1,6) to (3,8). However, these tasks are highly rewarded. but out of range
Figure pat00150
The value of has little effect on the reward result.

7. EAA-NTS와 같은 보상을 얻기 위해 다른 스킴이 필요로 하는 전력 소비량7. Power consumption required by other schemes to get rewards like EAA-NTS

Figure pat00151
의 다양한 값들에 대해서 EAA-NTS를 사용했을 때 얻어지는 총 보상을 결정할 수 있다. 동일한 보상을 얻기 위해서 다른 스킴들이 필요로 하는 전력을 찾을 수 있다. 도 14는 각각의 경우를 EAA-NTS에 의해 도출된 전력으로 정규화한 결과를 나타낸다. 동일한 보상을 얻기 위해서 다른 스킴들은 EAA-NTS보다 13%과 75% 더 높은 전력을 필요로 하는 것을 확인할 수 있다. 예를 들어, MUD+HUR은 EAA-NTS보다 13%에서 29% 많은 전력을 필요로 했고, MUD+HR은 19%에서 30% 더 많은 전력을 필요로 했다.
Figure pat00152
=60%, 70% 및 80%일 때, RR+HR과 RA+HR은 모든 엣지 서버들이 완전히 사용되었음에도 불구하고 EAA-NTS와 같은 보상을 산출하지 못함을 확인할 수 있다.
Figure pat00151
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.
Figure pat00152
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
제1항에 있어서,
상기 작업을 오프로딩하는 단계는,
상기 각각의 엣지 서버의 한도 전력 하에서 엣지 서버 제공자의 보상을 최대화하기 위한 상기 각각의 엣지 서버의 최대 허용 가능한 사용률과 작업 할당을 포함하는 할당 정보를 결정하는 단계
를 포함하는 작업 오프로딩 방법.
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
제1항에 있어서,
상기 작업을 오프로딩하는 단계는,
상기 각각의 엣지 서버의 최대 허용 가능한 사용률을 결정하는 동시에 전력 요구량에 대한 엣지 서버 제공자의 보상 비율이 높은 작업의 오프로드에 높은 우선 순위를 부여하는 단계
를 포함하는 작업 오프로딩 방법.
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
제1항에 있어서,
상기 작업을 오프로딩하는 단계는,
상기 각각의 엣지 서버의 전력 제약조건을 충족하면서 최대 허용 가능한 사용률의 값들을 탐색하는 단계
를 포함하는 작업 오프로딩 방법.
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
제4항에 있어서,
상기 작업을 오프로딩하는 단계는,
작업 할당으로부터 전력 증가량과 보상 증가량을 반복적으로 계산하여 전력 제약조건이 충족되고, 각각의 엣지 서버에서 최대 허용 가능한 사용률이 결정될 때까지 전력 비율에 더 높은 보상을 주는 최대 허용 가능한 사용률 값에 우선순위를 부여하는 단계
를 포함하는 작업 오프로딩 방법.
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
제1항에 있어서,
상기 작업을 오프로딩하는 단계는,
상기 각각의 엣지 서버로 작업 할당하기 위한 각각의 작업에 대한 값을 탐색하는 단계
를 포함하는 작업 오프로딩 방법.
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
제6항에 있어서,
상기 작업을 오프로딩하는 단계는,
최소 비용 최대 흐름 그래프를 사용하여 작업 분할을 허용하는 방법 또는 작업 분할을 허용하지 않는 방법 중 어느 하나의 방법을 이용하여 엣지 서버로의 작업 할당을 수행하는 단계
를 포함하는 작업 오프로딩 방법.
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
제7항에 있어서,
상기 작업 분할을 허용하는 방법은,
잔차 그래프가 상기 최소 비용 최대 흐름 그래프에서 생성되고 각 노드 사이의 흐름을 표현하기 위한 이진 함수의 값과 비용을 초기화하는 과정, 최단 경로 빠른 알고리즘을 사용하여 최소 비용 흐름을 도출함에 따라 상기 잔차 그래프에 경로를 생성하고, 상기 흐름을 갱신하는 경로 증강 과정 및 정점 사이에 흐름이 존재할 경우, 작업을 구성하는 하위 작업 중 하나를 처리하기 위해 엣지 서버를 선정함으로써 상기 하위 작업이 할당된 엣지 서버의 지수값을 갱신하는 마무리 과정을 수행하는
작업 오프로딩 방법.
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.
제7항에 있어서,
상기 작업 분할을 허용하지 않는 방법은,
상기 최소 비용 최대 흐름 그래프에 작동되고, 소스 정점에서 싱크 정점으로 최소 비용 흐름을 계산하는 최소 비용 흐름 과정, 상기 최소 비용 흐름과 연관된 작업 정점을 제거하고 용량 사용량과 작업이 할당된 엣지 서버의 지수값을 갱신하고 흐름과 연관된 엣지들을 제거하는 과정을 수행하는
작업 오프로딩 방법.
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.
KR1020200129920A 2020-10-08 2020-10-08 Reward-oriented task offloading under limited edge server power for mobile edge computing KR102432007B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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