Intel의 가상화 기술(Vanderpool Technology)이란?
게시일: 2006/01/10 | 글쓴이: doa | 13837 번 | 프린트 | 메일


필자가 사용하고 있는 컴퓨터는 2003년 9월 경에 구입한 컴퓨터로 AMD의 바통 2500+이다. 구입한지 만 2년이 지났기때문에 업그레이드를 생각할 수 있지만 사실 계속 업그레이드를 미루고 있다. 필자가 업그레이드를 미루는 이유는 현재 CPU 환경이 너무 빠르게 변하고 있기때문이다.

작년까지만 해도 64 비트 OS로 가려면 아직 멀었다는 얘기가 돌았었다. 물론 영문 XP 64의 경우 이미 SP1까지 출시됐지만 아직까지는 32 비트 컴퓨터가 주류인 것 같다. 그러나 AMD가 64비트를 출시함으로서 속된 말로 뒤통 수를 맞은 인텔은 허겁지겁 64 비트 CPU를 출시했지만 높은 발열 때문에 외면 받았다.

이러한 문제를 해결하기위해 인텔은 또 다시 듀얼 코어를 지원하는 Pentium D를 출시했다. 이번에는 인텔의 빠른 행보에 AMD가 뒤통수를 맞은 셈이지만 한번 뒤통수 때리기에 취미가 붙은 인텔은 이번에서 가상화 기술을 탑재한 펜티엄 4 662(672)을 작년 11월에 출시하고 이번에는 각종 부가 기능으로 무장한 Intel Pentium Extreme Edition을 올 1월에 출시할 예정이다.

얼마전 모 잡지사로부터 이 CPU에대한 테스트를 의뢰받아 잠깐 동안 사용하면서 Vanderpool Technology에대한 자료를 여러개 번역했는데 그 중하나가 오늘 소개하는 Intel의 가상화 기술, Vanderpool Technology란 글이다. Vanerpool Technology에대한 세세한 내용은 없지만 가상화 기술에대한 기본적인 개요를 포함하고 있으므로 한번 쯤 읽어보는 것도 괜찮은 것 같다.

제목: Intel의 가상화 기술, Vanderpool Technology란? 
저자: 元麻布春男
날짜: 2005/03/05

Intel 이 차세대 프로세서에 채용할 예정인 가상화 기술(Virtualization Technology)은 어떠한 사용자에게 어떠한 이익을 가져오는 것인 것일까? 또 왜 Intel은 가상화 기술을 추진하는 것일까? 여기에서는 Vanderpool Technology의 개요와 그 이점에 대해 설명하겠다.

성능과 함께 기술(T)을 추구하는 Intel 2003년 가을에 개최된 Intel의 개발자 회의(Intel Developer Forum 2003 Fall)에서 Intel은 마이크로 프로세서의 개발 방침을 크게 변경한 것을 밝혔다. 지금까지는 무어의 법칙에 근거해서 성능의 향상을 지속적으로 추구해왔지만 성능 이외의 기능성(Intel 식으로 말하면 기술을 나타내는 T)도 프로세서의 가치로서 추구하겠다는 것이었다. 이 것이 단적으로 나타난 것은 90nm 프로세스 이후의 클라이언트 PC용 프로세서에서 사용되고 있는 프로세스 번호이다.

AMD가 전부터 사용하고 있는 프로세서 번호는 클럭 주파수가 아니며 성능 지수였다. 즉 모델 번호에서는 모델 번호가 작은 프로세서가 모델 번호가 큰 프로세서의 성능을 능가할 것은 없다. 그러나 Intel의 프로세서 번호에서는 프로세서 번호가 작은 프로세서가 프로세서 번호가 큰 프로세서를 단순한 성능(예: 클럭)으로 능가할 수 있다. 이 것은 프로세서 번호가 성능 이외의 기능을 포함한 프로세서의 가치에 근거해 상대적으로 결정될 수 있는 것이기 때문이다.

