KR20160044623A - 리눅스 가상 서버의 로드 밸런싱 방법 - Google Patents

리눅스 가상 서버의 로드 밸런싱 방법 Download PDF

Info

Publication number
KR20160044623A
KR20160044623A KR1020140138825A KR20140138825A KR20160044623A KR 20160044623 A KR20160044623 A KR 20160044623A KR 1020140138825 A KR1020140138825 A KR 1020140138825A KR 20140138825 A KR20140138825 A KR 20140138825A KR 20160044623 A KR20160044623 A KR 20160044623A
Authority
KR
South Korea
Prior art keywords
server
real server
load
real
fuzzy inference
Prior art date
Application number
KR1020140138825A
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 KR1020140138825A priority Critical patent/KR20160044623A/ko
Publication of KR20160044623A publication Critical patent/KR20160044623A/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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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/505Allocation 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 load

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명에 따른 리눅스 기반 가상 서버의 로드 밸런싱 방법은, 리얼 서버가 클라이언트의 요청에 대한 서비스 시 사용되는 리얼 서버의 시스템자원에 대한 정보를 모니터링 하기 위한 시스템 자원 수집 단계와, 상기 자원 수집기에서 수집된 데이터를 입력으로 하여 원하는 리얼 서버의 시스템자원 상태를 추론하는 퍼지추론 단계와, 상기 리얼 서버가 보고한 ASP(절대적 서비스 우선순위)를 바탕으로 클라이언트의 요청을 배치하는 로드 밸런싱 단계와, 상기 리얼 서버의 커널단에 존재하며, 상기 퍼지추론 시스템의 출력 결과인 리얼 서버의 ASP에 해당하는 수치적 값(numerical value)을 소켓을 통하여 로드 밸런서의 하기 서버 상태 핸들러에게 보고 하는 리포팅 단계와, 상기 리얼 서버의 리포터에 의해서 보고된 각각의 ASP를 해시 테이블(hash table)을 사용하여 가상 서버를 관리하는 서버 상태 핸들링 단계를 포함한다.

Description

