R&D/클라우드

[cloud talk 1] Para vs. Full 가상화의 차이

sunshout 2012. 1. 31. 08:39

첫번째 주제로 반가상화와 풀가상화의 차이는 무엇일까요

 

가상화의 가장 큰 bottleneck io performance 입니다. 즉 가상머신의 io operation,linux에서는 커널의 system call ,은 많은 단계를 거쳐 hypervisor에서 처리됩니다. 이 단계를 줄이기 위해서 반가상화에서는 system call 대신에 게스트os hypercall을 구현했습니다. Hypercall frond-end driver가 받아 dom0 back-end driver로 전달합니다. Backend driver network를 처리하는 netback과 블럭디바이스를 처리하는 bulktap 이 있습니다.

 

Io처리를 hypercall을 이용해서 기존의 systemcall을 하는 full 가상화 대비 성능이 나옵니다.

 

추가로 전가상화는 모든 하드웨어 디바이스의 bottom half의 동작을 emulation 하죠 그래서 성능이 느리죠. 하지만 게스트os에서는 커널을 수정할 필요가 없습니다. Emulation dom0의 역할로 넘깁니다