KR102368165B1 - 엣지 컴퓨팅 환경에서 비용을 고려한 마이크로서비스 기반 어플리케이션 배포 방법 - Google Patents

엣지 컴퓨팅 환경에서 비용을 고려한 마이크로서비스 기반 어플리케이션 배포 방법 Download PDF

Info

Publication number
KR102368165B1
KR102368165B1 KR1020200145789A KR20200145789A KR102368165B1 KR 102368165 B1 KR102368165 B1 KR 102368165B1 KR 1020200145789 A KR1020200145789 A KR 1020200145789A KR 20200145789 A KR20200145789 A KR 20200145789A KR 102368165 B1 KR102368165 B1 KR 102368165B1
Authority
KR
South Korea
Prior art keywords
distribution
application
state
condition
microservice
Prior art date
Application number
KR1020200145789A
Other languages
English (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 KR1020200145789A priority Critical patent/KR102368165B1/ko
Application granted granted Critical
Publication of KR102368165B1 publication Critical patent/KR102368165B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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/5055Allocation 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 software capabilities, i.e. software resources associated or available to the machine
    • H04L67/18
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

엣지 컴퓨팅 환경에서 비용을 고려한 마이크로서비스 기반 기반 어플리케이션 배포 기술이 개시된다. 일 실시예에 따른 어플리케이션 배포 방법은, 엣지 컴퓨팅 환경에서 비용 정보를 고려하여 마이크로서비스 기반의 어플리케이션을 배포하기 위한 배포 문제를 설정하는 단계; 및 상기 설정된 배포 문제에 기초하여 탐색된 배포 상태에 따라 분할된 어플리케이션을 복수 개의 엣지 서버에 각각 배포하는 단계를 포함할 수 있다.

Description

엣지 컴퓨팅 환경에서 비용을 고려한 마이크로서비스 기반 어플리케이션 배포 방법{COST-AWARE DEPLOYMENT OF MICRO SERVICE-BASED APPLICATIONS IN EDGE COMPUTING ENVIRONMENTS}
아래의 설명은 어플리케이션 배포 기술에 관한 것이다.
엣지 컴퓨팅(edge computing)은 컴퓨팅 자원을 네트워크의 가장자리(edge)에 배치하여 사용자와 가까운 위치에서 컴퓨팅 서비스를 제공하는 기술이다. 이러한 환경에서 어플리케이션 제공자는 사용자와 가까운 엣지 서버(edge server)에 어플리케이션을 배포하여 사용자에게 제공되는 서비스의 지연시간을 효과적으로 줄일 수 있다. 특히, 마이크로서비스 아키텍처(microservice architecture, MSA) 형태로 개발된 어플리케이션의 경우 전체 시스템을 여러 개의 마이크로서비스로 분할하여 서로 다른 엣지 서버에 배포하는 것이 가능하다. 이때 MSA 어플리케이션 제공자 입장에서 배포 비용과 어플리케이션의 응답시간을 고려하여 마이크로서비스들을 효율적으로 배포하는 것이 중요하다.
최근 엣지 컴퓨팅 환경과 유사한 포그 컴퓨팅(fog computing) 환경에서 어플리케이션을 모듈 단위로 분할하여 배포하는 방법이 연구되었다. 일례로, 계층 구조의 포그 컴퓨팅 환경에서 사용자 위치로부터 상향식으로 모듈들을 배포하고, 이후에 응답시간과 사용하는 서버의 수를 고려하여 모듈들을 재배치하는 방법이 제안되었다. 그러나 상기 종래의 기술은 다루고 있는 다수의 사용자가 동시에 같은 어플리케이션을 사용하는 상황은 고려되지 않았다.
또한, 클라우드 컴퓨팅 환경과 단일 엣지 서버 사이에서 동적인 어플리케이션 배포를 통해 어플리케이션 배포 비용을 최소화하는 연구가 진행되었다. 그러나 상기 연구에서는 하나의 엣지 서버와 클라우드 컴퓨팅 환경 사이의 배포만을 가정하였을 뿐, 여러 엣지 서버에 어플리케이션을 분할하여 배포하는 상황은 고려되지 않았다.
다수의 사용자가 사용하는 마이크로서비스 아키텍처 어플리케이션을 제한된 비용 내에서 복수 개의 엣지 서버에 효과적으로 배포하는 방법 및 시스템을 제공할 수 있다.
마이크로서비스 아키텍처 어플리케이션 배포 문제를 일반적인 조합 최적화 문제로 정의하고, 모의 담금질(simulated annealing) 기법을 응용하여 최적의 배포 상태를 탐색하는 방법 및 시스템을 제공할 수 있다.
어플리케이션 배포 방법은, 엣지 컴퓨팅 환경에서 비용 정보를 고려하여 마이크로서비스 기반의 어플리케이션을 배포하기 위한 배포 문제를 설정하는 단계; 및 상기 설정된 배포 문제에 기초하여 탐색된 배포 상태에 따라 분할된 어플리케이션을 복수 개의 엣지 서버에 각각 배포하는 단계를 포함할 수 있다.
상기 설정하는 단계는, 기 제한된 비용 정보 내에서 전체 사용자로부터 복수 개의 엣지 서버에 배포된 마이크로서비스 요청에 대한 응답시간을 최소화하는 어플리케이션 배포 상태를 탐색하기 위한 배포 문제를 정의하는 단계를 포함할 수 있다.
상기 배포 상태는, 마이크로서비스가 엣지 서버에 최소 1개씩 배포되는 제1 조건, 각 엣지 서버에 배포된 마이크로서비스들의 자원 요구사항의 합이 엣지 서버의 자원 용량을 초과해서는 안 되는 제2 조건 및 어플리케이션의 전체 배포 비용이 어플리케이션 제공자가 지출 가능한 비용보다 작아야 하는 제3조건을 포함할 수 있다.
상기 배포하는 단계는, 모의 담금질에 기반한 배포 알고리즘을 이용하여 배포 상태를 탐색하는 단계를 포함하고, 상기 모의 담금질에 기반한 배포 알고리즘은, 초기 온도(Temp), 정지 온도(StopTemp), 온도 강하율(Alpha)을 포함하는 복수 개의 하이퍼파라미터(Hyperparameter) 설정값을 포함할 수 있다.
상기 배포하는 단계는, 기 제한된 비용 정보 내에서 임의의 초기 배포 상태를 설정하고, 상기 설정된 초기 배포 상태를 기준으로 이웃 배포 상태로 이동하여 최적의 배포 상태를 탐색하며, 현재 배포 상태와 상기 이웃 배포 상태와의 응답시간 추정치를 비교하여 상기 이웃 배포 상태가 더 짧은 응답시간을 가질 경우, 이웃 배포 상태로 이동하고, 상기 이웃 배포 상태가 긴 응답시간을 가질 경우, 응답시간의 차이와 현재 온도를 고려하여 확률적으로 이웃 배포 상태로 이동하고, 현재 온도가 정지 온도보다 작을 경우, 탐색을 중단하고 현재 배포 상태를 반환하는 단계를 포함하고, 상기 이웃 배포 상태는, 제1 조건, 제2 조건 및 제3 조건을 포함하는 조건 정보를 만족하면서 마이크로서비스를 새로 배포하거나 제거된 상태를 의미할 수 있다.
어플리케이션 배포 시스템은, 엣지 컴퓨팅 환경에서 비용 정보를 고려하여 마이크로서비스 기반의 어플리케이션을 배포하기 위한 배포 문제를 설정하는 설정부; 및 상기 설정된 배포 문제에 기초하여 탐색된 배포 상태에 따라 분할된 어플리케이션을 복수 개의 엣지 서버에 각각 배포하는 배포부를 포함할 수 있다.
상기 설정부는, 기 제한된 비용 정보 내에서 전체 사용자로부터 복수 개의 엣지 서버에 배포된 마이크로서비스 요청에 대한 응답시간을 최소화하는 어플리케이션 배포 상태를 탐색하기 위한 배포 문제를 정의할 수 있다.
상기 배포 상태는, 마이크로서비스가 엣지 서버에 최소 1개씩 배포되는 제1 조건, 각 엣지 서버에 배포된 마이크로서비스들의 자원 요구사항의 합이 엣지 서버의 자원 용량을 초과해서는 안 되는 제2 조건 및 어플리케이션의 전체 배포 비용이 어플리케이션 제공자가 지출 가능한 비용보다 작아야 하는 제3조건을 포함할 수 있다.
상기 배포부는, 모의 담금질에 기반한 배포 알고리즘을 이용하여 배포 상태를 탐색하는 것을 포함하고, 상기 모의 담금질에 기반한 배포 알고리즘은, 초기 온도(Temp), 정지 온도(StopTemp), 온도 강하율(Alpha)을 포함하는 복수 개의 하이퍼파라미터(Hyperparameter) 설정값을 포함할 수 있다.
상기 배포부는, 기 제한된 비용 정보 내에서 임의의 초기 배포 상태를 설정하고, 상기 설정된 초기 배포 상태를 기준으로 이웃 배포 상태로 이동하여 최적의 배포 상태를 탐색하며, 현재 배포 상태와 상기 이웃 배포 상태와의 응답시간 추정치를 비교하여 상기 이웃 배포 상태가 더 짧은 응답시간을 가질 경우, 이웃 배포 상태로 이동하고, 상기 이웃 배포 상태가 긴 응답시간을 가질 경우, 응답시간의 차이와 현재 온도를 고려하여 확률적으로 이웃 배포 상태로 이동하고, 현재 온도가 정지 온도보다 작을 경우, 탐색을 중단하고 현재 배포 상태를 반환하는 것을 포함하고, 상기 이웃 배포 상태는, 제1 조건, 제2 조건 및 제3 조건을 포함하는 조건 정보를 만족하면서 마이크로서비스를 새로 배포하거나 제거된 상태를 의미할 수 있다.
일 실시예에 따른 어플리케이션 배포 시스템은 메타휴리스틱 모의 담금질 기법에 기반하여 빠른 시간 내에 근사적인 최적해를 탐색함으로써 제한된 비용 내에서 더 나은 배포를 수행할 수 있다.
엣지 컴퓨팅 환경에서 엣지 서버와 사용자들의 지리적 분포를 고려하여 비용을 최소화하는 자동화된 어플리케이션 배포를 수행할 수 있다.
도 1은 일 실시예에 있어서, 엣지 컴퓨팅 환경의 마이크로서비스 아키텍처(MSA) 어플리케이션을 설명하기 위한 예이다.
도 2는 일 실시예에 있어서, 마이크로서비스 아키텍처(MSA) 어플리케이션 배포 알고리즘을 나타낸 예이다.
도 3은 일 실시예에 있어서, 비용 제한-응답 시간 그래프이다.
도 4는 일 실시예에 있어서, 모의 담금질 기반 어플리케이션 배포 알고리즘의 수렴 그래프이다.
도 5는 일 실시예에 따른 어플리케이션 배포 시스템의 구성을 설명하기 위한 블록도이다.
도 6은 일 실시예에 따른 어플리케이션 배포 시스템에서 어플리케이션 배포 방법을 설명하기 위한 흐름도이다.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
도 1은 일 실시예에 따른 엣지 컴퓨팅 환경의 마이크로서비스 아키텍처(MSA) 어플리케이션을 설명하기 위한 예이다.
엣지 컴퓨팅 환경에서는 어플리케이션을 사용자와 가까운 엣지 서버에 배포하여 서비스의 지연시간을 효과적으로 줄일 수 있다. 마이크로서비스 기반 어플리케이션을 제공하는 산업체 입장에서 엣지 컴퓨팅 환경의 특성과 비용을 고려한 효과적인 마이크로서비스 배포 방법은 필수적이다. 실시예에서는 엣지 컴퓨팅 환경에서 제한된 비용으로 다중 사용자들에게 빠른 응답시간을 제공하는 효과적인 마이크로서비스 기반 어플리케이션 배포 알고리즘을 제안한다. 구체적으로, 배포 문제를 일반적인 조합 최적화 문제로 정의하고 모의 담금질 기법을 확장한 알고리즘을 적용하여 근사적인 최적 배포 상태를 탐색한다.
도 1과 같은 엣지 컴퓨팅 환경에서, 마이크로서비스 아키텍처(MSA) 형태로 개발된 어플리케이션의 경우, 전체 시스템을 복수 개의 마이크로서비스로 분할하여 서로 다른 엣지 서버에 배포될 수 있다. 또한, 어플리케이션 제공자는 마이크로서비스 이미지의 컨테이너화를 통해 각 마이크로서비스를 복수 개의 엣지 서버에 쉽게 배포하고 관리할 수 있다.
다시 말해서, 가상화 기술의 발전으로 마이크로서비스들은 이미지의 컨테이너화를 통해서 동적으로 엣지 서버에 배포될 수 있다.
표 1: 엣지 컴퓨팅 환경 표기 목록
Figure 112020117572010-pat00001
표 1은 엣지 컴퓨팅 환경에 대한 표기이다. 엣지 컴퓨팅 환경에서 엣지 서버 i는 기준 엣지 서버 대비 컴퓨팅 성능 비율, 컴퓨팅 자원 용량, 단위 컴퓨팅 자원당 비용(sr i , rc i , ct i )값으로 표현된다. 이때, 엣지 서버 i의 단위 자원당 비용 ct i 은 일반적인 클라우드 컴퓨팅 환경과 같이 성능 sr i 에 비례한다고 가정한다. 엣지 컴퓨팅 환경에서 사용자는 엣지 서버와 직접(radio access network, RAN) 또는 간접(core network)으로 통신할 수 있다. 여기서, Radio access network를 거쳐서 직접 통신할 경우 더 높은 데이터 전송률을 가질 수 있다. 이때, 통신 유형 y ji 는 사용자 j가 엣지 서버 i와 직접 통신할 때 1, 간접 통신할 때 0으로 나타낸다.
일반적인 마이크로서비스 아키텍처(MAS)와 같이, 각 사용자의 요청이 게이트웨이를 거쳐서 각 마이크로서비스로 전달되는 구조를 가정하기로 한다.
표2: 마이크로서비스 표기 목록
Figure 112020117572010-pat00002
표 2는 마이크로서비스와 관련된 표기이다. 마이크로 서비스 이미지 k는 기준 엣지 서버에서의 서비스 시간, 컴퓨팅 자원 요구사항, 요청 메시지의 데이터 크기, 응답 메시지의 데이터 크기(st k , rq k , req k , res k ) 값으로 표현된다. 그리고 어플리케이션을 구성하는 전체 마이크로서비스의 배포 상태
Figure 112020117572010-pat00003
는 다음과 같은 행렬로 나타낼 수 있다.
Figure 112020117572010-pat00004
전체 마이크로서비스의 배포 상태
Figure 112020117572010-pat00005
는 마이크로서비스 이미지 k가 엣지 서버 i에 배포되어 있을 때, 1 배포되지 않을 때 0으로 나타낸다.
다음으로, 사용자의 요청-응답 시간과 전체 어플리케이션 배포 비용이 추정될 수 있다. 사용자는 복수 개의 엣지 서버에 배포된 마이크로서비스들 중에서 최소 응답시간을 가지는 마이크로서비스들을 통해 마이크로서비스 아키텍쳐(MSA) 어플리케이션을 이용할 수 있다. 이때, 사용자 j의 마이크로서비스 아키텍쳐(MSA) 어플리케이션에 대한 평균 응답시간은 수학식 1과 같다.
수학식 1:
Figure 112020117572010-pat00006
하나의 마이크로서비스 요청에 대한 응답시간은 전송 시간과 서비스 시간을 포함한다. 이때, 전송 시간은 사용자-게이트웨이-마이크로서비스 사이의 데이터 전송에 소요된 시간으로, 데이터 크기를 데이터 전송률로 나눈 값이다. 그리고 서비스 시간은 마이크로서비스 내부적으로 요청이 처리되는 시간으로 해당 마이크로서비스 이미지의 기준 서비스 시간을 이미지가 배포된 엣지 서버의 컴퓨팅 성능 비율로 나눈 값이다. 엣지 컴퓨팅 환경에 배포된 마이크로서비스 아키텍처(MSA) 어플리케이션의 전체 비용은 개별 마이크로서비스 배포 비용들의 총합으로 정의되며 다음과 같은 수학식 2를 사용하여 계산될 수 있다.
수학식 2:
Figure 112020117572010-pat00007
수학식 1의 사용자가 경험하는 마이크로서비스 아키텍처(MSA) 어플리케이션의 평균 응답시간은 엣지 서버와 사용자의 지역성과 마이크로서비스의 배포 상태에 따라 달라진다. 이때, 제한된 비용 안에서 전체 사용자의 응답시간을 최소화하는 어플리케이션 배포를 수행하는 것은 어플리케이션 제공자 관점에서 중요한 문제이다. 이러한 배포 문제는 다음 조건들을 만족하는 배포 상태
Figure 112020117572010-pat00008
를 찾는 최적화 문제로 정의할 수 있다.
최적화 목표는 마이크로서비스 아키텍처(MSA) 어플리케이션을 이용하는 전체 사용자에 대한 응답시간의 평균으로 수학식 3과 같이 나타낼 수 있다.
수학식 3:
Figure 112020117572010-pat00009
배포 상태는 다음과 같은 조건들을 만족해야 한다. 수학식 4와 같이 각 마이크로서비스는 최소 1개 이상씩 배포되어야 한다. 수학식 5와 같이 각 엣지 서버에 배포된 마이크로서비스들의 자원 요구사항의 합은 엣지 서버의 자원 용량을 초과해서는 안 된다. 그리고, 수학식 6과 같이 어플리케이션의 전체 비용은 어플리케이션 제공자가 지출 가능한 비용보다 작아야 한다.
수학식 4:
Figure 112020117572010-pat00010
수학식 5:
Figure 112020117572010-pat00011
수학식 6:
Figure 112020117572010-pat00012
도 2는 일 실시예에 따른 마이크로서비스 아키텍처(MSA) 어플리케이션 배포 알고리즘을 나타낸 예이다.
수학식 3을 최소화하는 배포 상태
Figure 112020117572010-pat00013
를 찾는 문제는 이산 검색 공간에서 최적해를 찾는 문제이다. 이때, 존재할 수 있는 배포 상태의 수는
Figure 112020117572010-pat00014
인데, 이처럼 상태의 수가 매우 큰 경우에 모든 상태를 확인하는 것은 실질적으로 불가능하다. 실시예에서는 효율적으로 근사적인 최적해를 찾는 메타휴리스틱(Methheuristic) 기법인 모의 담금질에 기반한 마이크로서비스 아키텍처(MSA) 어플리케이션 배포 알고리즘을 제안한다.
도 2의 알고리즘 1은 실시예에서 제안하는 마이크로서비스 아키텍처(MSA) 어플리케이션 배포 알고리즘으로, 초기 온도(Temp), 정지 온도(StopTemp), 온도 강하율(Alpha)을 포함하는 복수 개(예를 들면, 3개)의 하이퍼파라미터(Hyperparameter) 설정 값을 갖는다. '온도' 변수에 비례하여 확률적으로 더 나쁜 목적값(objective value)을 가지는 배포 상태로 이동한다.
상세하게는, 알고리즘 1은 입력받은 비용 제한 내에서 임의의 초기 배포 상태가 설정될 수 있다. 현재 온도가 정지 온도보다 작아질 때까지 다음 동작이 반복될 수 있다. 임의의 초기 배포 상태에서 시작하여 이웃한 배포 상태로 이동하며 최적의 배포 상태를 탐색한다. 이동할 수 있는 이웃 배포 상태는 제약조건 수학식 4, 수학식 5, 수학식 6을 만족하면서 새로운 마이크로서비스를 배포하거나, 제거한 상태이다. 이웃 배포 상태가 더 짧은 응답시간을 가질 경우, 해당 이웃 상태로 이동한다. 더 긴 응답시간을 가지는 경우에도 응답시간의 차이와 현재 온도를 고려하여 확률적으로 이동할 수 있다. 이러한 이동을 통해 지역 최적해(local optimum)가 아닌, 전역 최적해(global optimum)에 근사한 최적 배포 상태를 탐색한다. 탐색이 반복되면 현재 온도가 감소하여 더 높은 응답시간을 가지는 이웃 상태로 이동할 확률이 감소한다. 결과적으로 현재 온도가 정지 온도보다 작아지면 탐색을 종료하고 현재 배포 상태를 반환한다.
도 3은 일 실시예에 있어서, 비용 제한-응답 시간 그래프이다.
실시예에서 제안된 알고리즘의 평가를 위하여 엣지 컴퓨팅 환경이 시뮬레이션될 수 있다. 이때, 실험 변수들은 표 3과 같이 설정될 수 있다. 실험 결과의 타당성을 위해 시뮬레이션을 100회 반복하여 결과값들의 평균이 사용될 수 있다.
표 3: 실험 변수 설정값 목록
Figure 112020117572010-pat00015
비교를 위해 무작위(Random) 및 탐욕적(Greedy) 배포 알고리즘들을 함께 실험이 수행될 수 있다. 무작위 배포 알고리즘은 최대 비용까지 무작위로 마이크로서비스를 배포하는 방법이고, 탐욕적 배포 알고리즘은 현재 배포 상태에서 응답시간을 최대로 줄이는 마이크로서비스를 연속적으로 배포하는 방법이다. 도 3은 실시예에서 제안한 알고리즘과 두 가지(무작위, 탐욕적) 배포 알고리즘들의 비용 제한 -응답시간 그래프이다. 제안한 알고리즘이 비용 제한 10, 20, 30 모두에서 두 가지 비교 알고리즘들에 비해 더 짧은 응답시간을 가지는 것을 확인할 수 있다. 그리고 비용 제한이 더 커질수록 응답시간이 감소하는 경향을 보이는데, 이는 더 많은 마이크로서비스들을 사용자와 인접한 엣지 서버에 배포할 수 있기 때문으로 볼 수 있다. 결과값들을 분산 분석(analysis of variance, ANOVA)하여 획득한 유의 확률(p-value)은 비용 제한 10, 20, 30에서 각각 3.34e-136, 1.48e-185, 1.49e-81으로 0에 가까워 통계적으로 유의미한 차이이다.
도 4를 참고하면, 모의 담금질 기반 어플리케이션 배포 알고리즘의 수렴 그래프이다. 반복이 진행될수록 더 높은 응답시간을 가지는 배포 상태로 이동할 확률이 줄어들어, 응답시간의 변동이 줄어든다. 그리고 도 3과 마찬가지로 비용 제한이 커질수록 더 작은 응답시간에 수렴하는 것을 확인할 수 있다.
일 실시예에 따르면, 엣지 컴퓨팅에 대한 시뮬레이션을 통해, 실시예에서 제안된 모의 담금질에 기반한 배포 알고리즘이 무작위, 탐욕적 배포 알고리즘보다 제한된 비용 안에서 더 나은 배포를 수행하는 것을 확인할 수 있다.
도 5는 일 실시예에 따른 어플리케이션 배포 시스템의 구성을 설명하기 위한 블록도이고, 도 6은 일 실시예에 따른 어플리케이션 배포 시스템에서 어플리케이션 배포 방법을 설명하기 위한 흐름도이다.
어플리케이션 배포 시스템(100)의 프로세서는 설정부(510) 및 배포부(520)를 포함할 수 있다. 이러한 프로세서의 구성요소들은 어플리케이션 배포 시스템에 저장된 프로그램 코드가 제공하는 제어 명령에 따라 프로세서에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 프로세서 및 프로세서의 구성요소들은 도 6의 어플리케이션 배포 방법이 포함하는 단계들(610 내지 620)을 수행하도록 어플리케이션 배포 시스템을 제어할 수 있다. 이때, 프로세서 및 프로세서의 구성요소들은 메모리가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다.
프로세서는 어플리케이션 배포 방법을 위한 프로그램의 파일에 저장된 프로그램 코드를 메모리에 로딩할 수 있다. 예를 들면, 어플리케이션 배포 시스템에서 프로그램이 실행되면, 프로세서는 운영체제의 제어에 따라 프로그램의 파일로부터 프로그램 코드를 메모리에 로딩하도록 어플리케이션 배포 시스템을 제어할 수 있다. 이때, 설정부(510) 및 배포부(520) 각각은 메모리에 로딩된 프로그램 코드 중 대응하는 부분의 명령을 실행하여 이후 단계들(610 내지 620)을 실행하기 위한 프로세서의 서로 다른 기능적 표현들일 수 있다.
단계(610)에서 설정부(510)는 엣지 컴퓨팅 환경에서 비용 정보를 고려하여 마이크로서비스 기반의 어플리케이션을 배포하기 위한 배포 문제를 설정할 수 있다. 설정부(510)는 기 제한된 비용 정보 내에서 전체 사용자로부터 복수 개의 엣지 서버에 배포된 마이크로서비스 요청에 대한 응답시간을 최소화하는 어플리케이션 배포 상태를 탐색하기 위한 배포 문제를 정의할 수 있다. 이때, 배포 상태는 마이크로서비스가 엣지 서버에 최소 1개씩 배포되는 제1 조건, 각 엣지 서버에 배포된 마이크로서비스들의 자원 요구사항의 합이 엣지 서버의 자원 용량을 초과해서는 안 되는 제2 조건 및 어플리케이션의 전체 배포 비용이 어플리케이션 제공자가 지출 가능한 비용보다 작아야 하는 제3조건을 포함할 수 있다.
단계(620)에서 배포부(520)는 설정된 배포 문제에 기초하여 탐색된 배포 상태에 따라 분할된 어플리케이션을 복수 개의 엣지 서버에 각각 배포할 수 있다. 배포부(520)는 모의 담금질에 기반한 배포 알고리즘을 이용하여 배포 상태를 탐색하는 것을 포함할 수 있다. 이때, 모의 담금질에 기반한 배포 알고리즘은, 초기 온도(Temp), 정지 온도(StopTemp), 온도 강하율(Alpha)을 포함하는 복수 개의 하이퍼파라미터(Hyperparameter) 설정값을 포함할 수 있다. 배포부(520)는 기 제한된 비용 정보 내에서 임의의 초기 배포 상태를 설정하고, 상기 설정된 초기 배포 상태를 기준으로 이웃 배포 상태로 이동하여 최적의 배포 상태를 탐색하며, 현재 배포 상태와 상기 이웃 배포 상태와의 응답시간 추정치를 비교하여 상기 이웃 배포 상태가 더 짧은 응답시간을 가질 경우, 이웃 배포 상태로 이동하고, 상기 이웃 배포 상태가 긴 응답시간을 가질 경우, 응답시간의 차이와 현재 온도를 고려하여 확률적으로 이웃 배포 상태로 이동하고, 현재 온도가 정지 온도보다 작을 경우, 탐색을 중단하고 현재 배포 상태를 반환할 수 있다. 이때, 이웃 배포 상태는, 제1 조건, 제2 조건 및 제3 조건을 포함하는 조건 정보를 만족하면서 마이크로서비스를 새로 배포하거나 제거된 상태를 의미할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (10)

  1. 설정부 및 배포부를 포함하는 어플리케이션 배포 시스템에 의해 수행되는 어플리케이션 배포 방법에 있어서,
    상기 설정부에서, 엣지 컴퓨팅 환경에서 비용 정보를 고려하여 마이크로서비스 기반의 어플리케이션을 배포하기 위한 배포 문제를 설정하는 단계; 및
    상기 배포부에서, 상기 설정된 배포 문제에 기초하여 탐색된 배포 상태에 따라 분할된 어플리케이션을 복수 개의 엣지 서버에 각각 배포하는 단계
    를 포함하고,
    상기 설정하는 단계는,
    기 제한된 비용 정보 내에서 전체 사용자로부터 복수 개의 엣지 서버에 배포된 마이크로서비스 요청에 대한 응답시간을 최소화하는 어플리케이션 배포 상태를 탐색하기 위한 배포 문제를 정의하는 단계를 포함하고,
    상기 배포 상태는,
    마이크로서비스가 엣지 서버에 최소 1개씩 배포되는 제1 조건, 각 엣지 서버에 배포된 마이크로서비스들의 자원 요구사항의 합이 엣지 서버의 자원 용량을 초과해서는 안 되는 제2 조건 및 어플리케이션의 전체 배포 비용이 어플리케이션 제공자가 지출 가능한 비용보다 작아야 하는 제3조건을 포함하는
    어플리케이션 배포 방법.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 배포하는 단계는,
    모의 담금질에 기반한 배포 알고리즘을 이용하여 배포 상태를 탐색하는 단계
    를 포함하고,
    상기 모의 담금질에 기반한 배포 알고리즘은, 초기 온도(Temp), 정지 온도(StopTemp), 온도 강하율(Alpha)을 포함하는 복수 개의 하이퍼파라미터(Hyperparameter) 설정값을 포함하는
    것을 특징으로 하는 어플리케이션 배포 방법.
  5. 설정부 및 배포부를 포함하는 어플리케이션 배포 시스템에 의해 수행되는 어플리케이션 배포 방법에 있어서,
    상기 설정부에서, 엣지 컴퓨팅 환경에서 비용 정보를 고려하여 마이크로서비스 기반의 어플리케이션을 배포하기 위한 배포 문제를 설정하는 단계; 및
    상기 배포부에서, 상기 설정된 배포 문제에 기초하여 탐색된 배포 상태에 따라 분할된 어플리케이션을 복수 개의 엣지 서버에 각각 배포하는 단계
    를 포함하고,
    상기 배포하는 단계는,
    모의 담금질에 기반한 배포 알고리즘을 이용하여 배포 상태를 탐색하고, 기 제한된 비용 정보 내에서 임의의 초기 배포 상태를 설정하고, 상기 설정된 초기 배포 상태를 기준으로 이웃 배포 상태로 이동하여 최적의 배포 상태를 탐색하며, 현재 배포 상태와 상기 이웃 배포 상태와의 응답시간 추정치를 비교하여 상기 이웃 배포 상태가 더 짧은 응답시간을 가질 경우, 이웃 배포 상태로 이동하고, 상기 이웃 배포 상태가 긴 응답시간을 가질 경우, 응답시간의 차이와 현재 온도를 고려하여 이웃 배포 상태로 이동하고, 현재 온도가 정지 온도보다 작을 경우, 탐색을 중단하고 현재 배포 상태를 반환하는 단계
    를 포함하고,
    상기 모의 담금질에 기반한 배포 알고리즘은, 초기 온도(Temp), 정지 온도(StopTemp), 온도 강하율(Alpha)을 포함하는 복수 개의 하이퍼파라미터(Hyperparameter) 설정값을 포함하고,
    상기 이웃 배포 상태는, 제1 조건, 제2 조건 및 제3 조건을 포함하는 조건 정보를 만족하면서 마이크로서비스를 새로 배포하거나 제거된 상태를 의미하는
    것을 특징으로 하는 어플리케이션 배포 방법.
  6. 어플리케이션 배포 시스템에 있어서,
    엣지 컴퓨팅 환경에서 비용 정보를 고려하여 마이크로서비스 기반의 어플리케이션을 배포하기 위한 배포 문제를 설정하는 설정부; 및
    상기 설정된 배포 문제에 기초하여 탐색된 배포 상태에 따라 분할된 어플리케이션을 복수 개의 엣지 서버에 각각 배포하는 배포부
    를 포함하고,
    상기 설정부는,
    기 제한된 비용 정보 내에서 전체 사용자로부터 복수 개의 엣지 서버에 배포된 마이크로서비스 요청에 대한 응답시간을 최소화하는 어플리케이션 배포 상태를 탐색하기 위한 배포 문제를 정의하는 것을 포함하고,
    상기 배포 상태는,
    마이크로서비스가 엣지 서버에 최소 1개씩 배포되는 제1 조건, 각 엣지 서버에 배포된 마이크로서비스들의 자원 요구사항의 합이 엣지 서버의 자원 용량을 초과해서는 안 되는 제2 조건 및 어플리케이션의 전체 배포 비용이 어플리케이션 제공자가 지출 가능한 비용보다 작아야 하는 제3조건을 포함하는
    어플리케이션 배포 시스템.
  7. 삭제
  8. 삭제
  9. 제6항에 있어서,
    상기 배포부는,
    모의 담금질에 기반한 배포 알고리즘을 이용하여 배포 상태를 탐색하는 것을 포함하고,
    상기 모의 담금질에 기반한 배포 알고리즘은, 초기 온도(Temp), 정지 온도(StopTemp), 온도 강하율(Alpha)을 포함하는 복수 개의 하이퍼파라미터(Hyperparameter) 설정값을 포함하는
    것을 특징으로 하는 어플리케이션 배포 시스템.
  10. 어플리케이션 배포 시스템에 있어서,
    엣지 컴퓨팅 환경에서 비용 정보를 고려하여 마이크로서비스 기반의 어플리케이션을 배포하기 위한 배포 문제를 설정하는 설정부; 및
    상기 설정된 배포 문제에 기초하여 탐색된 배포 상태에 따라 분할된 어플리케이션을 복수 개의 엣지 서버에 각각 배포하는 배포부
    를 포함하고,
    상기 배포부는,
    모의 담금질에 기반한 배포 알고리즘을 이용하여 배포 상태를 탐색하고, 기 제한된 비용 정보 내에서 임의의 초기 배포 상태를 설정하고, 상기 설정된 초기 배포 상태를 기준으로 이웃 배포 상태로 이동하여 최적의 배포 상태를 탐색하며, 현재 배포 상태와 상기 이웃 배포 상태와의 응답시간 추정치를 비교하여 상기 이웃 배포 상태가 더 짧은 응답시간을 가질 경우, 이웃 배포 상태로 이동하고, 상기 이웃 배포 상태가 긴 응답시간을 가질 경우, 응답시간의 차이와 현재 온도를 고려하여 이웃 배포 상태로 이동하고, 현재 온도가 정지 온도보다 작을 경우, 탐색을 중단하고 현재 배포 상태를 반환하는 것을 포함하고,
    상기 모의 담금질에 기반한 배포 알고리즘은, 초기 온도(Temp), 정지 온도(StopTemp), 온도 강하율(Alpha)을 포함하는 복수 개의 하이퍼파라미터(Hyperparameter) 설정값을 포함하고,
    상기 이웃 배포 상태는, 제1 조건, 제2 조건 및 제3 조건을 포함하는 조건 정보를 만족하면서 마이크로서비스를 새로 배포하거나 제거된 상태를 의미하는
    것을 특징으로 하는 어플리케이션 배포 시스템.
KR1020200145789A 2020-11-04 2020-11-04 엣지 컴퓨팅 환경에서 비용을 고려한 마이크로서비스 기반 어플리케이션 배포 방법 KR102368165B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200145789A KR102368165B1 (ko) 2020-11-04 2020-11-04 엣지 컴퓨팅 환경에서 비용을 고려한 마이크로서비스 기반 어플리케이션 배포 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200145789A KR102368165B1 (ko) 2020-11-04 2020-11-04 엣지 컴퓨팅 환경에서 비용을 고려한 마이크로서비스 기반 어플리케이션 배포 방법

Publications (1)

Publication Number Publication Date
KR102368165B1 true KR102368165B1 (ko) 2022-02-28

Family

ID=80497515

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200145789A KR102368165B1 (ko) 2020-11-04 2020-11-04 엣지 컴퓨팅 환경에서 비용을 고려한 마이크로서비스 기반 어플리케이션 배포 방법

Country Status (1)

Country Link
KR (1) KR102368165B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115562757A (zh) * 2022-10-20 2023-01-03 中电金信软件有限公司 数据处理方法、配置中心系统、电子设备及存储介质
KR20240030358A (ko) 2022-08-30 2024-03-07 부산대학교 산학협력단 컨테이너 기반의 마이크로서비스 배포 방법 및 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101634409B1 (ko) * 2008-09-11 2016-06-28 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 데이터 센터들에 걸친 리소스 위치 확인 및 마이그레이션 기법
KR102109461B1 (ko) * 2020-02-17 2020-05-12 주식회사 제이윈파트너스 마이크로 서비스 아키텍처(msa) 기반의 프로젝트 자동화 지원 시스템
JP2020144514A (ja) * 2019-03-05 2020-09-10 ファナック株式会社 海外対応アプリケーション販売管理サーバシステム
KR20200109272A (ko) * 2019-03-12 2020-09-22 삼성전자주식회사 애플리케이션 요청의 처리를 최적화하는 방법 및 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101634409B1 (ko) * 2008-09-11 2016-06-28 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 데이터 센터들에 걸친 리소스 위치 확인 및 마이그레이션 기법
JP2020144514A (ja) * 2019-03-05 2020-09-10 ファナック株式会社 海外対応アプリケーション販売管理サーバシステム
KR20200109272A (ko) * 2019-03-12 2020-09-22 삼성전자주식회사 애플리케이션 요청의 처리를 최적화하는 방법 및 시스템
KR102109461B1 (ko) * 2020-02-17 2020-05-12 주식회사 제이윈파트너스 마이크로 서비스 아키텍처(msa) 기반의 프로젝트 자동화 지원 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240030358A (ko) 2022-08-30 2024-03-07 부산대학교 산학협력단 컨테이너 기반의 마이크로서비스 배포 방법 및 시스템
CN115562757A (zh) * 2022-10-20 2023-01-03 中电金信软件有限公司 数据处理方法、配置中心系统、电子设备及存储介质

Similar Documents

Publication Publication Date Title
Sreenu et al. W-Scheduler: whale optimization for task scheduling in cloud computing
US10063493B2 (en) Application-based elastic resource provisioning in disaggregated computing systems
US8725875B2 (en) Native cloud computing via network segmentation
US10574734B2 (en) Dynamic data and compute management
KR102368165B1 (ko) 엣지 컴퓨팅 환경에서 비용을 고려한 마이크로서비스 기반 어플리케이션 배포 방법
Bhatia et al. Quantumized approach of load scheduling in fog computing environment for IoT applications
KR20190096021A (ko) Mec 환경에서 전력 절감을 위한 동적 가상 객체 배치 방법 및 시스템
Mseddi et al. Intelligent resource allocation in dynamic fog computing environments
Ullah et al. Task classification and scheduling based on K-means clustering for edge computing
KR101578177B1 (ko) 클라우드 컴퓨팅 환경에서의 자원 이용률에 기초한 마이그레이션 방법 및 시스템
Farshin et al. A chaotic grey wolf controller allocator for Software Defined Mobile Network (SDMN) for 5th generation of cloud-based cellular systems (5G)
Mousicou et al. Performance evaluation of dynamic cloud resource migration based on temporal and capacity-aware policy for efficient resource sharing
Mengistu et al. Multi-objective resource mapping and allocation for volunteer cloud computing
Garg et al. Heuristic and reinforcement learning algorithms for dynamic service placement on mobile edge cloud
Alewijnse et al. Distribution-sensitive construction of the greedy spanner
KR102027682B1 (ko) 부분적 계산 오프로딩을 위한 모바일 클라우드 네트워크의 로드밸런싱 방법 및 그 시스템
CN109196484B (zh) 在具有多个存储器的系统中灵活的优化数据处理
Shabeera et al. Curtailing job completion time in MapReduce clouds through improved Virtual Machine allocation
Masoumi et al. Efficient Protected VNF Placement and MEC Location Selection for Dynamic Service Provisioning in 5G Networks
KR101661475B1 (ko) 이기종 클러스터 상에서 하둡 부하 분산 방법, 이를 수행하기 위한 기록 매체 및 하둡 맵리듀스 시스템
Sonkar et al. Load prediction analysis based on virtual machine execution time using optimal sequencing algorithm in cloud federated environment
Sato et al. Program file placement strategies for machine-to-machine service network platform in dynamic scenario
Tantawi Quantitative placement of services in hierarchical clouds
Chaurasia et al. A resource efficient expectation maximization clustering approach for cloud
CN102696257B (zh) 实现多物理服务器之间温度均衡的方法及装置

Legal Events

Date Code Title Description
GRNT Written decision to grant