리눅스 가상 서버의 로드 밸런싱 방법{Load Balancing Method for a Linux Virtual Server}
본 발명은 리눅스 서버의 로드 밸런싱에 관한 것으로서, 구체적으로는 인공지능형 모델링을 통해서 리눅스 가상 서버의 로드 밸런싱을 수행하는 방법에 관한 것이다.
효과적 부하배치를 위해선 각각의 리얼 서버와 로드 밸런서 사이에 시스템 상태정보를 교환하고 이 부하정보 및 예측정보를 바탕으로 제어를 결정하는 것이 무엇보다 중요하다.
그러나 기존의 부하배치 방법들에서 리얼 서버의 정확한 작업 배치결정의 중요한 인자인 부하정보들의 비선형성으로 인하여 전역상태를 정확히 반영할 수 없다. 단지 부하 배치를 위한 가중치에 대한 고려사항으로 리얼 서버의 접속자 수만을 반영함으로써 서버의 성능을 제대로 반영하지 못하고 있다.
따라서 부하 배치의 역할이 중요한 클러스터 웹 서버의 성능 향상에는 많은 기여를 하지 못한다. 웹 서버의 효율설계에 있어서 항상 주된 이슈가 되어온 이러한 문제들은 부하를 효과적으로 배치하고 예상할 수 있는 네트워크 습성을 나타내기 위한 적당한 수학적 모델링이 어렵다는데 그 원인이 있다.
이러한 전역적 불확실성(global uncertainty)을 효과적으로 반영하고자 퍼지로직을 사용한 효율적인 로드밸런싱을 위한 다양한 연구들이 수행되어 왔다. 쿠마르(Kumar)는 로드밸런싱을 위해 퍼지-전문가 시스템(fuzzy expert system)을 제안했다. 퍼지-전문가 시스템에서는 상태정보에서 불확실성을 반영하는 연구를 하였으며, 퍼지로직을 바탕으로 부하 배치 스케쥴링을 결정한다. 또한, 달리 제안된 퍼지 기반 일관성 모델(fuzzy-based consistency model)은 각 컴퓨팅 시스템이 예측된 일관성 이완(consistency relaxation)을 바탕으로 탄력적인 스케쥴링과 상태 업데이트 결정을 할 수 있도록 한 메커니즘이다. 부하의 모델링과 부하강도를 결정함에 대한 연구 및 불확실성을 고려하지 않는 기존의 방법과의 성능 및 오버헤드를 비교한 연구들이 있어왔는데, 이들은 모두 퍼지접근을 통한 리얼 서버의 상태정보 및 전역상태의 불확실성을 반영하여 부하배치를 하였으며, 기존의 전통적 방법에 비해서 중요한 성능 개선이 이루어짐을 나타내고 있다.따라서 부하의 잘못된 배치를 방지하고 전역상태의 불확실성을 효과적으로 반영하는 방법으로서 기존의 방법에 비해 개선된 방법으로 볼 수 있다.
그러나 기존의 연구는 정확한 리얼 서버의 상태를 반영하지 않고 있으며, 리얼 서버 측면에서 보다 로드 밸런서 측면에서 성능을 개선하여 단지 접속자 수와 같은 단순한 정보에 의존적인 문제점이 있다.
본 발명은 리얼 서버 측면에서 접근하여 정확한 서버의 상태를 얻고, 이를 부하 배치 알고리즘에 적용하여 로드 밸런서의 성능을 개선하는 방법을 제공하는 것을 목적으로 한다.
본 발명에 따른 리눅스 기반 가상 서버의 로드 밸런싱 방법은, 리얼 서버가 클라이언트의 요청에 대한 서비스 시 사용되는 리얼 서버의 시스템자원에 대한 정보를 모니터링 하기 위한 시스템 자원 수집 단계와, 상기 자원 수집기에서 수집된 데이터를 입력으로 하여 원하는 리얼 서버의 시스템자원 상태를 추론하는 퍼지추론 단계와, 상기 리얼 서버가 보고한 ASP(절대적 서비스 우선순위)를 바탕으로 클라이언트의 요청을 배치하는 로드 밸런싱 단계와, 상기 리얼 서버의 커널단에 존재하며, 상기 퍼지추론 시스템의 출력 결과인 리얼 서버의 ASP에 해당하는 수치적 값(numerical value)을 소켓을 통하여 로드 밸런서의 하기 서버 상태 핸들러에게 보고 하는 리포팅 단계와, 상기 리얼 서버의 리포터에 의해서 보고된 각각의 ASP를 해시 테이블(hash table)을 사용하여 가상 서버를 관리하는 서버 상태 핸들링 단계를 포함한다.
본 발명에 따르면, 클러스터링 가상서버에서 클라이언트의 요청을 리얼 서버에게 부하를 균등히 배치하기 위한 방법으로 네트워크의 비선형성으로 인한 전역성의 불확실성을 반영한다.
또한, 리얼 서버의 하드웨어 능력, 요청 데이터의 크기, 재분배의 오버헤드(overhead) 등을 고려하여 최소한의 시스템 사양으로도 서버의 성능을 향상시킬 수 있다.
도 1은 본 발명에 따른 리얼 서버 및 로드 밸런서 동작구조도.
도 2는 본 발명에 따른 웹 모니터링의 개요를 도시한 도면.
도 3은 서버 상태 핸들러의 해싱 구조도.
도 4는 리얼 서버 모델링을 위한 실험환경을 도시한 도면.
도 5는 본 발명의 방법에 따른 학습 후 ANFIS 추론값과 출력값을 도시한 그래프.
도 6은 본 발명의 방법에 따른 학습 후 ANFIS 추론 오차를 도시한 그래프.
본 발명의 로드 밸런싱 방법은 리얼 서버의 시스템 정보를 가지고 정확한 부하 상태를 파악하기 위해 퍼지접근을 통한 리얼 서버의 성능 파라메타 모델링을 수행하고, 로드 밸런싱을 위한 퍼지 시스템은 ANFIS 모델링을 수행후 얻어진 퍼지 추론 시스템을 사용한다.
즉, ANFIS 모델링을 통하여 리얼 서버의 시스템 부하를 정량화하고 정량화된 값을 바탕으로 로드 밸런서가 효과적인 부하배치를 할 수 있도록 한다.
실질적으로 웹 서버가 사용자에게 제공하는 서비스의 질은 대체로 두 가지 파라미터에 의존한다. 하나는 인터넷 연결 대역폭의 문제인 네트워크 전송속도이며, 다른 하나는 서버의 응답속도이다.
서버의 응답속도는 CPU의 속도(특히 CGI 프로그램 수행 시), 메모리의 양(특히 병렬동작 HTTP 대몬 프로세스 수행 시), 디스크 I/O와 네트워크 트래픽과 같은 성능에 좌우된다. 본 발명에서는 대역폭과 관련한 네트워크 전송속도는 기술과 비용을 떠나 웹서비스 제공자가 제어할 수 있는 범주를 벗어나기 때문에 서버의 서비스 처리속도와 응답속도를 높이는 관점에서 접근하고자 한다.
본 발명은 퍼지 모델링에 기반을 둔 로드 밸런서와 리얼 서버 사이의 효과적인 부하배치를 위한 구조로서 도 1과 같은 부하배치 구조를 취한다.
그리고 모델링을 통해서 전역상태의 불확실성이 반영된 서비스의 유용성으로 표현되는 리얼 서버의 절대적 서비스 우선순위를 만들어 로드 밸런서에게 보고하고 로드 밸런서는 이를 바탕으로 클라이언트 요청을 효과적으로 배치할 수 있도록 함으로써 클러스터링 웹 서버의 성능을 높인다.
본 발명의 바람직한 실시예에 따른 부하배치 및 모델링구조는 다음과 같다.
[리얼 서버 및 로드 밸런서 구조]
퍼지 모델링에 기반을 둔 최적 부하배치를 위한 리얼 서버와 로드 밸런서의 구조는 도 1과 같은 부하배치구조를 가진다. 그리고 각각의 모듈에 대한 기능은 다음과 같다. 또한, 리얼 서버의 시스템 부하를 줄이기 위해서 제안한 모든 기능은 커널 모듈로 구현됨이 바람직하다.
[시스템자원 모니터(System Resource Status Collector)]
리얼 서버가 클라이언트의 요청에 대한 서비스 시 사용되는 리얼 서버의 시스템자원에 대한 정보를 모니터링 하기 위해 별도의 자원 수집기 프로그램을 개발하여 사용하였다.
도 2는 리눅스 클러스터링 웹서버에서 리얼 서버를 모니터링하기 위한 모니터의 구조와 모니터링 되는 시스템자원의 구성 요소를 보여주고 있다.
여기서 한 가지 중요하게 고려해야 할 사항은 시스템을 모니터링 하는데 있어서의 오버헤드이다. 자원 수집기는 정보를 /proc 파일 시스템에서 수집한다. /proc 파일 시스템을 사용하는 것은 리얼 서버의 성능에 거의 영향을 미치지 않는다. 리눅스의 모든 정보는 축적된 값으로서 반환되며 버퍼에 저장되어 시스템 콜에 의해서 반환된 데이터로부터 비율을 계산하는 것이 가능하다.
[퍼지추론 시스템(Fuzzy Inference System)]
리얼 서버에서 동작하는 퍼지 추론시스템(Fuzzy Inference System)은 자원 수집기에서 수집된 데이터를 입력으로 하여 원하는 리얼 서버의 시스템자원 상태를 추론하는 기능을 가진다. 퍼지 추론시스템은 시스템 성능를 잘 반영하는 파라메타를 가지고 ANFIS 모델링을 수행하여 얻어진 최적화된 추론 시스템을 사용한다.
기존의 부하배치 시스템에서는 리얼 서버가 보고한 시스템의 자원상태를 로드 밸러서가 처리함으로써 로드 밸런서에 많은 병목을 발생시므로, 본 발명에서는 리얼 서버에 있는 FIS에서 추론된 결과에 대한 정보만 로드 밸런서와 교환한다.
이는 로드 밸런서가 모든 리얼 서버의 정보에 대한 계산을 함으로써 야기될 수 있는 로드 밸런서의 부하로 인한 클러스터링 웹서버의 서비스 중지와 같은 경우를 막을 수 있다.
[리얼 서버의 절대적 서비스 우선순위(Absolute Service Priority)]
본 명세서에서 리얼 서버가 웹서비스를 하는 동안 추가적인 서비스를 처리하기 위해서 필요한 현재의 시스템자원 가용량을 리얼 서버의 절대적 우선순위(the absolute service priority)로 정의하며, 이하 ASP라고 한다.
로드 밸런서는 리얼 서버가 보고한 ASP를 바탕으로 클라이언트의 요청을 배치한다. 리얼 서버는 FIS가 추론한 시스템의 가용자원 및 네트워크 등의 전역상태가 반영된 결과에 대한 정보를 바탕으로 ASP를 결정한다.
[리포터(Repoter)]
리얼 서버의 커널단에 존재하며, FIS의 결과인 리얼 서버의 ASP에 해당하는 수치적 값(numerical value)을 소켓을 통하여 로드 밸런서의 Server Status Handler에게 보고하는 역할을 한다. 본 발명에서는 리포터와 로드 밸런서와 주고받는 정보의 양을 최소화함으로써 지역적 병목현상을 최소화 할 수 있게 하였다.
[서버 상태 처리기(Server Status Handler)]
리얼 서버의 리포터에 의해서 보고 된 각각의 ASP(절대적 서비스 우선순위)를 로드 밸런서는 도 3과 같은 해시 테이블(hash table)을 사용하여 관리한다.
리얼 서버의 ASP를 연결 리스트라는 자료구조로 묶는 방법이 있지만, 해시 테이블을 사용하면 연결 리스트를 사용하는 것보다 탐색시간을 훨씬 개선할 수 있기 때문에 연결 리스트에서 탐색하는 것은 비효율적이다.
이런 제한을 피하고 로드 밸런싱의 속도를 높이기 위해서 해싱(hashing)이라는 기법을 사용한다. 로드 밸런서는 N개의 각각의 리얼 서버에 대한 ASP가 기록된 hash table을 가지고 있어, ASP에 의해 가중치가 결정되는 가중치-라운드로빈 알고리즘(weighted round-robin algorithm)에 의하여 부하의 배치를 결정한다.
즉 부하배치의 기본알고리즘은 FIS가 추론한 결과의 절대적 서비스 우선순위를 바탕으로 하며, 만약 절대적 우선순위가 같을 경우 라운드-로빈으로 부하배치 결정을 할 수 있다. 클러스터링 웹 서버가 N개의 리얼 서버로 이루어져 있을 경우 최악의 경우 N개의 우선순위가 같게 나올 수 있기 때문이다.
이렇게 함으로써, 리얼 서버가 과부하로 인해 다운되는 것을 방지 할 수 있다. 또한 일정 시간 리얼 서버의 리포터로부터 보고가 없을 경우 치명적인 오류이거나 시스템이 다운되어 복구할 수 없는 상태라고 정의한다.
[부하 스케줄러(Load Scheduler)]
로드 밸런서 부하배치 모듈의 하나인 부하 스케줄러는 서버 상태 처리자(Server Sratus Handeler)에 의해서 관리되는 리얼 서버의 해시 테이블을 사용하여 서비스를 처리할 수 있는 가장 적절한 ASP를 가지는 리얼 서버를 찾는다. 그리고 스케줄러는 클라이언트의 요청을 찾아진 리얼 서버에게 실제로 할당하는 기능을 수행한다.
[모델링을 위한 실험적 시스템구성]
본 발명에서는 가상의 클라이언트-서버 실험환경을 구성하여 웹 서비스를 실행하는데 있어서의 사용되는 리얼 서버의 상태변수들을 모니터링 하기 위한 실험 환경을 구성 하였다.
본 발명에서는 사용한 시스템 모델링 구성은 도 4와 같다.
리얼 서버-클라이언트 환경은 먼저 각각 1대의 리얼 서버와 컨트롤러, 5대의 클라이언트로 구성된 시스템을 구성하였다.
클라이언트의 각 프로세스는 서버에 대한 요청을 만들고 개발된 자원 수집기는 리얼 서버에 부하가 인가되는 동안 서버의 성능전체에 대해서 계산한다. 리얼 서버를 1Gbps로 연결하여 리얼 서버가 네트워크 대역폭의 제한에 의한 지연이나 대역폭의 한계로부터 어느 정도 독립적으로 동작할 수 있도록 하여 대역폭의 제한을 최대한 보장하였다.
따라서 부하에 따른 리얼 서버의 시스템상태에 대한 정보를 정확하게 수집할 수 있다. 리눅스 클러스터링 웹 서버의 리얼 서버는 아파치 버전1.3으로 구축 하였다. 실제 웹 서비스 환경과 동일한 클라이언트의 서비스 요청을 만들기 위해 산업용 표준 웹-벤치마크인 Ziff-Davis' Web-Bench 4.0.1버젼을 사용했다.
[리얼 서버 시스템 자원에 대한 고찰 및 모니터링 결과]
클라이언트의 요청을 처리하기 위해선 서버의 시스템자원이 사용되며, 시스템의 네트워크 처리량이나 지연시간을 반영하는 결과들이 결국 서버의 성능 및 부하 정도를 나타낸다. 이러한 관점에서 리얼 서버의 가용 상태를 가장 잘 표현하는 시스템자원을 모니터링 하였다.
본 발명의 발명자는 서비스를 제공할 때 사용되는 리얼 서버의 시스템자원 중에서 네트워크 처리량, CPU 성능, 메모리 사용량, 평균부하, Swap, Disk I/O 등 많은 부분을 모니터링 하였고, 그 중에서 시스템 상태를 가장 잘 반영하는 상태 변수인 CPU 사용율(CPU utilization), 사용된 메모리 총량(Amount of used memory), 부하평균(Load average)을 시스템 상태를 반영할 퍼지 추론 시스템 입력 값으로 선택 했다. 또한 우리는 이러한 상태변수와 성능곡선의 상관관계의 신뢰성을 위하여 다양한 부하에 적용하여 시스템의 상태를 가장 효과적으로 반영한다고 판단되는 파라미터들만 최종적으로 선정한 것이다.
[리얼 서버의 ANFIS 모델링]
본 발명에서 제시한 효과적인 부하배치를 위해서 로드 밸런서는 리얼 서버의 정확한 상태를 바탕으로 부하배치를 하는 것이 매우 중요하다. 또한 리얼 서버는 자신의 정확한 시스템 상태들을 리포터를 통하여 보고 할 수 있어야만 한다. 네트워크 환경은 많은 불확실성을 가진 변수들이 존재하며 변수들 사이에 비선형적인 관계가 많은 고속의 컴퓨터 네트워크 시스템을 다루기 위해서 수학적 모델링은 많은 제한이 따른다. 결국 이러한 제한이 컴퓨터 네트워크 시스템의 불확실성을 반영하기 어렵게 만든다.
따라서 본 발명에서는 이러한 문제를 극복하고 로드 밸런서가 효과적인 부하배치를 할 수 있도록 하기위해 리얼 서버의 시스템 자원을 오프라인 ANFIS 모델링을 통하여 서버의 상태를 가장 정확하게 추론하는 퍼지 추론 시스템(FIS)을 구하여 사용하였다. 본 발명에서는 ANFIS 모델링에 적합한 식 (1)과 같은 Sugeno 형태의 IF-THEN 규칙을 사용하고 퍼지 소속 함수는 종형 함수를 사용한다.
Figure pat00001
여기서, 위 함수는 (CR is RL) and (MR is RM) and (LAV is RH)인 경우이고, CR, RL, MR, RM, LAV 및 RH는 다음과 같이 정의된다.
CR : CPU Consumption Range,
MR : Memory Consumption Range,
LAV : Load Average.
RL : Resource Low,
RM : Resource Medium,
RH : Resource High
[ANFIS 학습 및 시험 데이터]
ANFIS 모델링을 수행하는데 있어 출력에 대한 에러를 줄이기 위해서 학습이 필요하다. 이러한 학습은 대체로 횟수가 증가할수록 에러는 줄어든다. 또한 학습을 완료한 후 얻어진 최적의 FIS를 시험하기 위해서 시험 데이터가 필요하다.
[시뮬레이션 결과 및 고찰]
본 장에서는 제안한 클러스터링 웹 서버 환경에서 효과적인 부하배치 구조를 위해 제안한 부하배치 알고리즘과 ANFIS를 통해 모델링을 수행한 결과에 대해서 논한다. 본 발명에서는 FIS 구조체는 소속 함수를 각각의 입력에 대해서 3개를 사용하였기 때문에 27개의 퍼지 규칙과 총 108개의 학습될 후건부 파라미터 값을 가지게 된다. 모델링에 있어서 보다 정확한 추론을 하기위한 출력오차를 줄이기 위해서 초기 소속 함수에 대한 학습이 필요하다. 일반적으로
Figure pat00002
)는 수학식 2와 같이 최대치 1 과 최소치 0을 가지는 종형이 된다. 여기서
Figure pat00003
를 전건부 파라미터(premise parameter)라고하며 이 값의 변화에 따라 종형 함수의 모양이 결정된다.
Figure pat00004
아래의 표 1은 학습 후 전건부 파라미터 변화(27개의 선형 파라미터)를 표시하고, 표 2는 학습 후 후건부 파라미터 변화(108개의 비선형 파라미터)를 표시한다.
학습 전 학습 후
Figure pat00005
Figure pat00006
Figure pat00007
Figure pat00008
Figure pat00009
Figure pat00010
전건부 파리미터
Figure pat00011
25 2 0 25.0006 2.0007 0.0006
Figure pat00012
25 2 50 25.0007 1.9925 50.0001
Figure pat00013
25 2 100 25.0001 1.9996 100.0001
Figure pat00014
4.436 2 20.2464 4.4250 2 20.2524
Figure pat00015
4.436 2 21.1336 4.4250 2 21.1312
Figure pat00016
4.436 2 22.0208 4.4300 2 22.2021
Figure pat00017
6.29 2 0 6.2897 1.9997 -0.0002
Figure pat00018
6.29 2 12.58 6.2708 2.0434 12.5863
Figure pat00019
6.29 2 25.16 6.3403 1.7705 25.1467
학습 전 학습 후
Figure pat00020
Figure pat00021
Figure pat00022
Figure pat00023
Figure pat00024
Figure pat00025
Figure pat00026
Figure pat00027
후건부 파리미터
Figure pat00028
0 0 0 0 2.444 -60.79 -2.374 1.411
Figure pat00029
0 0 0 0 4.801 -12.34 9.314 1.951
Figure pat00030
0 0 0 0 -8.549 -11.53 1.172 -3.045
Figure pat00031
0 0 0 0 -3.425 71.75 1.478 -1.536
Figure pat00032
0 0 0 0 3.003 -4.078 -1.683 9.775
Figure pat00033
0 0 0 0 6.289 -34.96 -8.936 2.357
Figure pat00034
0 0 0 0 -1.298 12.48 -6.436 -2.715
Figure pat00035
0 0 0 0 2.809 -3.551 -1.556 2.332
Figure pat00036
0 0 0 0 -2.047 -24.53 3.105 2.124
Figure pat00037
0 0 0 0 3.871 25.89 -1.233 -5.385
Figure pat00038
0 0 0 0 2.349 64.4 9.649 -1.419
Figure pat00039
0 0 0 0 -5.377 16.05 -5.659 7.276
Figure pat00040
0 0 0 0 11.18 -69.93 -2.101 1.668
Figure pat00041
0 0 0 0 1.035 83.68 3.631 -1.866
Figure pat00042
0 0 0 0 2.351 -60.76 -1.803 1.213
Figure pat00043
0 0 0 0 -4.588 43.43 7.707 -9.321
Figure pat00044
0 0 0 0 -7.433 53.14 1.338 -1.175
Figure pat00045
0 0 0 0 -1.29 -25.84 3.953 5.862
Figure pat00046
0 0 0 0 3.281 84.57 -7.47 -2.027
Figure pat00047
0 0 0 0 4.163 -415.1 -1.117 5.275
Figure pat00048
0 0 0 0 -8.777 54.05 -1.132 1.562
Figure pat00049
0 0 0 0 -9.446 -28.55 1.165 8.888
Figure pat00050
0 0 0 0 4.593 48.58 8.557 -1.348
Figure pat00051
0 0 0 0 1.837 -117.5 4.759 -3.691
Figure pat00052
0 0 0 0 -1.298 -17.32 -1.829 7.925
Figure pat00053
0 0 0 0 3.087 -53.99 -4.423 1.413
Figure pat00054
0 0 0 0 -8.699 5.717 -2.685 2.67
ANFIS 학습을 통하여 전건부 파라미터
Figure pat00055
의 최적값이 결정된다. 따라서 종형함수의 모양도 달라진다. 표 1은 학습 전후의 전건부 파라미터의 변화를 보여주고 있다. 또한 표 2는 수학식 1의 후건부 파라미터의 학습 전후에 대한 변화를 보여준다. 표에서 후건부 파라미터 값이 초기 0에서 시작되어 학습을 통하여 파라미터 값이 여러 가지 값으로 변한 것을 보여주고 있다.
도 5는 실험적 환경에서 모니터링으로 얻어진 학습데이터를 사용하여 학습을 한 후 ANFIS에 의해 추론한 추론값(*)과 실험적 환경에서 모니터링을 통하여 얻어진 네트워크 처리량인 출력값(o)과의 관계를 보여주고 있다.
그리고, 도 6은 추론값의 정확성을 나타내기 위한 출력값(o)과 추론값(*)의 차이인 오차를 보여주는 오차그래프이다. 여기서 실제 출력 평균값과 ANFIS 출력 평균값의 오차가 0에 근접하고 있어 원래 목표 곡선인 실제 출력을 대체로 잘 추종하고 있음을 알 수 있다.
이상 본 발명의 구성에 대해서 상세히 살펴보았으나, 이는 예시에 불과한 것으로서 본 발명의 기술적 사상과 보호 범위는 이하의 특허청구범위의 기재에 의하여 정하여질 것임은 당연하다.

