Xen and the Art of Virtualization

Slides:



Advertisements
Similar presentations
Smart Phone Game 쇼군 적용 사례 ㈜블루솜 Global Top Cloud Service Provider Bluesom Co.,Ltd.
Advertisements

Embedded System 2009 년 11 월 16 일 Embedded Computer1 ● Hardware 와 Software 가 조합되어 특정한 복적을 수행하는 시스템 ● 특정한 기능을 수행하도록 Micro Processor 와 I/O Device 를 내장하며,
기술분야에너지 관리 연구과제명 Advanced Energy Mgmt. Algorithm 개발 필요성신재생 발전기기, 에너지 저장장치, 에너지 소비장치가 공존하는 Smart Grid Home 환경에서 사용자의 불편을 최소화하면서 효율적으로 에너지를 절감할 수 있는 새로운.
Dept. Computer Engineering DBLAB 정보처리개론 담당 교수 : 김정석 2009 년도 1 학기.
J-Stream part1 (Software streaming service) ▪ 팀명 : Jukdori ▪ 팀원 : 16 th 윤병호 (PL) 15 th 송인규 16 th 김영진.
21. XEN KAIST 10 / SPARCS 11 alphamin ( 유민정 ). Contents 1. Virtualization 2. Installing Xen 3. Reference.
OS 소개 Introduction 설계목표 기본 용어 Resource Management History.
CDMA SW 구조 AIITQC 서울본원교육장 양 종 윤.
Linux Debugging issues
임베디드 SW 시스템 소개 - 임베디드 운영체제 - 임베디드 리눅스 - 임베디드 인터넷
임베디드 시스템 개론 8. 임베디드 시스템 개발 환경 8주차 강의 자료 Embedded System Lab.
13. Xen Yasik 박중언.
제 2장 컴퓨터 구조.
13장. 시스템 버스 다루는 내용 시스템 버스의 개념 다중버스 계층 구조 버스 중재.
리눅스를 이용한 임베디드 시스템의 기술 동향 정보통신과 2학년 B반 이승훈.
제6장 FUSING.
Application and Server Management
Operating Systems Overview
System Call Linux Kernel 수업 3번째.
7장 : 캐시와 메모리.
프로세스 관리.
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
12. 데이터베이스 설계.
컴퓨터 구조론 2001년 10월 22일 발표자 황영선.
가상화 기술을 이용한 메모리 보호 그리고 ring -1 박지환
임베디드 운영체제 (리눅스 중심) Lecture #2.
Linux를 이용한 Embedded 장비 개발
리눅스 커널의 이해 중에서 1장. 소개 이원구 네트워크 실험실.
DSP와 TMS320F28x의 이해.
XEN & CLOUD SPARCS14 ONION.
운영체제와 Windows XP 초등 ICT 교육 방법론 2013년 1학기.
부 록 Ubuntu 설치.
컴퓨터 구조.
4장. 컴퓨터 시스템의 구성과 기능 다루는 내용 컴퓨터 분해를 통한 본체 살펴보기 컴퓨터 구성요소 컴퓨터의 기능
+ 가상 메모리 -> 물리 메모리 Selector Offset DIR Page Segmetatation
운영체제 (OS: Operating System)
Embedded System Porting (2)
2장 운영 체제의 개요 운영체제의 개념 운영체제의 유형 운영체제의 발전 과정 운영체제의 구성 운영체제 서비스 시스템 구조
임베디드 소프트웨어 동향. 임베디드 소프트웨어 동향 임베디드 S/W 시장분류 솔루션 측면 시스템 측면 운영체제 개발도구 설계도구 테스트도구 유선통신 무선통신 정보가전 자동차제어 산업자동화 사무자동화 군사/항공우주 의료장비 솔루션 공급 업체 임베디드 S/W시장 임베디드.
Lecture #3 프로세스(Process).
Chapter 10. 파일 시스템 인터페이스(File System Interface)
Computer System Architecture
제2장 프로세스 이나현.
VM? Virtual..?? Vulnerability Analyst Diary
Rhapsody + MFC 개발 가이드.
제5장 CPU스케줄링(CPU Scheduling)
Cache Manager Yonghyun Kim Microsoft MVP Dev 5 team leader, ESTsoft
TinyOS Tutorial Network lab. 김인태
박 태하 ㈜ 아이네트 인터넷 망관리를 위한 도구 박 태하 ㈜ 아이네트.
운영체제(Operating System)
기억장치 관리(Memory Management)
1조 김성수 백현기 석광우 김지원 박광연.
운영체제 (Operating Systems) (Memory Management Strategies)
Transmission Control Protocol (TCP)
User Datagram Protocol (UDP)
분산 파일 시스템의 구조 GFS 와 CEPH SW공학센터 융합SW공학팀 장원석 책임 연구원
1. 컴퓨터 시스템 구성요소 메모리(Memory) 캐시메모리 개념 캐시메모리의 특징 적중률(hit ratio)
ITIL 정리.
Chapter 12 Memory Organization
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
CHAPTER 04 파일 설계(FiLE Design).
제 3 장 운영체제와 입출력 방식 Section 1 입출력 기능 Section 2 입출력 방식 Section 3 입출력 버퍼링
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
데이터 베이스의 내부 구조.
Virtual Machine Management
Eclipse를 이용한 Embedded Linux 응용 프로그램 개발
경영정보학개론 건국대 경영대학 박성식
가상 기억장치 (Virtual Memory)
이러다 클라우드.
Presentation transcript:

Xen and the Art of Virtualization Mobile Lab. 임규찬

Xen? University of Cambridge Computer Lab. (2003) 오픈소스 기반 반가상화 솔루션 가상머신의 격리(Virtual machines must be isolate from another) 다양한 OS 제공(To support a variety of different OS) 오버헤드 최소화(The performance overhead should be small) 무엇을 가상화하여 어떻게 사용할것인가?

