KR20170061048A - 하이퍼바이저 기반 가상화 시스템의 지연 시간을 측정하기 위한 장치 및 이를 포함하는 가상화 시스템 - Google Patents

하이퍼바이저 기반 가상화 시스템의 지연 시간을 측정하기 위한 장치 및 이를 포함하는 가상화 시스템 Download PDF

Info

Publication number
KR20170061048A
KR20170061048A KR1020160038512A KR20160038512A KR20170061048A KR 20170061048 A KR20170061048 A KR 20170061048A KR 1020160038512 A KR1020160038512 A KR 1020160038512A KR 20160038512 A KR20160038512 A KR 20160038512A KR 20170061048 A KR20170061048 A KR 20170061048A
Authority
KR
South Korea
Prior art keywords
virtual
time
hypervisor
time required
virtual machine
Prior art date
Application number
KR1020160038512A
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 한국전자통신연구원
Publication of KR20170061048A publication Critical patent/KR20170061048A/ko

Links

Images

Classifications

    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 하이퍼바이저 기반 가상화 시스템의 지연 시간을 측정하기 위한 장치 및 이를 포함하는 가상화 시스템에 관한 것이다.
본 발명에 따르면, 하드웨어, 상기 하드웨어 상에서 동작하는 하이퍼바이저 및 상기 하이퍼바이저로부터 가상의 하드웨어 플랫폼을 제공받는 가상 머신들을 포함하는 가상화 시스템에서 발생하는 지연 시간에 대한 정보를 획득하는 지연 시간 측정 모듈 및 측정된 지연 시간에 대한 정보를 저장하는 메모리를 포함하며, 상기 지연 시간 측정 모듈은 가상 머신 전환 소요 시간, 동기화 소요 시간, 인터럽트 소요 시간 및 가상 머신 간 통신 소요 시간 중 적어도 어느 하나를 상기 지연 시간에 대한 정보로서 획득하는 가상화 시스템에서의 지연 시간 관리 장치가 제공된다.

Description