Claims (5)

  1. 리눅스 기반 가상 서버의 로드 밸런싱 방법에 있어서,
    리얼 서버가 클라이언트의 요청에 대한 서비스 시 사용되는 리얼 서버의 시스템자원에 대한 정보를 모니터링 하기 위한 시스템 자원 수집 단계와,
    상기 자원 수집기에서 수집된 데이터를 입력으로 하여 원하는 리얼 서버의 시스템자원 상태를 추론하는 퍼지추론 단계와,
    상기 리얼 서버가 보고한 ASP(절대적 서비스 우선순위)를 바탕으로 클라이언트의 요청을 배치하는 로드 밸런싱 단계와,
    상기 리얼 서버의 커널단에 존재하며, 상기 퍼지추론 시스템의 출력 결과인 리얼 서버의 ASP에 해당하는 수치적 값(numerical value)을 소켓을 통하여 로드 밸런서의 하기 서버 상태 핸들러에게 보고 하는 리포팅 단계와,
    상기 리얼 서버의 리포터에 의해서 보고된 각각의 ASP를 해시 테이블(hash table)을 사용하여 가상 서버를 관리하는 서버 상태 핸들링 단계
    를 포함하는 로드 밸런싱 방법.
  2. 제1항에 있어서, 상기 시스템 자원 수집 단계는,
    리얼 서버의 성능에 거의 영향을 미치지 않도록 부하 정보를 /proc 파일 시스템에서 수집하는 것인 로드 밸런싱 방법.
  3. 제1항에 있어서, 상기 퍼지 추론 단계는,
    ANFIS 모델링을 수행하여 얻어진 결과를 제공하는 것인 로드 밸런싱 방법.
  4. 제3항에 있어서, 상기 퍼지 추론 방법은,
    FIS 구조체는 소속 함수를 각각의 입력에 대해서 3개의 소속함수를 사용하는 FIS 구조체를 구성하는 단계와,
    초기 소속 함수에 대한 학습을 수행하는 오차 감소 단계
    를 포함하는 것인 로드 밸런싱 방법.
  5. 제4항에 있어서, 상기 퍼지 추론 단계는
    27개의 퍼지 규칙과 총 108개의 학습될 후건부 파라미터 값을 생성하는 단계를 포함하는 것인 로드 밸런싱 방법.