Xen 활용법???????????????????? 가상의 여자친구 제작 가능 신체의 가상화 영혼의 가상화 정신의 가상화 시간의 가상화 공간의 가상화 ETC

Xen 활용법 Xen은 가상 머신 모니터로써, 다음 응용이 가능함 가상화란 무엇인가? Server Consolidation Co-located Hosting Facilities Distrbuted Web Service Secure Computing Service ETC… 가상화란 무엇인가?

Virtualization? 컴퓨터 자원의 ‘추상화’를 일컫는 용어 물리 자원의 추상화를 통한 논리 자원의 형태로 표시 가능 다중 논리 자원으로 기능하는 단일 물리 자원 단일 논리 자원으로 기능하는 다중 물리 자원 Xen은 반가상화(Para-Virtualization)기술 기반

Para-Virtualization? 전가상화와 반대되는 개념 전가상화 (Full-Virtualization) 시스템의 완전한 가상화를 통한 에뮬레이션 성능상의 문제 발생(Binary Translation) 반가상화(Para-Virtualization) 가상화가 적용된 Kernel을 이용한 가상화. Kernel의 개조가 필요함 Closed-Source의 구동 불가능

Xen Approach&OverView 모든 표준 ABI가 요구하는 아키텍처의 가상화 어플리케이션의 수정 없이 실행 가능 Full multi-application OS 지원 복잡한 서버 구성도 단일 게스트 운영체제로 가상화 가능 높은 성능과 리소스 분리를 위한 반가상화 필수 전가상화에 비하여 높은 성능을 얻을 수 있음 자원 가상화를 완전히 숨기지 않는다 정확성과 성능에 위험함

Virtual Machine Interface Memory Management X86의 경우 Software-Managed TLB가 없음 많은 Guest OS로 인한 TLB Flush가능성 증가 메모리 참조시 Page Fault로 인한 성능 하락 우려 있음 Page Fault Decision Guest OS has direct read access to hardware page tables, but updates are batched and validated by the hypervisor. A domain may be allocated discontiguous machine pages Segmentation Fault Decision Cannot install fully-privileged segment descriptors and cannot overlap with the top end of linear address space

Virtual Machine Interface CPU Guest OS는 하이퍼바이저보다 낮은 특권을 가짐 OS의 오작동으로부터 하이퍼바이저 보호의 필요 특권 Ring을 통한 특권 제어

Virtual Machine Interface Device I/O 비동기 I/O ring에 의한 데이터 전송기법 사용 하드웨어 에뮬레이터에 비교하여 자원의 보호/분리에 효율적인 기법 모든 데이터 전송은 Xen에 의하여 관리됨 경량화된 이벤트 전송 메커니즘 사용

The Cost of Porting an OS to Xen 반가상화 수행을 위하여, Kernel수정이 필요함 리눅스가 WinXP에 비하여 쉽게 수정이 가능함.

Control and Management separate policy from mechanism 하이퍼바이저는 기본적인 기능만을 보유함 GuestOS에 의한 전체적인 관리가 필요함 Domain0 control interface 부팅시 자동으로 실행되는 첫번째 Domain 시스템의 모든 하드웨어를 제어 DomainU 관리

Control Transfer 가상 머신 제어를 위한 Hypercall/Event 사용 Hypercall Events Domain Domain Domain Hypercall Synchronous call Perform a software trap / privileged operation Events Asynchronous event Notifications / Device interrupt Xen Hypervisor

Data Transfer Hypervisor는 OS와 I/O사이에 보호 영역을 생성 I/O Rings 적은 오버헤드로 시스템 사이를 움직여야만 함 I/O Rings Domain에 의해 할당 Xen 내부에서 접근 가능함. 공급자/소비자 포인터 한 쌍 에 의한 I/O연산 제어

Subsystem Virtualization CPU scheduling Borrowed Virtual Time scheduling algorithm 각 Domain에 대한 스케줄링 알고리즘 Time and Timers Real time – 부팅 이후의 ns, 프로세서 카운터 virtual time – 한 도메인의 실행 시간 wall-clock time – Real time에 더해지는 Offset

Subsystem Virtualization Virtual Address Translation 가상 페이지 테이블을 각 Domain에 제공 Physical Memory Balloon Driver를 통한 메모리 관리 메모리 사용량을 반영한 메모리 할당

Subsystem Virtualization Network Virtual Firewall Router(VFR) 추상화 각 도메인은 Network Interface(VIF)를 VFR에 첨부시킴 VIF에는 두개의 I/O Ring Buffer descriptor존재 각 Direction에 (<pattern>,<action>) 규칙 리스트 존재 Domain0에 의한 규칙의 삽입/삭제 수행

Subsystem Virtualization Disk Domain0의 Virtual Block Device생성을 통한 Disk 관리 DomainU에서는 VBD를 통해서만 저장장치 접근이 가능 소유권과 액세스 제어 정보를 이용하여 범위 리스트 작성 I/O Ring과 유사한 메커니즘 보유

Building a New Domain Domain0에 의한 Domain생성 Hypervisor 복잡성 감소 및 견고성 개선 Building process can be extended and specialized to cope Domain0의 시스템 진단과 디버깅 자원을 이용

Relative Perfomance User-Mode Linux : 리눅스 커널을 프로세스로 실행한 것

OS Benchmarks

Concurrent Virtual Machine

Concurrent Virtual Machine

출처 Xen (http://www.xen.org ) Xen WiKi ( http://wiki.xen.org ) KLDP(http://kldp.org) Wikipedia (주)나우콤 – Xen 설치 및 사용 보고서(PDF)