예를 들어 모바일 전용의 프로세서의 경우, 전력 절약 기능의 Intel Enhanced SpeedStep Technology를 채용한 Pentium M은 700번대가 주어지는데 같은 코어에서도 그것을 서포트하지 않는 Celeron M에서는 300번대가 된다, 동작 전압, FSB 클럭, 2차 캐쉬의 용량등 성능에 직접적인 연관이 있는 것과 그렇지 않은 것을 포함, 여러가지 요소가 프로세서 넘버를 결정하는 요인이 되고 있다. 이 때문에 벌써 프로세서 번호와 성능, 각각의 높낮이가 역전하는 예도 드물지 않다. 초저전압(Ultra Low Voltage:ULV)의 Pentium M 713(동작 클럭 1.10 GHz, 1MB의 2차 캐쉬 용량)과 Celeron M 360(동작 클럭 1.40 GHz, 1MB의 2차 캐쉬 용량)등은 그러한 예이다. 현시점에서 프로세서 번호를 채용하지 않는 서버 전용의 프로세서에서는 이러한 예를 볼 수 없지만 이 것은 성능 이외의 기능을 추구 한다라는 Intel 방침의 예외는 아니라고 생각된다.

Intel이 성능 이외의 기능으로서 2003년 가을 IDF로 구체적으로 열거한 것은 Centrino Mobile Technology(CMT), Hyper-Threading Technology(HT), LaGrande Technology(LT), Vanderpool Technology(VT)의 4개의 [T]였다. 그 후 2004년 가을, Analyst Meeting에서는 클럭 속도 이외의 기술 혁신의 예로서 HT, LT, VT에 64 비트 메모리 확장 기술인 EM64T, 듀얼/멀티 코어 기술, 원격지로부터의 관리를 용이하게 하는 Intel Active Management Technology(IAMT)의 6개를 들 수 있게 되었다. 게다가 2005년 3월 1일에는 서버의 네트워크 성능을 향상시키는 기술인 Intel I/O Acceleration Technology(I/OAT)가 더해지는 등 순조롭게 [T]가 추가되고 있다.

서버와 클라이언트 양쪽에 내장되는 Vanderpool Technology 조금 서론이 길어졌지만, 그 [T] 중 Intel이 2003년 가을 IDF로부터 계속 얘기하고 있는 Vanderpool Technology를 이번에 채택한다. Vanderpool Technology는 시스템의 가상화에 관한 기술이다. 당초 클라이언트 전용의 가상화 기술로 Vanderpool Technology가 소개되었고 서버 전용의 가상화 기술로서 Silvervale Technology가 소개되었다. 그러나 양자의 구체적인 스펙이 소개되기 전에 Silvervale Technology라는 개발 코드명이 폐지되어 클라이언트 전용의 가상화 기술과 서버 전용의 가상화 기술을 모두 Vanderpool Technology라고 부르게 되었다. 보다 정확히는 Itanium 프로세서 전용의 가상화 기술인 VT-i(Vanderpool Technology for the Intel Itanium Architecture)와 IA-32 프로세서 전용의 가상화 기술인 VT-x(Vanderpool Technology for IA-32 Processors)를 한 묶음으로해서 Vanderpool Technologies(복수형)라고 부르게 되었다.

원래 서버 전용의 가상화 기술로서 소개된 Silvervale Technology이지만 구성상 Itanium 프로세서와 IA-32에 걸치는 모습이 된다. 아마 IA-32(서버)상의 Silvervale Technology와 IA-32(클라이언트)상의 Vanderpool Technology는 내장되는 프로세서 그룹으로 생각했을 경우 같은 이름을 이용하는 Itanium 프로세서 패밀리상의 Silvervale Technology보다 높은 유사성을 가지고 있었다고 생각할 수 있다. 그러한 의미에서는 현재의 명칭이 사실에 입각해서 있을 수 있을 것이다. 실제 하드웨어를 추상화 하는 펌 웨어 레이어를 완비한 Itanium 프로세서가 프로세서의 가상화에 보다 적절하다고 생각된다.

