2008/05/07

가상화 비교 (xVM & vmware ESX)

성능 측면에서 보면, 현재는 Xen3 기반이 Vmware ESX3보다 평균적으로 약간 떨어지는 것으로 되어 있는데 (XenSource Report : Xen vs. VMware 성능 비교 ) 성능은 CPU 사용과 IO 사용 측면에서 다소 차이가 있습니다.



CPU workload에서는 vmware가 약간 나은 것으로 되어 있는데, 이 부분은 다소 개선의 여지가 있음을 보여주는 것
같구요. 솔라리스 기반의 xVM server가 정식으로 나오면 빠르게 개선되지 않을까 생각합니다. 아직 썬의 xVM 서버는
베타라서 정식 비교는 힘들다고 생각합니다. 특히, 데스크탑은 컨트롤 도메인을 주 웍플레이스로 사용하면서 (X-window)
게스트를 접근하는 것이라 현재 오픈 솔라리스 기반의 버젼은 아직 불필요한 부하가 많다는 생각입니다.



반면 IO Workload를 기반으로 보면 첨부에서 보는데로 Host 방식의 Vmware ESX와 Para 방식의 Xen은 Io 인터페이스시에 극명한 차이가 나도록 되어져 있습니다.



Host 방식은 이론적으로 모든 Guest가 HW 디바이스를 직접 호스팅하는 것으로 보이지만, 실질적으로는 guest
instance에는 VM-aware device를 보여주며, VMM에서 native를 인터페이스 하도록 합니다.

VMM에서는 guest instance가 사용하는 VM-aware device driver들을 switching하면서, native 디바이스와 데이타 연결을 합니다. (첨부 1)



Para 방식은 Para 게스트 도메인의 디바이스 드라이버가 컨트롤 도메인의 네이티브 디바이스 드라이버와 마치 클라이언트-서버
형태의 접속을 사용하기 때문에 스위칭 오버헤드가 없습니다. 물론, 게스트 도메인과 컨트롤 도메인과의 커뮤니케이션 오버헤드가
있겠습니다만 디바이스 드라이버 스위칭 오버헤드보다는 낮은 것으로 평가됩니다.



즉, 진정한 비교가 되려면, Para에서는 Para용 Guest를 올려야 진정한 비교가 된다는 얘기겠죠. 그리고 이런 경우 xVM(Xen)이 vmware보다 우수한 성능이 나오리라 예상이 됩니다.



그리고 IO 작업이 많을 수록 CPU의 Idle time은 증가하기 때문에 현재 있는 vmware의 CPU 잇점은 그렇게 크지 않으리라 생각합니다.