KR1020140138825A 2014-10-15 2014-10-15 리눅스 가상 서버의 로드 밸런싱 방법 KR20160044623A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140138825A KR20160044623A (ko) 2014-10-15 2014-10-15 리눅스 가상 서버의 로드 밸런싱 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140138825A KR20160044623A (ko) 2014-10-15 2014-10-15 리눅스 가상 서버의 로드 밸런싱 방법

Publications (1)

Publication Number Publication Date
KR20160044623A true KR20160044623A (ko) 2016-04-26

Family

ID=55919011

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140138825A KR20160044623A (ko) 2014-10-15 2014-10-15 리눅스 가상 서버의 로드 밸런싱 방법

Country Status (1)

Country Link
KR (1) KR20160044623A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595247A (zh) * 2018-03-29 2018-09-28 阿里巴巴集团控股有限公司 一种检测方法、装置及设备
WO2019132299A1 (ko) * 2017-12-26 2019-07-04 경희대학교산학협력단 클라우드 시스템에서의 우선 순위 기반 자원 스케일링 시스템, 장치 및 방법
KR20210105036A (ko) * 2020-02-18 2021-08-26 세종대학교산학협력단 클라우드 플랫폼 환경에서의 초-저지연 리소스 메트릭 수집 방법 및 시스템

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019132299A1 (ko) * 2017-12-26 2019-07-04 경희대학교산학협력단 클라우드 시스템에서의 우선 순위 기반 자원 스케일링 시스템, 장치 및 방법
KR101990411B1 (ko) * 2017-12-26 2019-10-01 경희대학교 산학협력단 클라우드 시스템에서의 우선 순위 기반 자원 스케일링 시스템, 장치 및 방법
CN108595247A (zh) * 2018-03-29 2018-09-28 阿里巴巴集团控股有限公司 一种检测方法、装置及设备
CN108595247B (zh) * 2018-03-29 2021-10-29 创新先进技术有限公司 一种检测方法、装置及设备
KR20210105036A (ko) * 2020-02-18 2021-08-26 세종대학교산학협력단 클라우드 플랫폼 환경에서의 초-저지연 리소스 메트릭 수집 방법 및 시스템