원래 가상화 기술이란 OS에 대해서 프로세서, 메모리, 네트워크·디바이스, 그래픽스 기능등의 하드웨어 자원을 가상화하는 것이다. 대부분의 OS는 스스로가 컴퓨터의 자원을 독점적으로 점유 하고 있는 것을 전제로 동작하고 있다. 따라서, 자원을 독점점으로 점유 하는 경우 여러 OS를 한대의 컴퓨터상에서 동시에 실행시키는 것은 설치된 OS간의 경합을 부르기 때문에 일반적으로 불가능하다. 가상화 기술은 하드웨어와 OS의 사이에 OS에 대해 가상적인 하드웨어 인터페이스를 제공하는 것으로 한대의 컴퓨터상에서 여러 OS를 동시 실행 가능하게 하는 기술이다. 이 가상적인 하드웨어 인터페이스를 제공하는 소프트웨어를 VMM(Virtual Machine Monitor:가상 머신·모니터)이라고 한다. VMM은 실체가 있는 하드웨어, 자원을 이용하고 VMM상에서 움직이는 OS는 VMM에의해 제공되는 가상의 하드웨어를 이용하는 것으로 생각하면 된다.

가상화 기술의 개념: 가상 머신에 의해서 하드웨어 자원이 가상화 되는 것으로 가상 머신상에서 복수의 게스트 OS를 실행하는 것 가능하게 된다. 이것을 이용하면 여러 서버를 통합하는 것이 가능해 진다.

Vanderpool Technology의 기능과 매력 VMM는 그 자신이 소프트웨어이며 벌써 다양한 분야에서 사용되고 있다. VMware 의 제품이나 Microsoft 가 인수한 Virtual PC 등은 그 한 사례이다. 우선 이해해야 할 것은 IntelVanderpool Technology는 기존의 소프트웨어 솔류션과 경합하는 것이 아니라는 점이다. 즉 Intel은 시장에서 VMware나 Microsoft와 경합 할 생각은 전혀 없다. Vanderpool TechnologyIntel 플랫폼상에서 동작하는 VMM를 강화/향상시키는 것을 목적으로 VMM에서 이용 가능한 확장 명령 세트와 거기에 필요한 아키텍쳐상의 개발(하드웨어, 펌 웨어)을 가리킨다. 따라서 VMM상에서 실행되는 OS가 이용 가능한 가상 하드웨어의 사양은 Vanderpool Technology에 의해 결정되는 것이 아니라 지금까지 VMM를 제공하는 소프트웨어 벤더에 맡겨지게 된다.

현재의 소프트웨어적으로 구현된 VMM은 여러 OS를 전환할 때의 오버헤드(특별한 접근이 필요할 때에 생기는 오버헤드)에 의해 본래의 성능을 발휘할 수 없는 경우가 많다. 또 본래 공유된 하드웨어 자원상에서 동작시키는 것을 전제 개발되지 않은 OS를 가상화된 하드웨어상에서 동작시키기 위한 패치가 필요한 경우도 있다(XenSource 가 개발중의 가상 머신, Xen 은 게스트 OS를 패치할 필요가 있다). OS를 패치한다는 것은 그 자체가 취약성의 요인이 될 수있다. 또 패치가 맞은 OS에는 그렇지 않은 OS 전용으로 제공되는 시큐러티 수정 프로그램을 적용할 수 없는 문제가 있다. Vanderpool Technology는 하드웨어로 VMM의 가속화를 실시하는 것으로 복수 OS를 실행했을 경우의 성능을 개선하는 것과 동시에 패치없이 기존의 OS를 그대로 VMM상에서 그대로 이용할 수 있다.