하이퍼바이저 기반 가상화 시스템의 지연 시간을 측정하기 위한 장치 및 이를 포함하는 가상화 시스템{DEVICE FOR MEASURING DELAY TIME OF VIRTUAL SYSTEM BASED ON HYPERVISOR AND VIRTUAL SYSTEM INCLUDING THEREOF}
본 발명은 하이퍼바이저 기반 가상화 시스템의 지연 시간을 측정하기 위한 장치 및 이를 포함하는 가상화 시스템에 관한 것이다.
최근에 다양한 분야에서 임베디드 시스템이 사용되어, 임베디드 시스템은 보다 복잡하고 다양한 기능을 요구하는 동시에 신뢰성 및 안정성을 지원해야 하는 기술이 요구되고 있다. 가상화 기술은 이러한 고성능 및 고신뢰를 모두 만족해야 하는 임베디드 시스템에서 필요성이 높아지고 있다.
가상 머신 모니터(Virtual Machine Monitor)라고도 하는 하이퍼바이저(Hypervisor)는, 하나의 컴퓨터 시스템에서 여러 개의 운영 체제(OS)를 가동할 수 있게 하는 가상화 엔진이다.
하이퍼바이저 방식에는 물리 컴퓨터의 하드웨어 상에서 하이퍼바이저를 직접 동작시키는 네이티브(native) 또는 베어메탈(bare-metal, type-1)방식과, 호스트 운영체제 위에 하이퍼바이저를 설치하고 그 위에서 게스트 운영체제를 동작시키는 호스트(hosted, type-2)방식이 있다.
하이퍼바이저는 상술한 방식에 상관없이 각 게스트 운영체제에게 가상의 물리 환경을 제공하고 이를 에뮬레이션 하여 게스트에게 각 동작 결과를 전달하는 역할을 수행하여야 한다. 이 때, 하이퍼바이저는 가상 머신이 요청하는 해당 자원을 다른 가상 머신에게 발생할 수 있는 영향을 최소화 하여 제공해야 한다. 그러나 이러한 가상화 과정은 지연시간이 필수적으로 발생하고, 이러한 지연시간은 전체 시스템의 성능에 영향을 미친다.
본 발명은 가상 머신에서 발생하는 지연 시간을 분석하여, 성능이 개선된 가상화 시스템을 제공하는 것을 그 목적으로 한다.
본 발명은 하이퍼바이저로 인한 지연 시간을 측정하여 가상 머신의 특성이나 운영 정책에 따른 수행 시간을 예측할 수 있도록 하는 가상화 시스템을 제공하는 것을 다른 목적으로 한다.
본 발명은 측정된 지연 시간을 참조로 하여 하이퍼바이저의 성능을 평가하고, 소정의 도메인에 적합한 하이퍼바이저를 선택할 수 있도록 하는 것을 다른 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.
본 발명의 일 실시예에 따르면, 하드웨어, 상기 하드웨어 상에서 동작하는 하이퍼바이저 및 상기 하이퍼바이저로부터 가상의 하드웨어 플랫폼을 제공받는 가상 머신들을 포함하는 가상화 시스템에서 발생하는 지연 시간에 대한 정보를 획득하는 지연 시간 측정 모듈 및 측정된 지연 시간에 대한 정보를 저장하는 메모리를 포함하며, 상기 지연 시간 측정 모듈은 가상 머신 전환 소요 시간, 동기화 소요 시간, 인터럽트 소요 시간 및 가상 머신 간 통신 소요 시간 중 적어도 어느 하나를 상기 지연 시간에 대한 정보로서 획득하는 가상화 시스템에서의 지연 시간 관리 장치가 제공된다.
본 발명의 다른 실시예에 따르면, 하드웨어 상에서 동작하는 하이퍼바이저, 상기 하이퍼바이저로부터 가상의 하드웨어 플랫폼을 제공받는 가상 머신들 및 상기 하이퍼바이저로부터 획득한 정보를 사용자에게 제공하기 위한 프로파일 뷰어를 포함하고, 상기 하이퍼바이저는, 상기 가상 머신들을 위한 가상 운영체제들의 정보를 추적하여, 가상 머신 전환 소요 시간, 동기화 소요 시간, 인터럽트 소요 시간 및 가상 머신 간 통신 소요 시간 중 적어도 어느 하나를 상기 프로파일 뷰어에 제공할 상기 정보로서 획득하는 프로파일링 모듈을 포함하는 가상화 시스템이 제공된다.
본 발명에 의하면, 하이퍼바이저로 인한 지연 시간을 측정하여 가상 머신의 특성이나 운영 정책에 따른 수행 시간을 예측할 수 있으며, 따라서 실시간성이 강조되는 임베디드 환경에서 가상화 시스템을 용이하게 구현할 수 있다.
본 발명에 의하면, 측정된 지연 시간을 참조로 하여 하이퍼바이저의 성능을 평가할 수 있으며, 소정의 도메인에 적합한 하이퍼바이저를 선택할 수 있다.
도 1은 하이퍼바이저 기반 가상화 시스템의 구성을 예시적으로 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따라 하이퍼바이저 기반 가상화 시스템의 지연 시간을 측정하기 위한 장치의 개략적인 구성을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 하이퍼바이저 기반 가상화 시스템에서 발생하는 가상 머신 간 전환 시간을 예시적으로 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 하이퍼바이저 기반 가상화 시스템에서 발생하는 동기화 소요 시간을 예시적으로 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 하이퍼바이저 기반 가상화 시스템에서 발생하는 인터럽트 처리 소요 시간을 예시적으로 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 하이퍼바이저 기반 가상화 시스템에서 발생하는 가상 머신 간 통신 소요 시간을 예시적으로 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 지연 시간 측정 시스템이 결합된 하이퍼바이저 기반 가상화 시스템의 구성을 개략적으로 나타내는 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이러한 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 본 명세서에 기재되어 있는 특정 형상, 구조 및 특성은 본 발명의 정신과 범위를 벗어나지 않으면서 일 실시예로부터 다른 실시예로 변경되어 구현될 수 있다. 또한, 각각의 실시예 내의 개별 구성요소의 위치 또는 배치도 본 발명의 정신과 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 행하여지는 것이 아니며, 본 발명의 범위는 특허청구범위의 청구항들이 청구하는 범위 및 그와 균등한 모든 범위를 포괄하는 것으로 받아들여져야 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 구성요소를 나타낸다.
이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 여러 바람직한 실시예에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 하이퍼바이저 기반 가상화 시스템의 구성을 예시적으로 도시한 도면이다.
도 1을 참조하면, 하이퍼바이저(Hypervisor; 110)는 하드웨어(Hardware; 100) 상에서 동작하며 복수의 운영체제(Guest OS1, Guest OS2)에 가상 머신(Virtual Machine; 121, 123)을 제공할 수 있다. 하이퍼바이저(110)는 가상 머신의 스케줄링을 위한 스케줄러 모듈(Scheduler; 111), 메모리 가상화 및 관리를 위한 메모리 관리 모듈(Memory Management; 113), 인터럽트를 포함한 디바이스 가상화 및 관리를 위한 디바이스 가상화 모듈(Device Virtualization; 115), 및 가상 머신 간 통신을 위한 통신 모듈(Inter-VM Communication; 117)을 포함하여 구성될 수 있다.
하이퍼바이저(110)의 스케줄러 모듈(111)은 소정의 스케줄링 정책에 따라 물리 CPU(중앙처리장치)에 가상 머신(121, 123)의 가상 CPU를 할당하는 기능을 수행할 수 있다.
한편, 물리 CPU의 개수보다 전체 가상 CPU의 개수가 더 적을 때, 물리 CPU상에서 동작하는 가상 CPU 간의 문맥 전환이 필요하며, 이 때 지연시간이 발생할 수 있다.
다음으로, 두 개 이상의 게스트 운영체제가 동시에 동작할 때 하이퍼바이저(110)는 각각의 운영체제가 서로의 메모리 영역에 침범하지 않도록 관리하여야 하며, 메모리 관리 모듈(113)은 각각 게스트 운영체제에게 독립된 메모리를 할당하고 이를 관리하는 기능을 수행할 수 있다.
또한, 하이퍼바이저(110)는 하드웨어 플랫폼, 혹은 소프트웨어에서 발생하는 인터럽트를 해당 게스트 운영체제에 전달하여야 하며, 디바이스 가상화 모듈(115)은 물리 인터럽트 발생 시 이를 분석하여 해당 인터럽트가 필요한 게스트 운영체제에 가상의 인터럽트로 변환하여 전달하는 기능을 수행할 수 있다.
가상 시스템의 경우, 하나의 하드웨어에 두 개 이상의 운영체제가 동시에 접근하므로, 자원 공유를 위한 동기화 매커니즘 적용이 필수적이다.
마지막으로, 통신 모듈(117)은 각각의 게스트 운영체제가 데이터를 주고 받을 수 있도록 할 수 있다.
도 2는 본 발명의 일 실시예에 따라 하이퍼바이저 기반 가상화 시스템의 지연 시간을 측정하기 위한 장치의 개략적인 구성을 나타내는 도면이다.
도 2에 도시된 바와 같이, 본 발명의 실시예에 따른 지연 시간 측정 장치는 지연 시간 측정 모듈(210), 메모리(220), 통신 모듈(230) 및 제어 모듈(240)을 포함하여 구성될 수 있다. 본 발명의 일 실시예에 따르면, 지연 시간 측정 모듈(210), 메모리(220), 통신 모듈(230) 및 제어 모듈(240)은 그 중 적어도 일부가 하이퍼바이저의 구성들과 통신하는 프로그램 모듈일 수 있다. 이러한 프로그램 모듈은 운영 시스템, 응용 프로그램 모듈 또는 기타 프로그램 모듈의 형태로 지연 시간 측정 장치에 포함될 수 있고, 물리적으로는 여러 가지 공지의 기억 장치에 저장될 수 있다.  또한, 이러한 프로그램 모듈은 지연 시간 측정 장치와 통신 가능한 원격 기억 장치에 저장될 수도 있다.  한편, 이러한 프로그램 모듈은 본 발명에 따라 후술할 특정 업무를 수행하거나 특정 추상 데이터 유형을 실행하는 루틴, 서브루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포괄하지만, 이에 제한되지는 않는다.
먼저, 지연 시간 측정 모듈(210)은 하이퍼바이저 기반 가상화 시스템에서 발생하는 지연 시간을 측정하는 기능을 수행할 수 있으며, 지연 시간 측정 모듈에서 측정하는 지연 시간은 예를 들어, 가상 머신 간 전환 시간(world-switch latency), 동기화 소요 시간(synchronization latency), 인터럽트 처리 소요 시간(interrupt latency), 가상 머신 간 통신 소요 시간(inter-VM Communication latency)에 대한 지연 시간일 수 있다.
이하에서는 도 3 내지 도 6을 참조하여 하이퍼바이저 기반 가상화 시스템에서 발생하는 지연 시간에 대하여 구체적으로 살펴보도록 한다.
도 3은 본 발명의 일 실시예에 따른 하이퍼바이저 기반 가상화 시스템에서 발생하는 가상 머신 간 전환 시간을 예시적으로 설명하기 위한 도면이다.
도 3을 참조하면, 하나의 물리 CPU(PCPU)에서 서로 다른 게스트 운영체제를 위한 두 개의 가상 CPU(VCPU0, VCPU1)가 동작하는 경우, 물리 CPU(PCPU)에서 동작하는 서로 다른 가상 CPU(VCPU0, VCPU1) 간 전환이 발생한다.
즉, 지연 시간 측정 모듈(210)은 어느 하나의 가상 CPU(VCPU0)에서 나머지 가상 CPU(VCPU1)로 전환될 때 발생되는 시간(world-switch latency)을 측정할 수 있다.
보다 구체적으로, 지연 시간 측정 모듈(210)은 물리 CPU(PCPU)와 가상 CPU(VCPU0, VCPU1)들을 모니터링 함으로써 어느 하나의 가상 CPU(VCPU0)에서 나머지 가상 CPU(VCPU1)로 전환되는 과정의 시작 시간과 종료 시간을 획득할 수 있다. 또는, 지연 시간 측정 모듈(210)은 물리 CPU에 가상 CPU(VCPU0, VCPU1)를 할당하는 기능을 수행하는 하이퍼바이저의 스케줄러 모듈로부터 가상 머신 간 전환 시간에 대한 정보를 획득할 수도 있다.
도 4는 본 발명의 일 실시예에 따른 하이퍼바이저 기반 가상화 시스템에서 발생하는 동기화 소요 시간을 예시적으로 설명하기 위한 도면이다.
본 발명에 따른 동기화 소요 시간은 가상 머신 간 공유 자원 관리를 위한 스핀락(spin-lock) 혹은 세마포어(semaphore)를 요청하고 이를 획득하는 시간일 수 있다.
예를 들어, 도 4에 도시된 바와 같이, 두 개의 게스트 운영체제(Guest A, Guest B)는 공통 자원(Common resources)을 이용할 수 있다.
해당 공통 자원이 스핀락으로 제어되는 경우, 게스트 B가 먼저 자원을 점유(Resource Request & Acquisition)하여 일을 수행하고 있는 중에 게스트 A로부터 자원 점유가 요청되면, 게스트 A는 게스트 B가 해당 자원을 언락(unlock; Resource Release)할 때까지 대기하여야 한다.
이 때, 게스트 A가 대기하는 시간이 본 발명에 따른 동기화 소요 시간일 수 있으며, 지연 시간 측정 모듈(210)은 이러한 동기화 소요 시간을 측정할 수 있다.
보다 구체적으로, 지연 시간 측정 모듈(210)은 게스트 운영체제들을 모니터링하여 자원을 점유(Resource Request & Acquisition)하여 일을 수행하고 있는 게스트 운영체제에 대한 정보, 자원 점유를 요청하는 게스트 운영체제에 대한 정보, 점유했던 자원을 해제하는 게스트 운영체제에 대한 정보 등을 획득할 수 있으며, 획득한 정보로부터 동기화 소요 시간을 획득할 수 있다. 또는, 지연 시간 측정 모듈(210)은 하이퍼바이저의 스케줄러 모듈로부터 동기화 소요 시간에 대한 정보를 획득할 수도 있다.
도 5는 본 발명의 일 실시예에 따른 하이퍼바이저 기반 가상화 시스템에서 발생하는 인터럽트 처리 소요 시간을 예시적으로 설명하기 위한 도면이다.
본 발명에 따른 인터럽트 처리 소요 시간은 물리 인터럽트가 발생하여 가상 머신에 가상 인터럽트를 전달하기까지의 소요 시간일 수 있다.
보다 구체적으로, 도 5를 참조하면, 물리 CPU(PCPU)에서 발생한 물리 인터럽트(pirq)를 하이퍼바이저(특히, 도 1의 하이퍼바이저의 디바이스 가상화 모듈)에서 가상 인터럽트(virq)로 전환하여 각 게스트 운영체제의 가상 CPU(VCPU)로 전달하게 된다.
이 때, 지연 시간 측정 모듈(210)은 인터럽트 처리 과정의 시작과 끝 시각을 측정하여 인터럽트 처리 소요 시간을 획득할 수 있다.
보다 구체적으로, 지연 시간 측정 모듈(210)은 물리 CPU와 가상 CPU들을 모니터링하여 물리 인터럽트의 발생 시간, 하이퍼바이저에서 전환된 가상 인터럽트가 가상 CPU에 전달된 시간 등에 대한 정보를 획득하며, 이로부터 인터럽트 처리 소요 시간을 획득할 수 있다. 또는, 지연 시간 측정 모듈(210)은 하드웨어 플랫폼, 혹은 소프트웨어에서 발생하는 인터럽트를 해당 게스트 운영체제에 전달하는 하이퍼바이저의 디바이스 가상화 모듈로부터 인터럽트 처리 소요 시간을 대한 정보를 획득할 수도 있다.
도 6은 본 발명의 일 실시예에 따른 하이퍼바이저 기반 가상화 시스템에서 발생하는 가상 머신 간 통신 소요 시간을 예시적으로 설명하기 위한 도면이다.
본 발에 따른 가상 머신 간 통신 소요 시간은 어느 하나의 가상 머신에서 다른 가상 머신으로부터 데이터를 획득하는 데에 소요되는 시간일 수 있다.
보다 구체적으로, 도 6에 도시된 바와 같이, 어느 하나의 가상 머신에서 다른 가상 머신으로 데이터를 요청하고, 요청된 데이터가 전송되어 어느 하나의 가상 머신이 획득하는 동안 소요되는 시간(Inter-VM Communication Latency)일 수 있다.
보다 구체적으로, 지연 시간 측정 모듈(210)은 가상 머신들을 모니터링하여 데이터 요청 시간, 데이터 수신 시간 등에 대한 정보를 획득하며, 이로부터 가상 머신 간 통신 소요 시간을 획득할 수 있다. 또는, 지연 시간 측정 모듈(210)은 각각의 가상 머신들이 서로 데이터를 주고 받을 수 있도록 하는 하이퍼바이저의 통신 모듈로부터 가상 머신 간 통신 소요 시간에 대한 정보를 획득할 수도 있다.
본 발명에 따른 메모리(220)에는 지연 시간 측정 모듈(210)로부터 측정된 지연 시간, 즉 가상 머신 간 전환 시간(world-switch latency), 동기화 소요 시간(synchronization latency), 인터럽트 처리 소요 시간(interrupt latency), 가상 머신 간 통신 소요 시간(inter-VM Communication latency)에 대한 정보가 저장될 수 있다.
비록 도 2에서 메모리(220)가 지연 시간 획득 장치에 포함되어 구성되는 것으로 도시되어 있지만, 본 발명을 구현하는 당업자의 필요에 따라, 메모리(220)는 지연 시간 획득 장치와 별개로 구성될 수도 있다. 한편, 본 발명에서의 메모리(220)는, 컴퓨터 판독 가능한 기록 매체를 포함하는 개념으로서, 협의의 데이터베이스뿐만 아니라 파일 시스템에 기반을 둔 데이터 기록 등을 포함하는 광의의 데이터베이스일 수도 있으며, 단순한 로그의 집합이라도 이를 검색하여 데이터를 추출할 수 있다면 본 발명에서의 메모리(220)가 될 수 있다.
본 발명에 따른 통신 모듈(230)은 지연 시간 측정 모듈(210) 및 메모리(220)로부터의/로의 데이터 송수신이 가능하도록 하는 기능을 수행할 수 있다. 또한, 통신 모듈(230)은 본 발명에 따른 지연 시간 측정 장치가 하이퍼바이저의 다른 모듈들 또는 하이퍼바이저의 내/외부의 사용자 뷰어(후술할 프로파일링 뷰어에 해당될 수 있음)와 송수신 가능하도록 하는 기능을 수행할 수도 있다.
마지막으로, 본 발명의 일 실시예에 따른 제어부(240)는 지연 시간 측정 모듈(210), 메모리(220) 및 통신 모듈(230) 간의 데이터의 흐름을 제어하는 기능을 수행할 수 있다. 즉, 본 발명에 따른 제어부(240)는 지연 시간 측정 장치의 외부로부터의/로의 데이터 흐름 또는 지연 시간 측정 장치의 각 구성요소 간의 데이터 흐름을 제어함으로써, 지연 시간 측정 모듈(210), 메모리(220) 및 통신 모듈(230)에서 각각 고유 기능을 수행하도록 제어할 수 있다.
도 7은 본 발명의 일 실시예에 따른 지연 시간 측정 장치가 결합된 하이퍼바이저 기반 가상화 시스템의 구성을 개략적으로 나타내는 도면이다.
도 7에 도시된 바와 같이, 본 발명에 따른 하이퍼바이저 기반 가상화 시스템은 하드웨어(700), 하이퍼바이저(710), 게스트 운영체제(Guest OS 1, Guest OS 2; 721, 723) 및 하이퍼바이저에서 획득한 정보를 사용자에게 제공하기 위한 프로파일링 뷰어(Profiling Viewer; 730)를 포함하여 구성될 수 있다.
하이퍼바이저(710)는 하드웨어(700) 상에서 동작하며, 게스트 운영체제(Guest OS 1, Guest OS 2; 721, 723)로 가상의 하드웨어 플랫폼을 제공할 수 있다.
하이퍼바이저는 스케줄러 모듈(Scheduler; 711), 메모리 관리 모듈(Memory Management; 713), 디바이스 가상화 모듈(Device Virtualization; 715), 통신 모듈(Inter-VM Communication; 717) 및 프로파일링 모듈(Profiling Module; 719)을 포함하여 구성될 수 있다.
도 7에 도시된 스케줄러 모듈(711), 메모리 관리 모듈(713), 디바이스 가상화 모듈(715), 통신 모듈(717)의 기능은, 도 1에서 설명한 스케줄러 모듈(111), 메모리 관리 모듈(113), 디바이스 가상화 모듈(115), 통신 모듈(117)의 기능과 동일하므로, 스케줄러 모듈(711), 메모리 관리 모듈(713), 디바이스 가상화 모듈(715), 통신 모듈(717) 각각에 대한 구체적인 기능에 대하여는 생략하도록 한다.
다음으로, 본 발명에 따른 프로파일링 모듈(719)은 게스트 운영체제들의 정보를 추적하여 저장하는 기능을 수행할 수 있다. 보다 구체적으로, 도 2 내지 도 6을 참조로 하여 설명한 본 발명의 지연 시간 측정 장치가 하이퍼바이저 내에 게스트 운영체제를 위한 프로파일링 모듈로서 구비될 수 있다.
즉, 본 발명에 따른 프로파일링 모듈(719)은 하이퍼바이저 기반 가상화 시스템의 가상 머신 간 전환 시간(world-switch latency), 동기화 소요 시간(synchronization latency), 인터럽트 처리 소요 시간(interrupt latency), 가상 머신 간 통신 소요 시간(inter-VM Communication latency) 등을 획득하는 기능을 수행할 수 있다.
하이퍼바이저(710)의 각 구성들은 게스트 운영체제들의 설정 및 동작을 추적하여 게스트 운영체제들의 정보를 획득하는 바, 도 7에 도시된 바와 같이, 프로파일링 모듈(719)은 스케줄러 모듈(711), 디바이스 가상화 모듈(715), 통신 모듈(717) 각각으로부터 가상 머신 간 전환 시간(world-switch latency), 동기화 소요 시간(synchronization latency), 인터럽트 처리 소요 시간(interrupt latency), 가상 머신 간 통신 소요 시간(inter-VM Communication latency) 등을 획득할 수 있다.
또는, 프로파일링 모듈(719)에서 게스트 운영체제들의 설정 및 동작을 추적하여 가상 머신 간 전환 시간(world-switch latency), 동기화 소요 시간(synchronization latency), 인터럽트 처리 소요 시간(interrupt latency), 가상 머신 간 통신 소요 시간(inter-VM Communication latency) 등을 산출할 수 있다.
프로파일링 모듈(719)에서 획득한 가상 머신 간 전환 시간(world-switch latency), 동기화 소요 시간(synchronization latency), 인터럽트 처리 소요 시간(interrupt latency), 가상 머신 간 통신 소요 시간(inter-VM Communication latency)은 하이퍼바이저(710) 내의 소정의 메모리(미도시됨)에 저장될 수 있으며, 메모리는 프로파일링 모듈(719)의 내부 또는 외부에 구비될 수 있다.
본 발명에 따른 프로파일링 모듈(719)은 기설정된 시간을 주기로 하여 메모리에 저장된 가상 머신 간 전환 시간(world-switch latency), 동기화 소요 시간(synchronization latency), 인터럽트 처리 소요 시간(interrupt latency), 가상 머신 간 통신 소요 시간(inter-VM Communication latency)에 대한 정보를 프로파일링 뷰어(730)에 제공하는 기능을 더 수행할 수도 있다.
프로파일링 모듈(719)은 메모리의 공간이 부족하다고 판단되는 경우 (예를 들어, 메모리 저장 용량의 기설정된 비율 이상 정보가 저장된 경우) 혹은 주기적인 시간 주기로 메모리에 저장된 가상 머신 간 전환 시간(world-switch latency), 동기화 소요 시간(synchronization latency), 인터럽트 처리 소요 시간(interrupt latency), 가상 머신 간 통신 소요 시간(inter-VM Communication latency)에 대한 정보를 프로파일링 뷰어(730)에 제공하는 기능을 수행할 수도 있다. 이 경우, 프로파일링 뷰어(730)로 제공된 정보는 메모리에서 삭제되어 메모리에 저장 공간이 확보되도록 제어할 수 있다.
가상 머신 간 전환 시간(world-switch latency), 동기화 소요 시간(synchronization latency), 인터럽트 처리 소요 시간(interrupt latency), 가상 머신 간 통신 소요 시간(inter-VM Communication latency)에 대한 정보는 게스트 운영체제들에 대한 주요 성능을 평가하는 기준이 될 수 있는 바, 본 발명에 따른 하이퍼바이저 기반 가상화 시스템의 사용자는 프로파일링 뷰어(730)를 통해 제공되는 정보를 통해 하이퍼바이저 기반 가상화 시스템의 성능을 평가할 수 있다.
한편, 도 7에서는 본 발명에 따른 지연 시간 측정 장치로 동작하는 프로파일링 모듈(719)이 하이퍼바이저(710) 내부에 포함되는 것으로 도시하였으나 이에 제한되는 것은 아니며, 본 발명을 구현하는 당업자의 필요에 따라 하이퍼바이저(710)와 별개로 구성될 수 있다.
이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항과 한정된 실시예 및 도면에 의하여 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위하여 제공된 것일 뿐, 본 발명이 상기 실시예에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정과 변경을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
210: 지연 시간 측정 모듈
220: 메모리
230: 통신 모듈
240: 제어 모듈

