Xen 가상화 환경에서 관리 도메인의 오버헤드를 고려한 CPU 자원 할당 방법
A CPU Resource Allocation Method considering the Control Domain Overhead in Xen Virtualization Environment
- 주제(키워드) Xen , 가상화 , Virtualization , CPU 자원
- 발행기관 서강대학교 대학원
- 지도교수 박성용
- 발행년도 2009
- 학위수여년월 2009. 2
- 학위명 석사
- 실제URI http://www.dcollection.net/handler/sogang/000000044925
- 본문언어 한국어
초록/요약
가상화 기술을 채택하는 PC가 증가하면서 향후에 목표 응답 시간과 같은 사용자 정의 요구 사항을 만족해야 하는 자동화 된 관리 프레임워크가 반드시 필요하게 될 것이다. 현재의 Xen 가상화 환경에서 동작하는 관리 프레임워크는 이주와 Credit 스케줄러의 Weight를 조절한 CPU 자원 할당을 고려한다. 기존 CPU 자원 할당의 기준인 응답 시간의 예측이 CPU 위주의 워크로드에 적합한 형태로 구성되어 있기 때문에 네트워크 위주의 워크로드에 대해서는 정확한 응답 시간을 산출하기 어렵다. 이것은 Xen 가상화 환경에서 관리 도메인이 게스트 도메인의 I/O를 처리하는 오버헤드를 갖는 모델의 특징 때문이다. 본 논문은 물리 기계 위에서 동작하는 가상 기계의 CPU 자원 할당뿐 만 아니라, 관리 도메인의 CPU 자원 사용률이 실제로 송수신한 네트워크 바이트 수 보다는 송수신한 패킷의 개수에 더욱 영향을 받는 다는 점을 고려한 관리 도메인의 CPU 자원 할당 방법을 제안하여 사용자의 목표 응답 시간을 최대한 만족시켜준다. 또한, 게스트 도메인과 관리 도메인이 요청하는 CPU 자원 할당량을 바로 시스템에 적용하지 않고 조율 단계를 거쳐 Credit 스케줄러의 Cap에 적용함으로써, 전체적으로 고르고 안정적인 CPU 자원 할당을 이룬다. 만일 할당 후에도 요청 응답 시간을 만족시켜줄 수 없으면 이주 정책 관리자를 동작시킨다. 실험을 통해서 제시된 CPU 자원 할당 및 조율 방법이 Xen Credit 스케줄러의 Weight 만을 조절하는 것보다 효과적이라는 점과 관리 도메인의 CPU 자원 할당이 간섭 받지 않을 때 클라이언트에서의 평균 응답 시간이 낮아짐을 보여 타당성을 확인한다. 그리고 기존의 Sandpiper의 CPU 자원 할당 방법과 비교하여 평균 응답 시간 및 표준 편차의 측면에서 제안하는 방법이 안정적임을 보인다.
more초록/요약
Since virtualization technologies are expected to increase their share in the enterprise and PC markets, there should be an automated management framework that is capable of meeting SLA(service level agreement) such as target response time, drop rate. In Xen virtualization environment, automated frameworks exploit the migration of virtual machines, but they don't generally consider the overhead of control domain, which cause an overloaded physical machine. In this paper, we propose a CPU resource allocation heuristic for both control domain and guest domains, which considers the fact that the CPU resource utilization of control domain is mainly affected by the total number of the packet rather than the total quantity of the transferred byte. Our approach includes an arbitration step between the request demands and provisions of domains that balances the allocation. When a physical machine is too overloaded to be handled by the balanced allocation, the migration manager is triggered to migrate virtual machines to other physical machine. By experiments, we show that the CPU resource allocation is more effective than the weight allocation under Xen credit scheduler, and the CPU resource allocation of control domain is essential to achieve target response time. Furthermore, our heuristic outperforms Sandpiper in terms of the average and the standard deviation of response time.
more목차
제 1 장 서론 = 1
1.1 연구의 배경 및 필요성 = 1
1.2 연구 방법 = 4
1.3 논문의 구성 = 5
제 2 장 관련 연구 = 6
2.1 공유 데이터센터 환경에서 온라인 측정 방법을 이용한 동적 자원 할당 = 6
2.2 가상화 환경에서 이주를 이용한 과열 지점 해소 방법 = 8
2.3 기존 연구의 문제점 = 11
제 3 장 응답 시간 예측과 CPU 자원 할당 = 13
3.1 응답 시간의 예측 = 13
3.2 도메인-U의 CPU 자원 할당 = 19
3.3 도메인-0의 CPU 자원 할당 = 19
3.4 할당량의 조율 = 21
제 4 장 성능 평가 = 24
4.1 실험 환경 = 24
4.2 설정 값의 조사 = 25
4.2.1 도메인-0 및 도메인-U 의 최소 할당 값 = 25
4.2.2 네트워크 자원 위주 요청에 따른 도메인-0의 CPU 자원 사용량 = 27
4.2.3 CPU 자원 위주 요청에 따른 도메인-U의 CPU 자원 사용량 = 28
4.3 네트워크 및 CPU 위주의 요청 정의 = 30
4.3.1 네트워크 위주의 요청 정의 = 30
4.3.2 CPU 위주의 요청 정의 = 31
4.4 Credit 스케줄러의 Weight 및 Cap 할당의 비교 = 31
4.5 도메인-0의 CPU 자원 할당의 효과 = 34
4.6 할당 기법들의 응답 시간 비교 = 35
제 5 장 결론 및 향후 과제 = 37
참고문헌 = 39
그림목차
[그림 1] 가상화 기술을 이용한 가상 기계 통합(Consolidation) = 1
[그림 2] Xen 하이퍼바이저 가상화 환경의 구조 = 2
[그림 3] 동적 자원 할당 구조 = 7
[그림 4] Sandpiper의 구조 = 9
[그림 5] s 에 대한 히스토그램과 누적-Percentile = 15
[그림 6] 할당량의 조율 예시 - 전 = 23
[그림 7] 할당량의 조율 예시 - 후 = 23
[그림 8] 실험 환경의 구성 = 24
[그림 9] 유휴 상태에서의 도메인-0 및 도메인-U의 CPU 자원 사용률 = 26
[그림 10] 요청 파일의 크기 변화에 따른 도메인들의 CPU 자원 활용률 = 27
[그림 11] 요청 파일의 크기 변화에 따른 Net Intensive 지수 = 27
[그림 12] CPU 자원 위주 요청에 따른 도메인들의 CPU 자원 사용률 = 29
[그림 13] CPU 자원 위주 요청에 따른 CI 및 평균 서비스 시간 = 29
[그림 14] 네트워크 위주의 요청에서 시간에 따른 요청 파일 크기 = 30
[그림 15] CPU 위주의 요청에서 시간에 따른 요청의 CPU 부과율 = 31
[그림 16] Cap으로 CPU 자원을 할당했을 경우의 CPU 자원 사용률 = 32
[그림 17] Weight로 CPU 자원을 할당했을 경우의 CPU 자원 사용률 = 33
[그림 18] 도메인-0의 CPU 자원 할당여부에 따른 평균 응답 시간 = 34
[그림 19] 세 가지 CPU 자원 할당 방법의 비교 = 36
표목차
[표 1] Sandpiper의 대기 행렬 모델에 사용되는 변수 = 10
[표 2] 응답 시간의 예측을 위해 수집되는 정보 = 13
[표 3] 응답 시간의 예측 과정에서 생성되는 정보 = 14