KR20230089509A - Bi-LSTM 기반 웹 애플리케이션 워크로드 예측 방법 및 장치 - Google Patents
Bi-LSTM 기반 웹 애플리케이션 워크로드 예측 방법 및 장치 Download PDFInfo
- Publication number
- KR20230089509A KR20230089509A KR1020220027330A KR20220027330A KR20230089509A KR 20230089509 A KR20230089509 A KR 20230089509A KR 1020220027330 A KR1020220027330 A KR 1020220027330A KR 20220027330 A KR20220027330 A KR 20220027330A KR 20230089509 A KR20230089509 A KR 20230089509A
- Authority
- KR
- South Korea
- Prior art keywords
- hidden state
- workload
- lstm
- pods
- application
- Prior art date
Links
- 230000006403 short-term memory Effects 0.000 title claims abstract description 13
- 238000000034 method Methods 0.000 title claims abstract description 9
- 230000002457 bidirectional effect Effects 0.000 title claims description 8
- 230000004044 response Effects 0.000 claims abstract description 9
- 230000015654 memory Effects 0.000 claims abstract description 7
- 238000012544 monitoring process Methods 0.000 claims description 9
- 230000006978 adaptation Effects 0.000 claims description 6
- 230000007774 longterm Effects 0.000 claims description 6
- 238000001816 cooling Methods 0.000 claims description 3
- 230000004931 aggregating effect Effects 0.000 claims description 2
- 230000007787 long-term memory Effects 0.000 claims 1
- YHXISWVBGDMDLQ-UHFFFAOYSA-N moclobemide Chemical compound C1=CC(Cl)=CC=C1C(=O)NCCN1CCOCC1 YHXISWVBGDMDLQ-UHFFFAOYSA-N 0.000 abstract description 3
- 239000011159 matrix material Substances 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 210000003061 neural cell Anatomy 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012731 temporal analysis Methods 0.000 description 1
- 238000000700 time series analysis Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Debugging And Monitoring (AREA)
Abstract
본 발명은 Bi-LSTM 기반 웹 애플리케이션 워크로드 예측 방법 및 장치를 개시한다. 본 발명에 따르면, 프로세서; 및 상기 프로세서에 연결되는 메모리를 포함하되, 제1 LSTM(Long Short Term Memory)에 사용자가 요청하는 애플리케이션 처리량 및 평균 응답 시간을 포함하는 애플리케이션 메트릭 및 현재 실행 중인 모든 노드의 포드(Pod) 정보에 대한 시계열 데이터인 입력 시퀀스를 순방향으로 입력하여 제1 은닉 상태를 출력하고, 제2 LSTM에 상기 입력 시퀀스를 역방향으로 입력하여 제2 은닉 상태를 출력하고, 오토 스케일러를 통해 상기 제1 은닉 상태 및 상기 제2 은닉 상태를 이용하여 미래 HTTP 요청 워크로드를 계산하고, 상기 오토 스케일러를 통해 상기 미래 HTTP 요청 워크로드를 기반으로 프로비저닝 또는 디프로비저닝에 필요한 포드 수를 계산하도록, 상기 프로세서에 의해 실행되는 프로그램 명령어들을 저장하는 웹 애플리케이션 워크로드 예측 장치가 제공된다.
Description
본 발명은 Bi-LSTM 기반 웹 애플리케이션 워크로드 예측 방법 및 장치에 관한 것이다.
클라우드 컴퓨팅의 핵심 요소는 가상화 기술로, 클라우드 공급자가 서버와 같은 동일한 컴퓨팅 장치에서 여러 운영 체제와 애플리케이션을 실행할 수 있도록 지원한다.
전통적으로 하이퍼바이저 기반 가상화는 특정 리소스(예: CPU 코어, RAM 및 네트워크 대역폭)와 게스트 운영 체제를 사용하여 가상머신(VM)을 생성하는데 사용되는 기술이다.
컨테이너 기반 가상화는 가상머신에 대한 대안으로 가상머신보다 시작 시간을 줄이고 리소스를 적게 소모한다.
클라우드 컴퓨팅의 주요 특징은 탄력성으로 애플리케이션 소유자가 비용을 절감하면서 성능을 향상시키려는 요구에 따라 리소스를 프로비저닝하거나 프로비저닝 해제하여 인터넷 기반 서비스에 내재된 예측할 수 없는 워크로드를 관리할 수 있다.
오토 스케일링(autoscaling)은 리소스를 동적으로 획득 및 해제하는 프로세스이며 리액티브(reactive) 및 프로액티브(proactive)로 분류할 수 있다.
적절한 오토 스케일링을 선택하면 CPU 사용률, 메모리 및 응답 시간과 같은 파라미터의 품질에 영향을 줄 수 있다.
하이퍼바이저 기반의 오토 스케일링 솔루션과 관련된 많은 방법이 제안된 반면, 컨테이너 기반 솔루션과 관련된 작업은 아직 초기 단계에 있다.
기존의 많은 리액티브 오토 스케일링 솔루션은 CPU 사용률 및 메모리와 같은 인프라 수준 메트릭을 기반으로 하는 임계값이 있는 규칙을 사용한다. 이러한 솔루션은 구현하기 쉽지만 사용자 행동에 따라 워크로드가 지속적으로 변동하기 때문에 임계값에 대한 올바른 값을 선택하는 것이 어렵다. 프로액티브 솔루션을 위해 시계열 데이터 분석을 사용하는 많은 방법이 제안되고 있으나, 오토스케일러 설계를 위해 기계 학습 알고리즘을 사용하는 방법은 소수에 불과하다.
상기한 종래기술의 문제점을 해결하기 위해, 본 발명은 리소스 추정 정확도를 높이고 워크로드 버스트를 잘 처리할 수 있는 Bi-LSTM 기반 웹 애플리케이션 워크로드 예측 방법 및 장치를 제안하고자 한다.
상기한 바와 같은 목적을 달성하기 위하여, 본 발명의 일 실시예에 따르면, 양방향 장단기 메모리를 이용한 웹 애플리케이션 워크로드 예측 장치로서, 프로세서; 및 상기 프로세서에 연결되는 메모리를 포함하되, 제1 LSTM(Long Short Term Memory)에 사용자가 요청하는 애플리케이션 처리량 및 평균 응답 시간을 포함하는 애플리케이션 메트릭 및 현재 실행 중인 모든 노드의 포드(Pod) 정보에 대한 시계열 데이터인 입력 시퀀스를 순방향으로 입력하여 제1 은닉 상태를 출력하고, 제2 LSTM에 상기 입력 시퀀스를 역방향으로 입력하여 제2 은닉 상태를 출력하고, 오토 스케일러를 통해 상기 제1 은닉 상태 및 상기 제2 은닉 상태를 이용하여 미래 HTTP 요청 워크로드를 계산하고, 상기 오토 스케일러를 통해 상기 미래 HTTP 요청 워크로드를 기반으로 프로비저닝 또는 디프로비저닝에 필요한 포드 수를 계산하도록, 상기 프로세서에 의해 실행되는 프로그램 명령어들을 저장하는 웹 애플리케이션 워크로드 예측 장치가 제공된다.
상기 오토 스케일러에는 상기 필요한 포드 수를 계산하는 스케일링 결정 후 냉각 시간(Cooling down time, CDT)이 설정될 수 있다.
상기 오토 스케일러는 상기 필요한 포드 수가 현재 포드 수보다 작으면 리소스 제거 전략(Resource removal strategy, RSS)을 따라 잉여 포드를 제거할 수 있다.
상기 오토 스케일러는 상기 제1 은닉 상태 및 상기 제2 은닉 상태를 결합한 출력 시퀀스를 입력으로 하여 상기 미래 HTTP 요청 워크로드를 계산하는 어댑션 매니저 서비스를 포함할 수 있다.
쿠버네티스 마스터 노드의 쿠버네티스 엔진은 상기 어댑션 매니저 서비스로부터 명령을 받아 포드 수를 변경할 수 있다.
본 발명의 다른 측면에 따르면, 양방향 장기 단기 메모리를 이용한 웹 애플리케이션 워크로드 예측 시스템으로서, 사용자가 요청하는 애플리케이션 처리량 및 평균 응답 시간을 포함하는 애플리케이션 메트릭을 수집하는 애플리케이션 메트릭 수집기; 상기 애플리케이션 메트릭과 마스터 노드에서 검색된 현재 실행 중인 모든 노드의 포드(Pod) 정보를 포함하는 시계열 데이터를 집계하여 시계열 데이터베이스에 저장하는 모니터링 서버; 및 상기 시계열 데이터에 상응하는 입력 시퀀스를 순방향으로 입력하여 제1 은닉 상태를 출력하는 제1 LSTM, 상기 입력 시퀀스를 역방향으로 입력하여 제2 은닉 상태를 출력하는 제2 LSTM 및 상기 제1 은닉 상태 및 상기 제2 은닉 상태를 이용하여 미래 HTTP 요청 워크로드를 계산하고 상기 미래 HTTP 요청 워크로드를 기반으로 프로비저닝 또는 디프로비저닝에 필요한 포드 수를 계산하는 어댑션 매니저 서비스를 포함하는 프로액티브 오토 스케일러를 포함하는 웹 애플리케이션 워크로드 예측 시스템이 제공된다.
본 발명의 또 다른 측면에 따르면, 프로세서 및 메모리를 포함하는 양방향 장단기 메모리를 이용한 웹 애플리케이션 워크로드 예측 방법으로서, 제1 LSTM(Long Short Term Memory)에 사용자가 요청하는 애플리케이션 처리량 및 평균 응답 시간을 포함하는 애플리케이션 메트릭 및 현재 실행 중인 모든 노드의 포드(Pod) 정보에 대한 시계열 데이터인 입력 시퀀스를 순방향으로 입력하여 제1 은닉 상태를 출력하는 단계; 제2 LSTM에 상기 입력 시퀀스를 역방향으로 입력하여 제2 은닉 상태를 출력하는 단계; 오토 스케일러를 통해 상기 제1 은닉 상태 및 상기 제2 은닉 상태를 이용하여 미래 HTTP 요청 워크로드를 계산하는 단계; 및 상기 오토 스케일러를 통해 상기 미래 HTTP 요청 워크로드를 기반으로 프로비저닝 또는 디프로비저닝에 필요한 포드 수를 계산하는 단계를 포함하는 웹 애플리케이션 워크로드 예측 방법이 제공된다.
본 발명에 따르면, 예측 정확도에서 ARIMA 및 표준 피드 정방향 LSTM으로 통계 방법을 능가하며, ARIMA보다 빠른 예측 속도를 달성하는 장점이 있다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 실시예서는 미래에 HTTP 요청을 예측하기 위해 양방향 장단기 메모리(Bidirectional Long Short-Term Memory, Bi-LSTM)를 포함하는 반복 신경망을 사용한다.
일반적으로 LSTM은 시계열 데이터를 순방향으로 입력 받는다. Bi-LSTM은 2개의 LSTM을 입력 데이터에 적용한 LSTM 모델의 확장이다. 제1 LSTM은 상기한 시계열 데이터를 순방향으로 입력 받아 훈련되고, 제2 LSTM은 시계열 데이터를 역방향 입력 받아 훈련된다.
본 실시예에 따른 Bi-LSTM 아키텍처는 LSTM 네트워크 두 개가 서로 쌓여 있다. 첫 번째 방향은 과거에서 미래로, 두 번째 방향은 미래에서 과거로 양방향으로 입력을 실행한다. 순방향 LSTM과 달리 역방향 LSTM을 이용하면 미래의 정보를 보호하는데 도움이 된다.
두 개의 숨겨진 상태를 결합함으로써 과거와 미래의 정보를 보호할 수 있다. LSTM을 두 번 적용하면 머신 러닝의 장기 의존성 개선으로 이어지고 그러므로 모델의 정확도가 향상된다.
도 1은 본 발명의 바람직한 일 실시예에 따른 워크로드 예측 시스템 아키텍쳐를 도시한 도면이다.
본 실시예에 따른 워크로드 예측 시스템은 MAPE(모니터-분석-계획-실행) 루프를 기반으로 한다.
도 1을 참조하면, 본 실시예에 따른 시스템은 로드 밸런서(Load balancer, 100), 애플리케이션 메트릭 수집기(Application metrics collector, 102), 모니터링 서버(104), 쿠버네티스 마스터(K8S Master 106) 및 복수의 쿠버네티스 미니언(K8S Minion #1 ~ #n, 108-n)을 포함할 수 있다.
로드 밸런서(100)는 컨테이너화된 애플리케이션에 대한 지원을 제공한다. 최종 사용자로부터 입력되는 TCP/HTTP 요청을 수신하고, 이를 복수의 쿠버네티스 미니언(106-n)에 분산시키는 게이트웨이 역할을 수행한다.
본 실시예에서는 TCP/HTTP 기반 애플리케이션의 로드 밸런싱 및 프록시를 위한 빠르고 안정적인 오픈 소스 기술인 HAProxy를 사용한다.
HAProxy는 쿠버네티스 클러스터의 외부에 위치하며, 도 1과 같이 외부 노드 IP 및 노드 포트를 통해 쿠버네티스 클러스터의 모든 미니언 노드에 대한 모든 HTTP 요청의 로드 밸런싱을 조정하도록 HAproy를 구성한다.
애플리케이션 메트릭 수집기(102)는 사용자가 요청하는 애플리케이션 처리량 및 평균 응답 시간을 포함하는 애플리케이션 메트릭을 수집하며, 수집된 정보를 모니터링 서버(104)로 전송한다.
모니터링 서버(104)는 애플리케이션 메트릭 수집기(102)로부터 모니터링된 정보를 수신하여 시계열 데이터베이스(110)에 전송한다.
시계열 데이터는 시간 순서대로 인덱싱된 일련의 데이터 포인트이다.
상기한 메트릭을 의사결정에 사용할 수 있고, 수집된 값은 API 서비스에 의해 노출될 수 있고 프로액티드 커스텀 오토 스케일러(112)가 액세스할 수 있다.
쿠버네티스에서 각 클러스터는 하나의 마스터와 복수의 미니언 노드로 구성된다.
실제로 클러스터는 하나의 마스터 노드에 장애가 발생하면 다른 마스터 노드가 이를 교체하여 시스템을 안정적으로 유지하기 위해 복수의 마스터 노드를 가질 수 있다.
마스터 노드는 etcd, kube-scheduler, kubecontrol-manager 및 kube-apiserver의 네 가지 구성요소로 클러스터를 제어한다.
etcd는 클러스터에 대한 모든 구성 데이터를 저장한다.
kube-scheduler는 노드에 할당할 생성된 포드(Pod)와 예약되지 않은 포드를 검색한다. kube-scheduler는 제약조건과 사용 가능한 리소스를 고려하여 노드의 순위를 매기고 포드를 적절한 노드에 할당한다.
kube-control-manager는 클러스터가 원하는 상태로 실행되는지를 감시한다. 예를 들어 애플리케이션이 5개의 포드로 실행 중이고 일정 시간이 지나면 1개의 포드가 다운되거나 누락되는 경우, kube-control-manager가 누락된 포드에 대한 새 복제본을 생성한다.
kube-apiserver는 포드, 서비스 및 복제 컨트롤러를 포함한 클러스터 구성 요소의 유효성을 검사하고 관리한다. 클러스터 상태의 각 변경은 kubelet을 통해 미니언 노드를 관리하는 kube-apiserver를 경유해야 한다.
미니언(108)은 포드를 호스팅하고 마스터(106)의 지시에 따라 실행한다.
kubelet은 클러스터의 각 노드에서 실행되는 에이전트이며, 마스터(106)의 kube-apiserver에 의해 지시되고 컨테이너를 잘 유지되도록 한다.
kube-proxy는 노드의 네트워크 규칙을 제어한다. 이러한 규칙은 클러스터의 내부 또는 외부 네트워크에서 포드로의 네트워크 통신을 허용한다.
쿠버네티스는 컨테이너화된 애플리케이션을 위한 가장 일반적인 오케스트레이션 플랫폼 중 하나이다. 본 실시예에서는 경량, 이식성 등을 위해 쿠버네티스 용으로 가장 널리 사용되는 컨테이너 엔진인 Docker를 선택한다.
NodeIP는 미니언 노드의 외부 IP 주소이고, 이 IP 주소는 인터넷에서 액세스할 수 있다.
NodePort는 클러스터의 모든 미니언 노드에 있는 개방형 포트이며 각 미니언 노드에 애플리케이션을 노출시킨다. NodePort의 값은 30,000에서 32,767 사이의 미리 정의된 범위를 가질 수 있다.
전술한 바와 같이, 본 실시예에 따른 워크로드 예측 시스템은 MAPE 루프를 기반으로 하며 오토 스케일러(112)를 핵심으로 하는 Bi-LSTM 예측 서비스(분석 단계)와 적응적 매니저 서비스(계획 단계)를 포함한다.
도 2는 본 실시예에 따른 오토 스케일러의 아키텍쳐로서 MAPE 루프의 각 단계를 도시한 도면이다.
이하에서는 본 실시예에 따른 MAPE 루프의 각 단계를 상세하게 설명한다.
(1) 모니터 단계(Monitor phase)
본 실시예에 따른 모니터링 서버(104)는 분석 및 계획 단계를 위한 다양한 유형의 데이터를 지속적으로 수신한다.
모니터링 서버(104)는 두 가지 소스로부터 데이터를 수집할 수 있다.
모니터링 서버(104)는 애플리케이션 메트릭 수집기(102)를 통한 초당 HTTP 요청 수와 같은 로드 밸런서(100)의 네트워킹 데이터와 마스터 노드(kube-apiserver)에서 검색된 포드 복제본의 수와 같은 현재 실행 중인 모든 노드의 포드 정보를 수신할 수 있다.
상기한 정보를 수신한 후, 모니터링 서버(104)는 이를 집계하여 시계열 데이터베이스(110)로 전송한다.
본 실시예에 따르면, 시계열 데이터베이스(110)를 추가하여 수집된 모든 데이터를 과거 기록으로 유지하고 이를 통해 워크로드 예측 모델을 훈련하여 예측 정확도를 향상시킬 수 있다.
(2) 분석 단계(Analysis phase) - Bi-LSTM 예측 서비스
분석 단계에서 Bi-LSTM 예측 서비스 기간(period)은 Prometheus의 restful API를 통해 윈도우 크기 w로 가장 최근에 수집된 메트릭 데이터를 획득한다.
다음으로, 훈련된 모델은 최신 데이터 를 이용하여 순서의 다음 데이터를 예측한다. 본 실시예에 따르면, Bi-LSTM 신경망 모델은 미래 HTTP 요청의 워크로드를 예측하는데 사용된다.
일반적으로 LSTM은 감정 분석, 음성 인식, 시계열 분석 등 다양한 분야에서 사용되는 심층 RNN의 한 종류이다.
피드포워드 신경망과 달리 RNN은 현재 및 이전 시간 단계 출력 데이터를 입력으로 사용하여 네트워크를 구축하며, 루프가 있는 네트워크가 있어 이력 데이터를 유지 관리할 수 있다. 그러나 기존 RNN은 그래디언트 소실 문제로 인해 장기적인 종속성이 발생한다.
RNN에서 그래디언트는 시간이 지남에 따라 기하급수적으로 확장된다. 이를 해결하기 위한 RNN의 특수한 형태인 LSTM이 제안되었으나, LSTM은 단방향으로만 정보를 처리할 수 있어 지속적인 데이터 변경을 무시하기 때문에 한계가 있다.
Bi-LSTM은 두 개의 LSTM이 입력 데이터에 적용된 LSTM 모델의 확장이다.
제1 LSTM은 시계열 데이터를 순방향으로 입력 받아 학습되며, 제2 LSTM은 시계열 데이터를 역방향으로 입력 받아 학습된다.
즉, 제1 LSTM은 시계열 데이터를 과거부터 현재와 가까운 순으로 순방향으로 입력 받으며, 제2 LSTM은 시계열 데이터를 현재부터 과거순으로 역방향으로 입력 받아 학습이 진행된다.
Bi-LSTM 아키텍처는 서로의 위에 쌓인 두 개의 LSTM 네트워크이며, 양방향으로 입력을 실행한다. 첫 번째 방향은 과거에서 미래로, 두 번째 방향은 미래에서 과거 방향이다. 순방향 LSTM과의 차이점은 역방향으로 실행하면 미래의 정보를 보존하는 데 도움이 된다는 것이다. Bi-LSTM은 두 개의 숨겨진 상태를 결합하여 과거와 미래의 정보를 보존할 수 있다. LSTM을 두 번 적용하면 학습 장기 종속성이 향상되어 결과적으로 모델의 정확도가 향상된다.
Bi-LSTM 방정식은 다음의 수학식 1 내지 3으로 표현된다.
입력 시퀀스 가 주어지면, Bi-LSTM은 t=1에서 T까지 순방향 레이어를 반복하여 순방향 은닉 상태 , t=T에서 1까지 역방향 레이어를 반복하여 역방향 은닉 상태 , 출력 레이어를 업데이트 하여 출력 시퀀스 를 계산한다.
(3) 계획 단계(Planning phase) - Adaption Manager Service
계획 단계에서 적응적 매니저 서비스는 이전 단계에서 예측된 미래 HTTP 요청 워크로드를 기반으로 프로비저닝 또는 디프로비저닝에 필요한 포드 수를 계산한다. 향후 워크로드를 만족하기 위해 포드를 스케일링하도록 설계된다.
진동 문제로 인해 오토 스케일러(112)는 짧은 시간 내에 반대 동작을 자주 수행하기 때문에 리소스와 비용이 낭비된다. 이를 해결하기 위해 각 스케일링 결정 후 냉각 시간(Cooling down time, CDT)을 60초로 설정하며, 이는 컨테이너 scenery에 비해 세분화된다.
필요한 포드 수가 현재 포드 수를 초과하는 경우, 스케일링 아웃(scale out) 명령이 트리거되고, 스케일러는 가까운 미래에 리소스 수요를 충족하기 위해 포드 수를 늘린다.
그러나 필요한 포드의 수가 현재 포드 수보다 작으면 스케일러는 리소스 제거 전략(resource removal strategy, RSS)에 따라 잉여 포드인 를 제거하여 시스템을 안정화하면서 워크로드는 다음 간격에 발생시킨다.
리소스 제거 전략을 따른 잉여 포드의 수는 수학식 4와 같이 계산된다.
이렇게 하면 전체가 아닌 잉여 리소스의 일부만 제거하면 된다.
리소스 제거 전략을 사용하면 시스템이 낮은 워크로드로 안정화될 뿐만 아니라 포드 수를 생성하여 업데이트하는데 더 적은 시간을 소비하므로 워크로드 버스트에 더 빠르게 적응할 수 있다.
(4) 실행 단계(Execution phase)
MAPE 루프의 이 마지막 단계에서 Kubernetes 엔진(kube-apiserver)은 계획 단계의 적응적 매니저 서비스로부터 명령을 받아 포드 복제본 수를 변경한다.
도 4는 본 발명의 일 실시예에 따른 양방향 LSTM 네트워크 구조를 도시한 도면이다.
도 4를 참조하면, 본 실시예에 따른 Bi-LSTM 모델은 순방향과 역방향으로 이동하는 두 개의 레이어를 포함한다.
각 은닉 레이어에는 10개의 시간 단계에 대한 10개의 신경 셀이 있는 입력층이 포함되며, 각 신경 셀에 대해 30개의 은닉 유닛이 있다.
순방향 및 역방향 모두에서 은닉 레이어의 최종 출력이 연결되어 밀집 레이어(Dense layer)에 대한 입력으로 사용된다.
밀집 레이어는 완전 연결 계층이다.
즉 밀집 레이어의 각 뉴런은 이전 계층의 모든 뉴런으로부터 입력을 받으며, 밀집 레이어의 출력은 지정된 뉴런 수의 영향을 받는다.
본 실시예에서는 밀집 레이어를 이용하여 예측 결과를 출력한다.
본 실시예에 따른 모델은 비선형 회귀 모델이므로 은닉 레이어에서는 ReLU 활성화 함수를 사용한다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
Claims (7)
- 양방향 장단기 메모리를 이용한 웹 애플리케이션 워크로드 예측 장치로서,
프로세서; 및
상기 프로세서에 연결되는 메모리를 포함하되,
제1 LSTM(Long Short Term Memory)에 사용자가 요청하는 애플리케이션 처리량 및 평균 응답 시간을 포함하는 애플리케이션 메트릭 및 현재 실행 중인 모든 노드의 포드(Pod) 정보에 대한 시계열 데이터인 입력 시퀀스를 순방향으로 입력하여 제1 은닉 상태를 출력하고,
제2 LSTM에 상기 입력 시퀀스를 역방향으로 입력하여 제2 은닉 상태를 출력하고,
오토 스케일러를 통해 상기 제1 은닉 상태 및 상기 제2 은닉 상태를 이용하여 미래 HTTP 요청 워크로드를 계산하고,
상기 오토 스케일러를 통해 상기 미래 HTTP 요청 워크로드를 기반으로 프로비저닝 또는 디프로비저닝에 필요한 포드 수를 계산하도록,
상기 프로세서에 의해 실행되는 프로그램 명령어들을 저장하는 웹 애플리케이션 워크로드 예측 장치. - 제1항에 있어서,
상기 오토 스케일러에는 상기 필요한 포드 수를 계산하는 스케일링 결정 후 냉각 시간(Cooling down time, CDT)이 설정되는 웹 애플리케이션 워크로드 예측 장치. - 제1항에 있어서,
상기 오토 스케일러는 상기 필요한 포드 수가 현재 포드 수보다 작으면 리소스 제거 전략(Resource removal strategy, RSS)을 따라 잉여 포드를 제거하는 웹 애플리케이션 워크로드 예측 장치. - 제1항에 있어서,
상기 오토 스케일러는 상기 제1 은닉 상태 및 상기 제2 은닉 상태를 결합한 출력 시퀀스를 입력으로 하여 상기 미래 HTTP 요청 워크로드를 계산하는 어댑션 매니저 서비스를 포함하는 웹 애플리케이션 워크로드 예측 장치. - 제4항에 있어서,
쿠버네티스 마스터 노드의 쿠버네티스 엔진은 상기 어댑션 매니저 서비스로부터 명령을 받아 포드 수를 변경하는 웹 애플리케이션 워크로드 예측 장치. - 양방향 장기 단기 메모리를 이용한 웹 애플리케이션 워크로드 예측 시스템으로서,
사용자가 요청하는 애플리케이션 처리량 및 평균 응답 시간을 포함하는 애플리케이션 메트릭을 수집하는 애플리케이션 메트릭 수집기;
상기 애플리케이션 메트릭과 마스터 노드에서 검색된 현재 실행 중인 모든 노드의 포드(Pod) 정보를 포함하는 시계열 데이터를 집계하여 시계열 데이터베이스에 저장하는 모니터링 서버; 및
상기 시계열 데이터에 상응하는 입력 시퀀스를 순방향으로 입력하여 제1 은닉 상태를 출력하는 제1 LSTM, 상기 입력 시퀀스를 역방향으로 입력하여 제2 은닉 상태를 출력하는 제2 LSTM 및 상기 제1 은닉 상태 및 상기 제2 은닉 상태를 이용하여 미래 HTTP 요청 워크로드를 계산하고 상기 미래 HTTP 요청 워크로드를 기반으로 프로비저닝 또는 디프로비저닝에 필요한 포드 수를 계산하는 어댑션 매니저 서비스를 포함하는 프로액티브 오토 스케일러를 포함하는 웹 애플리케이션 워크로드 예측 시스템. - 프로세서 및 메모리를 포함하는 양방향 장단기 메모리를 이용한 웹 애플리케이션 워크로드 예측 방법으로서,
제1 LSTM(Long Short Term Memory)에 사용자가 요청하는 애플리케이션 처리량 및 평균 응답 시간을 포함하는 애플리케이션 메트릭 및 현재 실행 중인 모든 노드의 포드(Pod) 정보에 대한 시계열 데이터인 입력 시퀀스를 순방향으로 입력하여 제1 은닉 상태를 출력하는 단계;
제2 LSTM에 상기 입력 시퀀스를 역방향으로 입력하여 제2 은닉 상태를 출력하는 단계;
오토 스케일러를 통해 상기 제1 은닉 상태 및 상기 제2 은닉 상태를 이용하여 미래 HTTP 요청 워크로드를 계산하는 단계; 및
상기 오토 스케일러를 통해 상기 미래 HTTP 요청 워크로드를 기반으로 프로비저닝 또는 디프로비저닝에 필요한 포드 수를 계산하는 단계를 포함하는 웹 애플리케이션 워크로드 예측 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20210177225 | 2021-12-13 | ||
KR1020210177225 | 2021-12-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230089509A true KR20230089509A (ko) | 2023-06-20 |
Family
ID=86994918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220027330A KR20230089509A (ko) | 2021-12-13 | 2022-03-03 | Bi-LSTM 기반 웹 애플리케이션 워크로드 예측 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20230089509A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116956759A (zh) * | 2023-09-21 | 2023-10-27 | 宝德计算机***股份有限公司 | 一种调节bmc风扇转速的方法、***及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210066697A (ko) | 2019-11-28 | 2021-06-07 | 경희대학교 산학협력단 | 비디오 프레임의 공간 정보와 동적 정보를 다층 bi-lstm을 통해 분석하여 인간 우울증 수준을 예측하는 장치 및 방법 |
-
2022
- 2022-03-03 KR KR1020220027330A patent/KR20230089509A/ko unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210066697A (ko) | 2019-11-28 | 2021-06-07 | 경희대학교 산학협력단 | 비디오 프레임의 공간 정보와 동적 정보를 다층 bi-lstm을 통해 분석하여 인간 우울증 수준을 예측하는 장치 및 방법 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116956759A (zh) * | 2023-09-21 | 2023-10-27 | 宝德计算机***股份有限公司 | 一种调节bmc风扇转速的方法、***及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112000459B (zh) | 一种用于服务的扩缩容的方法及相关设备 | |
Toka et al. | Machine learning-based scaling management for kubernetes edge clusters | |
Liu et al. | A hierarchical framework of cloud resource allocation and power management using deep reinforcement learning | |
Bibal Benifa et al. | Rlpas: Reinforcement learning-based proactive auto-scaler for resource provisioning in cloud environment | |
Vakilinia et al. | Modeling of the resource allocation in cloud computing centers | |
KR20220030050A (ko) | 복수의 vnf(virtualized network function)에 대한 컴퓨팅 자원의 할당을 조정하는 방법 및 그 서버 | |
Nguyen et al. | Scaling upf instances in 5g/6g core with deep reinforcement learning | |
CN113641445B (zh) | 基于深度确定性策略的云资源自适应配置方法及*** | |
Banerjee et al. | Efficient resource utilization using multi-step-ahead workload prediction technique in cloud | |
Yadav et al. | Resource provisioning through machine learning in cloud services | |
Rolik et al. | Dynamie management of data center resources using reinforcement learning | |
CN106797399A (zh) | 确定计算资源的新配置的配置方法、设备、***和计算机可读介质 | |
Ismaeel et al. | Multivariate time series ELM for cloud data centre workload prediction | |
Jin et al. | Model-free resource management of cloud-based applications using reinforcement learning | |
Dogani et al. | K-agrued: A container autoscaling technique for cloud-based web applications in kubernetes using attention-based gru encoder-decoder | |
Masoumzadeh et al. | A cooperative multi agent learning approach to manage physical host nodes for dynamic consolidation of virtual machines | |
KR20230089509A (ko) | Bi-LSTM 기반 웹 애플리케이션 워크로드 예측 방법 및 장치 | |
Shi et al. | PAPMSC: power-aware performance management approach for virtualized web servers via stochastic control | |
Liu et al. | ScaleFlux: Efficient stateful scaling in NFV | |
Hosamani et al. | Elastic provisioning of Hadoop clusters on OpenStack private cloud | |
Khanh et al. | Fuzzy‐Based Mobile Edge Orchestrators in Heterogeneous IoT Environments: An Online Workload Balancing Approach | |
Jin et al. | Resource management of cloud-enabled systems using model-free reinforcement learning | |
Li et al. | Noah: Reinforcement-learning-based rate limiter for microservices in large-scale e-commerce services | |
KR20230089510A (ko) | Bi-LSTM 기반 웹 애플리케이션 워크로드 예측 방법 및 장치 | |
CN115913967A (zh) | 一种云环境下基于资源需求预测的微服务弹性伸缩方法 |