Claims (13)

  1. 하드웨어, 상기 하드웨어 상에서 동작하는 하이퍼바이저 및 상기 하이퍼바이저로부터 가상의 하드웨어 플랫폼을 제공받는 가상 머신들을 포함하는 가상화 시스템에서 발생하는 지연 시간에 대한 정보를 획득하는 지연 시간 측정 모듈; 및
    측정된 지연 시간에 대한 정보를 저장하는 메모리를 포함하며,
    상기 지연 시간 측정 모듈은 가상 머신 전환 소요 시간, 동기화 소요 시간, 인터럽트 소요 시간 및 가상 머신 간 통신 소요 시간 중 적어도 어느 하나를 상기 지연 시간에 대한 정보로서 획득하는 가상화 시스템에서의 지연 시간 관리 장치.
  2. 제1항에 있어서,
    상기 가상 머신 전환 소요 시간은,
    상기 가상 머신들 중 어느 하나에서 다른 하나로 전환되는 데에 소요되는 시간인 가상화 시스템에서의 지연 시간 관리 장치.
  3. 제1항에 있어서,
    상기 가상 머신들 각각을 위한 가상 운영체제들이 상기 하이퍼바이저에서 동작하고 상기 가상 운영체제들이 공통 자원을 공유하는 경우, 상기 동기화 소요 시간은,
    어느 하나의 가상 운영체제가 상기 공통 자원에 대한 점유를 요청한 후 상기 공통 자원을 점유하기까지 소요되는 시간인 가상화 시스템에서의 지연 시간 관리 장치.
  4. 제1항에 있어서,
    상기 인터럽트 소요 시간은,
    물리 인터럽트가 발생된 시점부터 상기 물리 인터럽트가 가상 인터럽트화 되어 상기 가상 머신들 중 어느 하나로 전달되기 까지 소요되는 시간인 가상화 시스템에서의 지연 시간 관리 장치.
  5. 제1항에 있어서,
    상기 가상 머신 간 통신 소요 시간은, 어느 하나의 가상 머신이 다른 하나의 가상 머신에 데이터를 요청한 시점부터 상기 어느 하나의 가상 머신이 상기 데이터를 전달 받기까지 소요되는 시간인 가상화 시스템에서의 지연 시간 관리 장치.
  6. 하드웨어 상에서 동작하는 하이퍼바이저;
    상기 하이퍼바이저로부터 가상의 하드웨어 플랫폼을 제공받는 가상 머신들; 및
    상기 하이퍼바이저로부터 획득한 정보를 사용자에게 제공하기 위한 프로파일 뷰어를 포함하고,
    상기 하이퍼바이저는,
    상기 가상 머신들을 위한 가상 운영체제들의 정보를 추적하여, 가상 머신 전환 소요 시간, 동기화 소요 시간, 인터럽트 소요 시간 및 가상 머신 간 통신 소요 시간 중 적어도 어느 하나를 상기 프로파일 뷰어에 제공할 상기 정보로서 획득하는 프로파일링 모듈을 포함하는 가상화 시스템.
  7. 제6항에 있어서,
    상기 하이퍼바이저는 상기 프로파일링 모듈로부터 획득된 상기 가상 머신 전환 소요 시간, 상기 동기화 소요 시간, 상기 인터럽트 소요 시간 또는 상기 가상 머신 간 통신 소요 시간에 대한 정보를 저장하는 메모리를 더 포함하는 가상화 시스템.
  8. 제7항에 있어서,
    상기 프로파일링 모듈은, 기설정된 시간 마다 상기 메모리에 저장된 정보가 상기 프로파일링 뷰어에 제공되도록 하는 것을 특징으로 하는 가상화 시스템.
  9. 제7항에 있어서,
    상기 메모리 저장 용량의 기설정된 비율 이상 상기 정보가 저장된 경우, 상기 프로파일링 모듈은, 상기 메모리에 저장된 정보가 상기 프로파일링 뷰어에 제공되도록 하는 것을 특징으로 하는 가상화 시스템.
  10. 제6항에 있어서,
    상기 가상 머신 전환 소요 시간은,
    상기 가상 머신들 중 어느 하나에서 다른 하나로 전환되는 데에 소요되는 시간인 가상화 시스템.
  11. 제6항에 있어서,
    상기 가상 머신들 각각을 위한 가상 운영체제들이 상기 하이퍼바이저에서 동작하고 상기 가상 운영체제들이 공통 자원을 공유하는 경우, 상기 동기화 소요 시간은,
    어느 하나의 가상 운영체제가 상기 공통 자원에 대한 점유를 요청한 후 상기 공통 자원을 점유하기까지 소요되는 시간인 가상화 시스템.
  12. 제6항에 있어서,
    상기 인터럽트 소요 시간은,
    물리 인터럽트가 발생된 시점부터 상기 물리 인터럽트가 가상 인터럽트화 되어 상기 가상 머신들 중 어느 하나로 전달되기 까지 소요되는 시간인 가상화 시스템.
  13. 제6항에 있어서,
    상기 가상 머신 간 통신 소요 시간은, 어느 하나의 가상 머신이 다른 하나의 가상 머신에 데이터를 요청한 시점부터 상기 어느 하나의 가상 머신이 상기 데이터를 전달 받기까지 소요되는 시간인 가상화 시스템.
