KR20150076699A - 가상화 장치 및 방법 - Google Patents
가상화 장치 및 방법 Download PDFInfo
- Publication number
- KR20150076699A KR20150076699A KR1020130165214A KR20130165214A KR20150076699A KR 20150076699 A KR20150076699 A KR 20150076699A KR 1020130165214 A KR1020130165214 A KR 1020130165214A KR 20130165214 A KR20130165214 A KR 20130165214A KR 20150076699 A KR20150076699 A KR 20150076699A
- Authority
- KR
- South Korea
- Prior art keywords
- input
- file
- output
- output request
- guest
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
가상화 시, 게스트 시스템의 파일 시스템이 어플리케이션으로부터 발생된 파일 입출력 요청을 공유 큐(queue)에 저장하고, 호스트 시스템의 입출력 스레드(thread)가 공유 큐에 저장된 상기 파일 입출력 요청을 감지하고, 입출력 스레드가 감지된 파일 입출력 요청을 처리한다.
Description
본 발명은 입출력 성능이 향상된 가상화 장치 및 방법에 관한 것이다.
가상화 기술이 발전하고 클라우드 서비스가 등장하면서 데스크 탑과 서버 환경에서 가상화가 많이 활용되고 있다. 이러한 가상화 기술은 크게 소프트웨어적인 가상화와 하드 웨어 지원을 이용한 가상화로 나눌 수 있다. 현재의 가상화 기술 동향을 살펴보면 프로세서와 메모리의 가상화 기술은 하드웨어 지원 가상화가 지배적이며, 입출력 장치 가상화의 경우 소프트웨어적인 가상화와 하드웨어의 지원을 이용한 가상화가 모두 활발하게 연구되고 있다.
입출력 장치 가상화를 위한 하드웨어적 지원 기술으로는 SR-IOV(Single Root-IO Virtualiation)와 IOMMU(Input/Output Memory Management Unit) 등이 있다. 이와 같은 기술을 통해 가상 머신(virtual machine)이 물리 디바이스를 직접 접근할 수 있는 인터페이스를 제공하여 가상화되지 않은 시스템과 유사한 성능을 낼 수 있으나, 게스트가 하드웨어를 직접 제어함에 따라 보안성 및 추상성이 약화될 수 있는 한계가 있다.
한편, 입출력장치 가상화의 소프트웨어적인 대표적인 기법으로는 반가상화 기법이 있다. 이러한 반가상화 기법을 이용할 경우, 가상 머신 마이그레이션(VM migration)이나 가상 머신 스냅샷(VM snapshot)과 같이 가상 머신을 추상화하는 기능을 쉽게 적용할 수 있으며, 이미지 디스크와 같이 물리적으로 존재하지 않는 가상 디바이스를 이용할 수 있다는 장점이 있다. 이로 인해 반가상화 환경에서 성능을 향상시키기 위한 연구가 활발히 진행되고 있다.
반가상화를 위한 대표적인 디바이스 드라이버 프레임워크로 리눅스 커널에 기본 드라이버로 포함된 virtio가 있다. 일반적으로 입출력 장치를 직접 에뮬레이션하는 것은 복잡하여 효율성이 떨어졌으나, 상대적으로 virtio는 좋은 성능을 제공한다. 이러한, virtio는 입출력 요청이 빈번하게 발생할 경우 이를 모아서 호스트에게 전달하는 것은 가능하나, 호스트로 처리를 요청하는 과정에서 게스트에서 호스트로의 모드 전환(vm-exit)이 발생하게 되어 성능 저하가 발생된다. 특히, 높은 성능의 입출력을 수행할 수 있는 장치일수록 vm-exit으로 인한 성능 저하가 큰 영향을 주는데 virtio는 이를 효과적으로 제어하지 못하는 문제점이 있다.
이와 같은 문제점을 해결하기 위하여, 한국공개특허 제2009-0130802호(발명의 명칭: 가상화 환경에서 입출력 인터페이스를 적응시키는 장치 및 방법)는, 적어도 하나의 입출력 장치를 제어하는 호스트 시스템을 포함하는 장치에 상기 호스트 시스템을 통하여 상기 입출력 장치를 이용하는 게스트 시스템이 이동되면, 상기 호스트 시스템은 상기 게스트 시스템의 입출력 장치의 능력에 따라 제공되는 서비스가 상기 적어도 하나의 입출력 장치 중 상기 게스트 시스템이 요청하는 입출력 장치의 능력에 따라 제공되도록 상기 게스트 시스템의 입출력 인터페이스를 적응시키는 장치를 개시하고 있다.
본 발명은 전술한 문제점을 해결하기 위하여, 가상화 장치에서 게스트로부터 호스트로의 모드 전환(즉, 'vm-exit')을 발생시키지 않고 게스트와 호스트가 상호 통신할 수 있도록 하는 가상화 장치 및 방법을 제공하고자 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상기와 같은 기술적 과제를 달성하기 위한 본 발명의 일 측면에 따른 가상화 장치는, 가상 머신을 통해 어플리케이션을 실행하기 위한 게스트 운영체제를 구동시키되, 상기 어플리케이션으로부터 발생된 파일 입출력 요청을 공유 큐(queue)에 저장하여 호스트 시스템으로 전달하는 파일 시스템을 포함하는 게스트 시스템; 및 호스트 운영체제를 구동시키되, 상기 공유 큐에 저장되는 상기 파일 입출력 요청을 감지하고, 감지된 상기 파일 입출력 요청에 따른 처리를 수행하는 입출력 스레드(thread)를 포함하는 호스트 시스템을 포함한다.
그리고, 본 발명의 다른 측면에 따른 복수의 운영체제를 구동시키는 가상화 장치를 통한 가상화 방법은, (a) 게스트 시스템의 파일 시스템이 어플리케이션으로부터 발생된 파일 입출력 요청을 공유 큐(queue)에 저장하는 단계; (b) 호스트 시스템의 입출력 스레드(thread)가 상기 공유 큐에 저장된 상기 파일 입출력 요청을 감지하는 단계; 및 (c) 상기 입출력 스레드가 감지된 상기 파일 입출력 요청을 처리하는 단계를 포함한다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 호스트 운영체제의 입출력 전용 스레드에서 능동적으로 게스트 운영체제의 요청을 확인하여 처리함으로써, 종래의 가상화 방식에서 게스트 운영체제의 입출력 요청에 따라 발생되던 vm-exit를 제거할 수 있다. 즉, vm-exit 발생 횟수를 감소시켜 게스트 운영체제에서 불필요하게 동작하는 입출력 스케줄러의 정렬/병합 동작 및 디바이스 드라이버의 동작을 제거함으로써 파일 입출력 연산 성능을 더욱 향상시킬 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 가상화 장치의 구조를 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 가상화 방법을 설명하기 위한 순서도이다.
도 3은 본 발명의 일 실시예에 따른 가상화의 효율성을 나타내는 그래프이다.
도 2는 본 발명의 일 실시예에 따른 가상화 방법을 설명하기 위한 순서도이다.
도 3은 본 발명의 일 실시예에 따른 가상화의 효율성을 나타내는 그래프이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명의 일 실시예에 따른 가상화 장치의 구조를 나타낸 도면이다.
도 1에 도시한 바와 같이, 본 발명의 일 실시예에 따른 가상화 장치(10)는 호스트 시스템(100), 복수의 게스트 시스템(200), 공유 큐(300), 호스트 커널(400) 및 블록 디바이스(500)를 포함한다.
게스트 시스템(200)은 가상 머신(Virtual Machine, VM)을 통해 복수의 어플리케이션(미도시)을 실행하는 게스트 운영체제를 구동시킨다.
그리고 게스트 시스템(200)은 상기 어플리케이션(미도시)으로부터 발생된 파일 입출력 요청을 공유 큐(300)에 저장하여 호스트 시스템(100)로 알리는 파일 시스템(210)을 포함한다. 이때, 파일 시스템(210)은 공유 큐(300)를 통해 호스트 시스템(100)으로 파일 입출력을 요청하고 완료를 기다린다.
파일 시스템(210)은 게스트 시스템(200) 상에 구현된 입출력 스케줄러(I/O Scheduler)(220) 및 디바이스 드라이버(Device Driver)(230)의 등의 입출력 스택의 상위단에 구현된다.
이때, 본 발명의 일 실시예에 따른 파일 시스템(210)은 가상화를 인지한 파일 시스템으로서, 가상화되지 않은 환경(즉, 일반적인 환경)에서 동작하는 파일 시스템과 상이하게 동작한다. 구체적으로, 일반적인 환경(즉, 비가상화 환경)에서 파일 입출력 요청이 발생하면, 해당 파일 입출력 요청은 파일 시스템, 입출력 스케줄러, 디바이스 드라이버 및 블록 디바이스 순으로 순차적으로 처리가 진행되나, 본 발명의 일 실시예에 따른 게스트 시스템(200)의 파일 시스템(210)은 파일 입출력 요청을 입출력 스케줄러(220) 및 디바이스 드라이버(230)로 전달하지 않고 공유 큐(300)에 저장한다. 이에 따라, 게스트 시스템(200)은 파일 입출력 요청을 호스트 시스템(100)으로 직접 전달할 수 있다.
공유 큐(Queue)(300)는 게스트 시스템(200)의 파일 시스템(210)으로부터 저장된 파일 입출력 요청을 저장한다. 참고로, 공유 큐(300)는 게스트로부터 요청된 입출력 연산이 호스트에서 수행될 수 있도록 해당 버퍼의 주소 변환을 처리한다. 또한, 파일 입출력 요청은 데이터 쓰기, 데이터 읽기, 데이터 찾기 등의 요청을 포함할 수 있다.
호스트 시스템(100)은 게스트 운영체제와는 별도인 호스트 운영체제를 구동시키되, 게스트 시스템(200)으로부터 발생된 파일 입출력 요청에 대한 전용 스레드인 입출력 스레드(thread)(110)를 포함한다.
입출력 스레드(110)는 공유 큐(300)를 통해 전달되는 게스트의 요청을 감지하고, 감지된 파일 입출력 요청을 처리한다. 이때, 입출력 스레드(110)는 호스트 커널(400)을 통해 블록 디바이스(500)로의 파일 입출력 처리를 수행한다.
도 1에 도시된 바와 같이, 호스트 커널(400)은 호스트 운영체제 상에 구현된 파일 시스템(Filesystem), 입출력 스케줄러(I/O Scheduler), 디바이스 드라이버(Device Driver) 및 하이퍼바이저(Hypervisor)가 탑재되어 있다.
참고로, 가상화 장치(10)에서 호스트 커널(400) 및 게스트 시스템(200)은 각각 파일 시스템(Filesystem), 입출력 스케줄러(I/O Scheduler) 및 디바이스 드라이버(Device Driver)를 포함한다. 입출력 스케줄러는 호스트 및 게스트의 각 운영 체제에서 작업을 시작할 때 메모리에서 데이터를 불러오는 순서를 관리한다. 그리고, 파일 시스템은, 각 운영 체제에서 설정된 읽기, 쓰기, 찾기에 대한 규칙에 따라 저장 장치에 저장되는 파일을 관리하는 시스템이다. 또한, 디바이스 드라이버는 각 운영체제와 응용프로그램 및 하드웨어 간의 인터페이스를 담당한다.
본 발명의 일 실시예에서 호스트 커널(400) 상에 탑재된 디바이스 드라이버는 물리적 저장 장치인 디스크(disk)를 제어하되, 도 1에서는 디스크가 블록 디바이스(Block device)(500)인 것을 나타내었다. 참고로, 블록 디바이스는 운영체제에서 파일 시스템에 맞는 블록으로 디스크를 관리한다.
이에 따라, 입출력 스레드(110)는 공유 큐(300)를 통해 파일 입출력 요청이 감지되면, 호스트 커널(400)의 파일 시스템, 입출력 스케줄러, 디바이스 드라이버를 통해 블록 디바이스(500)로의 파일 입출력을 처리한다.
그리고 입출력 스레드(110)는 호스트 커널(400)로부터 상기 입출력 요청에 따른 처리를 수행한 결과를 수신하여 공유 큐(300)에 반영(즉, 저장)하여 게스트 시스템(200)으로 전달한다.
한편, 입출력 스레드(110)는 게스트에서 발생된 요청을 신속하게 감지하기 위하여 폴링 기법(polling)를 통해 공유 큐(300)를 확인하여, 공유 큐(300)에 저장되는 적어도 하나의 게스트 시스템의 파일 입출력 요청을 감지할 수 있다. 블록 디바이스(500)의 입출력 동작이 비동기적으로 수행될 수 있으므로 여러 가상 머신(즉, 게스트 시스템)에서 발생하는 요청을 하나의 입출력 스레드(110)가 처리할 수 있도록 한다. 참고로, 폴링 기법은 여러 장치(즉, '게스트 시스템')가 서비스(즉, '파일 입출력')를 요청하는지의 여부를 결정하기 위해 주기적으로 공유 큐(300)를 검사하는 기법이다.
입출력 스케줄러와 디바이스 드라이버 등의 입출력 스택은 게스트 운영체제와 호스트 운영체제에서 중복으로 수행되기 때문에 성능 저하의 원인이 된다. 특히, 게스트 운영체제는 호스트에서 제공된 이미지 파일을 디스크로 인식하기 때문에 입출력 스케줄러의 정렬 및 병합 동작은 호스트에서의 입출력 동작에 악영향을 줄 여지가 있다. 따라서, 본 발명의 일 실시예에 따른 가상화 장치(10)에서는 게스트 시스템(200)의 파일 시스템(210)이 파일 입출력 요청에 대한 처리를 파일 시스템(210)의 하위 단에 전달하지 않음으로써 입출력 성능을 향상 시킬 수 있다.
도 2는 본 발명의 일 실시예에 따른 가상화 방법을 설명하기 위한 순서도이다.
먼저, 게스트 시스템(200)의 어플리케이션으로부터 파일 입출력 요청이 발생하면(S210), 게스트 시스템(200)의 파일 시스템이 상기 발생된 파일 입출력 요청을 공유 큐(queue)에 저장하여 호스트 시스템(100)으로 파일 입출력 요청을 전달한다(S220).
다음으로, 호스트 시스템(100)의 입출력 스레드(thread)가 공유 큐에 저장된 파일 입출력 요청을 감지하여 수신하고, 수신된 파일 입출력 요청에 따른 처리를 수행한다(S230).
이때, 호스트 시스템(100)의 입출력 스레드는 디스크(즉, 블록 디바이스)를 제어하는 디바이스 드라이버가 탑재된 호스트 커널을 통해 상기 파일 입출력 요청에 따른 디스크로의 파일 입출력을 처리한다.
또한, 호스트 시스템(100)의 입출력 스레드는 폴링(polling) 기법을 통해 적어도 하나의 게스트 시스템(200)의 파일 입출력 요청을 감지할 수 있다.
그런 다음, 호스트 시스템(100)의 입출력 스레드는 호스트 커널을 통해 상기 파일 입출력 요청에 따라 처리된 결과를 수신하여 공유 큐에 저장함으로써 수신된 처리 결과를 게스트 시스템(200)으로 전달한다(S240).
도 3은 본 발명의 일 실시예에 따른 가상화의 효율성을 나타내는 그래프이다.
예를 들어, 도 3에서는, 컴퓨터 시스템의 성능 평가 방법 중 하나인 'IOzone' 벤치마크를 이용하여, 본 발명의 일 실시예에 따른 가상화 장치를 통한 파일 읽기 및 쓰기에 대한 성능을 측정한 결과를 나타내었다.
도 3에서는 본 발명의 일 실시예에 따른 가상화 기법(도 3에서는 'ours'로 표시함)과 비교 대상으로서 virtio 기법에 대해 파일 읽기 및 쓰기 성능을 비교하였다. 성능 비교의 조건으로는, 128kB~32768kB 크기의 파일에 대해 순차 읽기(sequential read), 순차 쓰기(sequential write), 랜덤 읽기(random read), 역순 읽기(backward read)에 대한 성능을 측정하였고, 모든 경우에서 본 발명의 일 실시예에 따른 가상화 기법('ours')이 종래의 가상화 기법('virtio')에 비해 성능 향상을 보이는 것을 확인할 수 있다.
구체적으로, 도 3의 (a) 및 (b)에서와 같이, 순차 읽기 및 쓰기에서는 'virtio'에 비해 'ours'가 42~60%의 성능 향상을 보여주었으며, 'ours'에서는 direct I/O로 인해 페이지 캐시의 영향을 받지 않게 되므로 읽기와 쓰기는 유사한 성능을 보였다. 그리고, 도 3의 (c) 및 (d)에서와 같이, 랜덤 읽기와 역순 읽기에서는 'virtio'에 비해 'ours'가 19~25%의 성능 향상을 나타내었다. 참고로, 비순차 입출력 동작은 블록 디바이스의 특성으로 인해 순차 입출력보다 성능이 떨어지기 때문에 상대적으로 vm-exit으로 인한 성능 저하 역시 적게 발생하므로 본 발명에서 제안한 가상화 장치 및 방법으로 인한 성능 향상이 비교적 낮게 나타났다.
한편, 본 발명의 일 실시예에 따른 가상화 장치(10)의 호스트 커널(400)에서 동작하는 파일 시스템은, 성능 실험을 위해 FUSE(File system in user space)로 구현된 파일 시스템에 비해 훨씬 높은 성능을 보이므로, 입출력 중심의 워크로드에서 단위시간 당 vm-exit 발생 횟수가 많아진다. 따라서, 본 발명의 일 실시예에 따른 가상화 장치 및 방법을 입출력 중심의 워크로드에 적용할 경우 더 높은 성능 향상을 기대할 수 있다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
10: 가상화 장치
100: 호스트 시스템
200: 게스트 시스템
100: 호스트 시스템
200: 게스트 시스템
Claims (9)
- 가상화 장치에 있어서,
가상 머신을 통해 어플리케이션을 실행하기 위한 게스트 운영체제를 구동시키되, 상기 어플리케이션으로부터 발생된 파일 입출력 요청을 공유 큐(queue)에 저장하여 호스트 시스템으로 전달하는 파일 시스템을 포함하는 게스트 시스템; 및
호스트 운영체제를 구동시키되, 상기 공유 큐에 저장되는 상기 파일 입출력 요청을 감지하고, 감지된 상기 파일 입출력 요청에 따른 처리를 수행하는 입출력 스레드(thread)를 포함하는 호스트 시스템을 포함하는 가상화 장치. - 제 1 항에 있어서,
상기 입출력 스레드는,
폴링(polling) 기법을 통해 상기 공유 큐에 저장되는 적어도 하나의 게스트 시스템의 상기 파일 입출력 요청을 감지하는 가상화 장치. - 제 1 항에 있어서,
디스크(disk)를 제어하는 디바이스 드라이버가 탑재된 호스트 커널을 더 포함하며,
상기 입출력 스레드는,
상기 호스트 커널을 통해 상기 파일 입출력 요청에 따른 상기 디스크로의 파일 입출력을 처리하는 가상화 장치. - 제 3 항에 있어서,
상기 디스크는 블록 디바이스(block device)인 가상화 장치. - 제 1 항에 있어서,
상기 입출력 스레드는,
상기 파일 입출력 요청에 따른 처리를 수행한 결과를 상기 공유 큐에 저장하여 상기 게스트 시스템으로 전달하는 가상화 장치. - 복수의 운영체제를 구동시키는 가상화 장치를 통한 가상화 방법에 있어서,
(a) 게스트 시스템의 파일 시스템이 어플리케이션으로부터 발생된 파일 입출력 요청을 공유 큐(queue)에 저장하는 단계;
(b) 호스트 시스템의 입출력 스레드(thread)가 상기 공유 큐에 저장된 상기 파일 입출력 요청을 감지하는 단계; 및
(c) 상기 입출력 스레드가 감지된 상기 파일 입출력 요청을 처리하는 단계를 포함하는 가상화 방법. - 제 6 항에 있어서,
상기 (b) 단계는,
상기 입출력 스레드가 폴링(polling) 기법을 통해 적어도 하나의 상기 게스트 시스템의 상기 파일 입출력 요청을 감지하는 가상화 방법. - 제 6 항에 있어서,
상기 (c) 단계는,
상기 입출력 스레드가 디스크(disk)를 제어하는 디바이스 드라이버가 탑재된 호스트 커널을 통해 상기 파일 입출력 요청에 따른 상기 디스크로의 파일 입출력을 처리하는 가상화 방법. - 제 6 항에 있어서,
상기 (c) 단계 이후에,
상기 입출력 스레드가 상기 파일 입출력 요청에 따른 처리를 수행한 결과를 수신하는 단계; 및
상기 입출력 스레드가 상기 처리를 수행한 결과를 상기 공유 큐에 저장하여 상기 게스트 시스템으로 전달하는 단계를 더 포함하는 가상화 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130165214A KR101559929B1 (ko) | 2013-12-27 | 2013-12-27 | 가상화 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130165214A KR101559929B1 (ko) | 2013-12-27 | 2013-12-27 | 가상화 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150076699A true KR20150076699A (ko) | 2015-07-07 |
KR101559929B1 KR101559929B1 (ko) | 2015-10-14 |
Family
ID=53789615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130165214A KR101559929B1 (ko) | 2013-12-27 | 2013-12-27 | 가상화 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101559929B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101701378B1 (ko) * | 2015-07-31 | 2017-02-01 | 성균관대학교산학협력단 | 가상 머신과 파일을 공유하는 가상화 장치 및 그 방법 |
CN111868687A (zh) * | 2018-03-20 | 2020-10-30 | 三菱电机株式会社 | 信息处理装置、方法及程序 |
-
2013
- 2013-12-27 KR KR1020130165214A patent/KR101559929B1/ko active IP Right Grant
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101701378B1 (ko) * | 2015-07-31 | 2017-02-01 | 성균관대학교산학협력단 | 가상 머신과 파일을 공유하는 가상화 장치 및 그 방법 |
CN111868687A (zh) * | 2018-03-20 | 2020-10-30 | 三菱电机株式会社 | 信息处理装置、方法及程序 |
CN111868687B (zh) * | 2018-03-20 | 2021-09-17 | 三菱电机株式会社 | 信息处理装置、方法及程序 |
Also Published As
Publication number | Publication date |
---|---|
KR101559929B1 (ko) | 2015-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9413683B2 (en) | Managing resources in a distributed system using dynamic clusters | |
KR102055325B1 (ko) | 원격으로 액세스되는 데이터의 효율적인 라이브-이송 | |
US9680954B2 (en) | System and method for providing virtual desktop service using cache server | |
US20200233704A1 (en) | Multi-core processor in storage system executing dedicated polling thread for increased core availability | |
US20180121366A1 (en) | Read/write request processing method and apparatus | |
US8490088B2 (en) | On demand virtual machine image streaming | |
US9098337B2 (en) | Scheduling virtual central processing units of virtual machines among physical processing units | |
US9454489B2 (en) | Exporting guest spatial locality to hypervisors | |
US8166349B2 (en) | Communicating with USB devices after a computer system crash | |
JP6594452B2 (ja) | 仮想マシン性能を向上させる方法、端末、装置及びプログラム | |
EP4220419A1 (en) | Modifying nvme physical region page list pointers and data pointers to facilitate routing of pcie memory requests | |
US10423563B2 (en) | Memory access broker system with application-controlled early write acknowledgment support and identification of failed early write acknowledgment requests to guarantee in-order execution of memory requests of applications | |
KR20200135718A (ko) | 액세스 요청을 관리하기 위한 방법, 장치, 기기 및 저장 매체 | |
US9983997B2 (en) | Event based pre-fetch caching storage controller | |
WO2018094649A1 (zh) | 一种虚拟机启动过程中的数据获取方法和云计算系统 | |
US20120265920A1 (en) | Storage block deallocation in virtual environments | |
US9699093B2 (en) | Migration of virtual machine based on proximity to peripheral device in NUMA environment | |
US10481818B2 (en) | Meta data processing during startup of storage devices | |
KR20210011010A (ko) | 가상화를 위한 프로세서 피쳐 id 응답 | |
KR101559929B1 (ko) | 가상화 장치 및 방법 | |
US9817683B2 (en) | Optimized remediation policy in a virtualized environment | |
US20130036269A1 (en) | Placement of data in shards on a storage device | |
US9075795B2 (en) | Interprocess communication | |
US8255642B2 (en) | Automatic detection of stress condition | |
US10120594B1 (en) | Remote access latency in a reliable distributed computing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20180917 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190905 Year of fee payment: 5 |