앞에서 말한 것처럼 Vanderpool TechnologyVT-iVT-x의 2개로 나누어진다. 그러나 가상 머신의 작성이나 종료, 가상 머신에 할당할 수 있는 레지스터 세트의 변환, 일관성을 유지하기 위한 캐쉬 조작등의 명령이 추가되고 있는 점은 두 개 모두 다르지 않다. VMM의 내장하는 경우 어떻게 내장할까는 VMM 벤더의 선택이지만 EFI(Extensible Firmware Interface:BIOS에 대신하는 OS와 하드웨어의 인터페이스) 환경이 정비된 Itanium 프로세서에서는 호스트 OS로부터 VMM를 조작하는 것 뿐만이 아니라 EFI상에서 직접 VMM를 실행하는 형태도 생각할 수 있다. EFI상에서 VMM를 실행하면 특정 OS를 호스트 OS로 해야하는 의존성이 없어지며, Windows Server 2003과 Linux를 거의 대등하게 VMM상에서 동작시키는 것이 가능하게된다(지금까지는 한편을 호스트 OS, 다른 한편을 게스트 OS로 해서 동작시켰다).

반대로 BIOS를 이용하는 클라이언트 환경에서는 Vanderpool Technology에 상응하는 VMM도 호스트 OS로부터 VMM를 기동해 게스트 OS로서 그 다른 OS를 호출하는 스타일이 중심이 된다고 생각된다. 다만 Intel은 IA-32용의 EFI32의 보급을 추진할 계획이며, IA-32상에서도 EFI가 보급되면 저절로 VMM도 거기에 따를 가능성이 많다.

가상 머신을 이용하는 매력 하드웨어(Vanderpool Technology)로 액셀러레이트 된 가상화 인프라를 어떻게 이용할까하는 생각이 들 수 있지만 가장 쉽게 생각할 수 있는 것은 한대의 머신에 복수의 역할을 담당하게 하는 것이다. 예를 들어 Linux상의 데이터베이스 엔진이 동작하는 최종 단계 서버와 Windows Server상의 프론트엔드 서버를 한대의 서버로 동작시킨다고 가정하자. 동일한 OS에서도 어플리케이션 마다 가상 머신으로 나누는 것으로 신뢰성의 향상이나 트러블이 발생했을 경우 문제가 분리되기 때문에 문제 해결에 용이해진다. 보다 적극적으로 페이르오바용으로 여러 OS 사본과 어플리케이션을 기동하는 방법도 있다.

또 가상 머신상에 오래된 OS를 설치해 새로운 OS 환경으로의 전환이 늦은 특정의 어플리케이션을 가상 머신에서 동작 시킬 수 있다.

현재 각각의 프로세서의 성능 향상은 예전만큼 기대하기 어려워 졌다. 예를 들면 양판점의 매장에 줄선 PC에 Intel이나 AMD의 고급 프로세서가 반드시 탑재되어 있는 것은 아니다. 서버라고 해도 스케일 업에 의한 성능 뿐만이 아니라 복수 서버에 의한 클러스터링으로 대표되는 스케일 아웃이 보급되고 있다. 물론 프로세서의 성능이 일정 레벨에 이른 것도 무관하지 않다. 가상화 기술을 지원하는 한대의 서버로 복수의 서버 기능을 갖게함으로서 비용 절감 효과도 기대할 수 있다.


우선 순위를 지정해서 프로그램 실행하기 사실 필자는 현재 실행되는 프로그램의 우선 ... (4897) 2006-01-11
PC에서 사용되는 메모리의 종류 RAM은 SRAM, DRAM, NV-RAM(non-volatile RAM)이라는 비... (8604)2006-01-09

QAOS.com에 게시된지 1년 이상된 자료와 관리자가 공개한 자료는 누구나 제한없이 읽을 수 있습니다.
그러나 QAOS.com의 자료를 퍼가는 것은 금지하고 있습니다.

이 정보가 유용하다고 생각되시면 QAOS.com과 많은 다른 사람들을 위해 퍼가기 보다는 링크로 알려주시기 바랍니다.

세상사는 이야기



RSS 구독 (익명 | 회원 | 강좌 | 포럼)
(C) 1996 ~ 2017 QAOS.com All rights reserved.