KR1020160038512A 2015-11-25 2016-03-30 하이퍼바이저 기반 가상화 시스템의 지연 시간을 측정하기 위한 장치 및 이를 포함하는 가상화 시스템 KR20170061048A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150165464 2015-11-25
KR20150165464 2015-11-25

Publications (1)

Publication Number Publication Date
KR20170061048A true KR20170061048A (ko) 2017-06-02

Family

ID=59222553

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160038512A KR20170061048A (ko) 2015-11-25 2016-03-30 하이퍼바이저 기반 가상화 시스템의 지연 시간을 측정하기 위한 장치 및 이를 포함하는 가상화 시스템

Country Status (1)

Country Link
KR (1) KR20170061048A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200105133A (ko) 2019-02-28 2020-09-07 성균관대학교산학협력단 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템
CN113672031A (zh) * 2021-09-07 2021-11-19 西安超越申泰信息科技有限公司 一种时间同步方法、装置、计算机设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200105133A (ko) 2019-02-28 2020-09-07 성균관대학교산학협력단 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템
CN113672031A (zh) * 2021-09-07 2021-11-19 西安超越申泰信息科技有限公司 一种时间同步方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
Li et al. Pond: Cxl-based memory pooling systems for cloud platforms
US11836515B2 (en) Multi-hypervisor virtual machines
US9703591B2 (en) Workload distribution management apparatus and control method
US9465636B2 (en) Controlling virtual machine in cloud computing system
US11340945B2 (en) Memory congestion aware NUMA management
KR101385827B1 (ko) 가상화된 환경들 내의 리소스 할당
Cui et al. Enable simultaneous dnn services based on deterministic operator overlap and precise latency prediction
US9122508B2 (en) Real time measurement of I/O interrupt delay times by hypervisor by selectively starting and/or stopping corresponding LPARs
US20130346967A1 (en) Determining Placement Fitness For Partitions Under A Hypervisor
US9916172B2 (en) Method and apparatus for recovering lock holder preemption
US9928185B2 (en) Information processing apparatus and computer-readable recording medium having program recorded therein
JP6273034B2 (ja) 仮想化コンピューティング装置及び方法
US11860737B2 (en) System and method for coordinating use of multiple coprocessors
US20130047152A1 (en) Preserving, From Resource Management Adjustment, Portions Of An Overcommitted Resource Managed By A Hypervisor
JP2015504541A (ja) マルチプロセッサ・コンピューティング・システムにおけるメモリ・アクセスを動的に最適化する方法、プログラム、及びコンピューティング・システム
EP3274896B1 (en) Configuration of a memory controller for copy-on-write with a resource controller
US11886898B2 (en) GPU-remoting latency aware virtual machine migration
KR20100074920A (ko) 멀티코어 시스템에서의 로드 밸런싱 장치 및 방법
Ghatrehsamani et al. The art of cpu-pinning: Evaluating and improving the performance of virtualization and containerization platforms
KR20170061048A (ko) 하이퍼바이저 기반 가상화 시스템의 지연 시간을 측정하기 위한 장치 및 이를 포함하는 가상화 시스템
US11182183B2 (en) Workload placement using conflict cost
US20180107509A1 (en) Migration of computer systems
US8402191B2 (en) Computing element virtualization
US9983949B2 (en) Restoration detecting method, restoration detecting apparatus, and restoration detecting program
Lim et al. Performance Implications from Sizing a VM on Multi-core Systems: A Data Analytic Application's View