서지주요정보
Dynamic time slice management based on cpupool in virtualized systems = 가상화된 시스템에서 성능 향상을 위한 cpupool 기반의 동적 타임 슬라이스 관리 기법
서명 / 저자 Dynamic time slice management based on cpupool in virtualized systems = 가상화된 시스템에서 성능 향상을 위한 cpupool 기반의 동적 타임 슬라이스 관리 기법 / Taekyung Heo.
발행사항 [대전 : 한국과학기술원, 2016].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8029238

소장위치/청구기호

학술문화관(문화관) 보존서고

MCS 16037

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

In virtualized systems, virtual time that is experienced by virtual machines (VMs) is physically discontinuous. Even if a VM assumes that it uses physical CPUs exclusively, physical CPUs are shared by other VMs, which results in the virtual time being physically discontinuous. Due to this virtual time discontinuity, lock intensive VMs and I/O intensive VMs are slowed down severely. Although many studies have been conducted to solve these problems, most of them try to solve each phenomenon, not the root cause of the problem, the virtual time discontinuity problem. Recently, Ahn et al. generalized these problems into the virtual time discontinuity problem and suggested an architectural solution. They proposed to shorten the time slice to 1ms to remove the virtual time discontinuity. Additionally, to relieve the negative effects on caches caused by frequent context switches, they proposed to use a context prefetcher and to adopt a context aware cache insertion policy. Although they have solved the virtual time discontinuity problem successfully, they suggested architectural solutions that are not available in current processors. In this paper, we try to solve the virtual time discontinuity problem without additional hardware modification. Using cpupools, which are available in Xen, we try to solve the virtual time discontinuity problem by providing a short time slice cpupool to the VMs that suffer from the virtual time discontinuity problem, while providing a long time slice cpupool to the VMs that benefit more from caches. We decide the characteristic of VMs on-the-fly using decision trees that are constructed from experiments. We constructed the decision trees using many different factors that are closely related to the time slice preference of VMs. We used the pause-loop exiting (PLE) count, the inter-processor interrupt (IPI) count, and the number of packets handled per second. Cpupool is a nice solution for managing time slices in the CPU level. However, using cpupools can cause underutilization of CPUs. Underutilized CPUs cannot be used by the VMs that are located in different cpupools, and this can result in low CPU utilization. To solve this problem, we propose a pseudo-work-conserving mechanism between cpupools. Additionally, we identify and mitigate the cache interference problem that can be caused by solving the virtual time discontinuity problem.

가상화 기술의 발전 덕분에 많은 시스템이 가상화되고 있다. 가상화 기술은 사용자에게 비용 절감과 자원 관리의 유동성을 가져다주지만, 물리적인 CPU를 여러 개의 가상 머신이 공유한다는 특성으로 인해 여러 가지 문제가 발생한다. 락 사용이 잦은 병렬 프로그램에서는 무의미한 락 대기 현상이 발생하고, 입출력 위주의 프로그램에서는 입출력이 제때 발생하지 못하는 문제가 발생한다. 이러한 문제들을 해결하기 위한 연구는 예전부터 있었으나, 최근 안정섭 박사의 연구에서 가상 시간 불연속의 문제로 일반화되었다. 안정섭 박사는 가상 시간 불연속 문제를 해결하고자 전체 타임 슬라이스를 기존의 30ms에서 1ms로 줄이기를 제안하는 동시에, 문맥 보존 저하 문제를 방지하고자 아키텍쳐 측면의 해결책을 제시했다. 이같은 해결 방식으로 가상 시간 불연속 문제를 근본적으로 해결할 수 있으나, 현재 프로세서가 제공하지 않는 문맥 프리페쳐를 사용한다는 점과 캐시 삽입 정책의 수정을 요구한다는 점에서 현재의 시스템에 바로 적용하는 것에는 한계가 있다. 이러한 한계를 극복하고자, 본 연구에서는 cpupool 기반의 동적 타임 슬라이스 관리 기법을 제안한다. 가상 시간 불연속 문제를 겪는 가상 머신에는 1ms의 타임 슬라이스를 갖는 cpupool을 제공하고, 문맥 전환으로 인한 손해가 더 큰 가상 머신에는 30ms의 타임 슬라이스를 갖는 cpupool을 제공해, 각 가상 머신이 더 나은 성능을 낼 수 있도록 지원한다. 가상 머신이 실행되는 중에 프로파일링을 통해 짧은 타임 슬라이스를 선호하는지, 긴 타임 슬라이스를 선호하는지 동적으로 결정한다. 선호 타임 슬라이스의 결정을 위해 미리 학습된 결정 트리를 사용하며, 결정 트리의 인자값으로는 pause-loop exiting (PLE) 횟수, IRQ 횟수, IPI 횟수, 초당 패킷 처리량을 사용한다. Cpupool을 사용한 타임 슬라이스 관리 기법으로 가상 시간 불연속 문제는 해결 가능하지만, 추가적으로 두 가지 문제가 발생한다. 첫 번째로 cpupool이 보유한 CPU를 충분히 활용하지 못하는 문제가 발생할 수 있다. Cpupool은 CPU의 파티셔닝을 동반한다. 시스템 전체에 단 한 개의 cpupool이 있을 때에는 각 가상 머신이 부하에 따라 동적으로 CPU를 할당받을 수 있지만, cpupool로 CPU가 나뉜 상황에서는 다른 쪽 cpupool에 유휴 CPU가 있어도 가상 머신이 이를 사용할 수 없다. 이러한 문제를 해결하고자 이 논문에서는 pseudo-work-conserving 기법을 제안한다. 두 번째로는 cpupool간 캐시 간섭 문제가 발생할 수 있다. 가상 시간 불연속 문제가 있을 때에는 짧은 타임 슬라이스를 선호하는 가상 머신이 제 성능을 내지 못해, 큰 작업 집합을 갖고 있어도 캐시에 충분한 부하를 주지 못한다. 하지만 가상 시간 불연속 문제가 해결되면 캐시에 충분한 부하를 주게 되어, 숨겨져있던 캐시 간섭 문제를 일으킬 수 있다. 이 문제를 해결하고자 이 논문에서는 캐시 파티셔닝을 적용한다.

서지기타정보

서지기타정보
청구기호 {MCS 16037
형태사항 v, 32 p. : 삽화 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 허태경
지도교수의 영문표기 : Jaehyuk Huh
지도교수의 한글표기 : 허재혁
학위논문 학위논문(석사) - 한국과학기술원 : 전산학부,
서지주기 References : p. 27-28
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서