Similar Documents

Publication Publication Date Title
Ismaeel et al. Proactive dynamic virtual-machine consolidation for energy conservation in cloud data centres
Coutinho et al. Elasticity in cloud computing: a survey
Rezaeipanah et al. Providing a new approach to increase fault tolerance in cloud computing using fuzzy logic
Saxena et al. A fault tolerant elastic resource management framework toward high availability of cloud services
Hao et al. An enhanced load balancing mechanism based on deadline control on GridSim
CN111930511A (zh) 一种基于机器学习的标识解析节点负载均衡装置
Ranjan Modeling and simulation in performance optimization of big data processing frameworks
Javadpour et al. Improving load balancing for data-duplication in big data cloud computing networks
Tuli et al. Start: Straggler prediction and mitigation for cloud computing environments using encoder lstm networks
Banerjee et al. Efficient resource utilization using multi-step-ahead workload prediction technique in cloud
Pramono et al. Round-robin algorithm in HAProxy and Nginx load balancing performance evaluation: a review
Monshizadeh Naeen et al. Adaptive Markov‐based approach for dynamic virtual machine consolidation in cloud data centers with quality‐of‐service constraints
Ahmadi et al. A flexible approach for virtual machine selection in cloud data centers with AHP
CN113158435B (zh) 基于集成学习的复杂系统仿真运行时间预测方法与设备
KR20160044623A (ko) 리눅스 가상 서버의 로드 밸런싱 방법
Eldesokey et al. Hybrid swarm optimization algorithm based on task scheduling in a cloud environment
Oikonomou et al. Energy-aware management of virtual machines in cloud data centers
Vigliotti et al. A green network-aware VMs placement mechanism
Marinho et al. LABAREDA: a predictive and elastic load balancing service for cloud-replicated databases
Melhem et al. A Markov-based prediction model for host load detection in live VM migration
Tuli et al. Optimizing the performance of fog computing environments using ai and co-simulation
Ismaeel et al. Real-time energy-conserving vm-provisioning framework for cloud-data centers
Mirtaheri et al. Adaptive load balancing dashboard in dynamic distributed systems
CN115913967A (zh) 一种云环境下基于资源需求预测的微服务弹性伸缩方法
Prado et al. On providing quality of service in grid computing through multi-objective swarm-based knowledge acquisition in fuzzy schedulers

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid