본 논문에서는 유휴 자원을 효율적으로 사용하고, 이에 따른 도입 및 운영 비용을 절감하기 위해서 가상화 기술의 필요성을 어필하고 있으며 분산 자원의 통합을 위한 핵심 기술로 가상화 기술의 중요성 인식과 자원 사용률을 극대화하고 총 소유 비용을 줄이기 위해 가상화 기술은 필수적이라고 서술하고 있다. 논문에서 밝히고 있는 가상화 기술이란 물리적으로 다른 시스템을 논리적으로 통합하거나 하나의 시스템을 논리적으로 분할해 자원을 효율적으로 사용하게 하는 기술이다. 특정 OS와 어플리케이션 기능들간의 관계를 무관하게 만들어 주는 소프트웨어 기술, 즉 OS의 특성에 상관없이 어플리케이션 기능들을 자유롭게 사용할 수 있도록 하는 소프트웨어 기술이다. 하지만 웹, 데이터베이스 서버 등 여러 서버를 하나의 머신 위에 동작시켜도 되지만 운영체제 위에서 여러 개의 서버 프로세스가 동작하게 되므로 서버 프로세스 사이에 많은 영향을 미친다는 치명적인 문제점이 존재하지만 반 가상화 기법을 이용하여 이를 해결하고자 한다.
Xen 하이퍼바이저
오픈 소스 기반의 가상화 소프트웨어로 하나의 컴퓨터에서 여러 종류의 운영 체계(OS)를 사용할 수 있게 하는 소프트웨어이다. Xen은 OS와 하드웨어 사이에 위치하며 커널이 실행될 수 있는 곳에 가상 환경을 제공하며 Xen이 포함된 시스템은 하이퍼바이저, 커널, 그리고 사용자 공간 애플리케이션이다. Xen은 반가상화 기술을 이용하며 하드웨어 전체를 가상화 하는 대신 가상화가 적용된 리눅스 커널을 시스템 부팅시 적용하는 기법으로 CPU 레벨에서 에뮬레이션하는 것이 아닌 운영체제 커널을 수정하여 커널 함수 호출을 하면 호스트 커널로 전달시키도록 만든 방식을 채택하였다. 때문에 시스템에서 목적으로 하는 효과를 얻기 위한 본질적인 것은 아니지만 요구하는 작동을 하기 때문에 오버헤드가 적지만 운영체제 커널 수정이 필요하기 때문에 오픈소스 운영체제에서만 동작이 가능하며 가상머신이 직접 하드웨어를 제어하는 것이 아니라 하이퍼바이저에게 맡긴다. 때문에 높은 성능을 유지할 수 있다. Xen은 다음과 같은 기능을 한다.
Xen에서의 하이퍼콜은 커널에서의 시스템콜과 비슷한 기능을 한다고 보면 되며 Xen Hypervisor는 OS와 I/O사이에 보호 영역을 생성하기 때문에 적은 오버헤드로 시스템 사이를 움직여야만 한다는 단점이 있다. 때문에 I/O Ring은 Domain에 의해 할당되며 Xen 내부에서 접근이 가능하며 공급자/소비자 포인터 한 쌍에 의한 I/O 연산 제어한다. CPU scheduling은 Borrowed Virtual Time scheduling algorithm을 이용하여 각 Domain에 대한 스케줄링 알고리즘을 적용하였으며, Virtual address translation는 가상 페이지 테이블을 각 Domain에 제공된다. Time and timer는 4가지로 구분되며 real time (The processor’s actual cycle counter), virtual time (It stops when the guest OS does not occupy CPU), wall-clock time (It is the real time plus an offset), Timer (Alarm timers)로 구분된다. Physical memory에서 Memory Allocation는 도메인 생성시에 할당하며 Maximum reservation is specified하고 Balloon driver를 통한 메모리 관리를 하며 메모리 사용량을 반영한 메모리 할당을 한다. Network는 VFR (Virtual Firewall-Router)를 추상화하고, VIF(NIC와 비슷)의 역할은 <pattern, action> 형식으로 동작한다. Disk는 VBD(Virtual Block Device)로 Domain 0의 관리 하에 운영된다.
단일서버에 다양한 네트워크 중심의 서비스 제공한다. 장비 비용 절약, 장비 활용도 증대가 가능하다. 단일 장비에 100개의 운영체제 구동이 가능하다. 각각의 OS 셋업 및 설정의 부담 적다. 성능의 우수성이 있다. EVALUATION를 통해서 native linux와 유사한 성능을 증명하였다.
'Past Material' 카테고리의 다른 글
ISS 우주인 200번째 우주유영 착수 (0) | 2017.05.13 |
---|---|
CAFTL: A Content-Aware Flash Translation Layer Enhancing the Lifespan of Flash Memory based Solid State Drives (0) | 2017.05.13 |
DASH-SHVC 스트리밍에서 스토리지 스케줄링에 의한 사용자 QoS 영향 분석 (0) | 2017.05.12 |
The Design and Implementation of Microdrivers (0) | 2017.05.12 |
Recovering Device Drivers (0) | 2017.05.12 |